This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

QSPI async read write

Hi,

We are using a custom board based on nRF 52840, trying to transfer data to external QSPI  flash(GD2QC).

Flash  was successfully initialized and exchanged chunks of data. Our use case is mostly  async read and write based on ble data.

But after some time qspi stops responding  with NRF_BUSY after initialization. After referring sdk 15.2 interrupt clear issue, we cherry picked qspi driver files from sdk ver 17.2, but issue still exists.

Once initialized we are not calling nrf_drv_qspi_uninit() since we . Also MCU power management is off.

Here is our qspi config

{                                                                       \
    .xip_offset  = 0,                         \
    .pins = {                                                           \
       .sck_pin     = 19,                                \
       .csn_pin     = 20,                                \
       .io0_pin     = 17,                                \
       .io1_pin     = 22,                                \
       .io2_pin     = 23,                                \
       .io3_pin     = 21,                                \
    },                                                                  \
    .prot_if = {                                                        \
        .readoc     = (nrf_qspi_readoc_t)0,       \
        .writeoc    = (nrf_qspi_writeoc_t)0,     \
        .addrmode   = (nrf_qspi_addrmode_t)0,   \
        .dpmconfig  = 0,                                            \
    },                                                                  \
    .phy_if = {                                                         \
        .sck_delay  = (uint8_t)1,              \
        .dpmen      = 0,                                            \
        .spi_mode   = (nrf_qspi_spi_mode_t)0,       \
        .sck_freq   = (nrf_qspi_frequency_t)15, \
    },                                                                  \
    .irq_priority   = (uint8_t)6,           \
}

Thanks,

Manoj

Related