This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

S25FL QSPI with NRF52840

I believe I'm following both the Cypress data sheet properly. Yet I'm still having an issue getting the simple QSPI Peripheral example to show data consistency.

Can it be confirmed that "nrf_drv_qspi_write" sends a WREN command before? This is the only thing I can think of..

Here's my modification -- Of note is the part does not need reset enable, it does require a 2 byte write to put the part in Quad IO mode.

 

static void configure_memory()
{
    uint8_t temporary[2] = {0x00,0x02};
    uint32_t err_code;
    nrf_qspi_cinstr_conf_t cinstr_cfg = {
        .opcode    = QSPI_STD_CMD_RST,
        .length    = NRF_QSPI_CINSTR_LEN_1B,
        .io2_level = true,
        .io3_level = true,
        .wipwait   = true,
        .wren      = true
    };

//    // Send reset
    err_code = nrf_drv_qspi_cinstr_xfer(&cinstr_cfg, NULL, NULL);
    APP_ERROR_CHECK(err_code);

    // Switch to qspi mode
    cinstr_cfg.opcode = QSPI_STD_CMD_WRSR;
    cinstr_cfg.length = NRF_QSPI_CINSTR_LEN_3B;
    err_code = nrf_drv_qspi_cinstr_xfer(&cinstr_cfg, &temporary, NULL);
    APP_ERROR_CHECK(err_code);


}

Parents Reply Children
No Data
Related