nrf_qspi_nor: Inconsistent state of HOLD and WP for QSPI command execution causes hang on startup for some flash chips (in zephyr)

Hi,

I have a QSPI flash device with a weird bug (I think). Basically, when the RDSR command is executed, the HOLD pin needs to be held high otherwise the flash chip status register is read as 0xFF, and this indicates that the device is busy, causing it to hang forever on startup in zephyr.

In the zephyr QSPI driver, the HOLD and WP pins are always held high but in the nrfx library, they are always held low when not being used. When I patch the nrfx library to always default to having the pins high like zephyr, the flash chip starts working fine.

I have posted more details here: https://github.com/zephyrproject-rtos/zephyr/issues/46285

I am posting this on the devzone as well because this could possibly be considered an issue with nrfx and not zephyr.

Thanks,

Jeremy

Parents Reply Children
No Data
Related