Hello,
I am currently working on nRF52840 DK while waiting for my custom board using this chip.
This custom board will include Toshiba external flash of family TC58CYG2S0HxAIx (datasheet here).
I would like to perform operations on this flash using nRF QSPI module. But it seems that the QSPI module is meant to be used with MX25R6435F external flash that is on nRF52840 DK.
First the addressing is different between the two external flash chips and I am not sure we can easily adapt the addressing in nRF QSPI module.
Also I noticed that the operation codes sent from the nRF chip to the external flash for both nrf_drv_qspi_write and nrf_drv_qspi_read is hardcoded somwhere and can be configured at initialization by setting nRF chip registers as you can see in the 2 screenshots below:
Then I thought about using nrf_drv_qspi_cinstr_xfer to complete operations on my Toshiba external flash but this function seems to have some critical constraints:
- It is sychronous so we can't do something else while waiting for the end of the transmission or power manage the CPU, so this function seems not compatible with low power designs.
- We can receive a very limited amount of data (8 bytes) in response to the instruction so if I want to perform a read of a full page it won't be possible using this function.
Is there a way to use nRF QSPI module to address and perform operation on an other external flash than the SoC ?
If not can you suggest me other solutions:
- Other reference for a QSPI compatible external flash with the same storage capacity than Toshiba
- Use an other nRF module
- Anything else...
Thanks a lot
Kind regards
Bilal