32 Bit address mode for QSPI communication

Hi,

I was previously working with W25Q32JVSSIQ, a 32MBit memory device communicating with nrf5340 chip. The QSPI driver was initialized using NRFX_QSPI_DEFAULT_CONFIG() command which uses a 24Bit addressing by default and the communication worked fine and I could read/write data from the flash chip. Recently we have ported from this memory chip to  W25Q01JV which is a 1GBit memory chip. As long as I use  NRFX_QSPI_DEFAULT_CONFIG(), I am able to communicate with the memory chip, but since I need to access all the memory addresses, I need to turn on 32Bit addressing mode. I have tried changing the addressing mode to 32Bit by changing it during the configuration to NRF_QSPI_ADDRMODE_32BIT, and also tried using  nrfx_qspi_cinstr_xfer() function to set the addressing mode to 32Bit addressing mode by sending instruction 0xB7 as recommended in the datasheet. But the moment I change from 24 bit to 32Bit addressing mode, I read only 0s from all the memory addresses although the read and write functions return NRFX_SUCCESS. For confirmation, I am writing data into memory addresses supporting 24bit address, using 24 bit addressing mode, and then read data using the 24 bit addressing mode and I am able to read exactly what I would expect. But the moment, I change the addressing mode to 32Bit addressing mode and reinitialize QSPI or reprogram the device with 32 bit addressing mode, all I read are zeros. Could you please help me solve this issue?

Thanks,

Tejaswi  

  

Related