read/write external flash(GD25Q16E) fail with QSPI

Hi Nordic,

I am working with nRF52840, sdk17.1.0 and got a pcb with external flash with GD25Q16E.

Pins usage are:  SCLK: P0.25,  CS:P1.00,  SIO0:P0.21,   SIO1:P0.15,  SIO2:P0.22, SIO3:P0.19

First I have modified the pins and used the example on sdk\examples\peripheral\qspi\ to run on pcb.

    .pins = {                        \
       .sck_pin     = 25,            \
       .csn_pin     = 32,            \
       .io0_pin     = 21,            \
       .io1_pin     = 15,            \
       .io2_pin     = 22,            \
       .io3_pin     = 19,            \
    }, 

After running the code, I got "Data inconsistent". The result is fail, all read data is 0x88.

Then. I compared commands between GD25Q16E and MX25R6435F, most commands are the same but switching to qspi mode.

So I removed the "switching to qspi mode" code, run again. The result is still fail, all read data is changed to 0xFF.

#if 0
    // Switch to qspi mode
    cinstr_cfg.opcode = QSPI_STD_CMD_WRSR;
    cinstr_cfg.length = NRF_QSPI_CINSTR_LEN_2B;
    err_code = nrf_drv_qspi_cinstr_xfer(&cinstr_cfg, &temporary, NULL);
    APP_ERROR_CHECK(err_code);
#endif

My questions are:

1. What will cause the all data is 0xFF? Is it possible writing also fail?

2. Does need resister/capacitance/... on the qspi pins  or  just connected directly ?

3. Do you have worked on GD25Q16E? Could give me a guide?

Best Regards,

Gavin

Related