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);
}