diff options
| -rw-r--r-- | embassy-nrf/src/qspi.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/embassy-nrf/src/qspi.rs b/embassy-nrf/src/qspi.rs index 6cabe1168..882db9d8b 100644 --- a/embassy-nrf/src/qspi.rs +++ b/embassy-nrf/src/qspi.rs | |||
| @@ -255,6 +255,11 @@ impl<'d, T: Instance> Drop for Qspi<'d, T> { | |||
| 255 | // Unfortunately we must spin. There's no way to do this interrupt-driven. | 255 | // Unfortunately we must spin. There's no way to do this interrupt-driven. |
| 256 | // The READY event does NOT fire on DPM enter (but it does fire on DPM exit :shrug:) | 256 | // The READY event does NOT fire on DPM enter (but it does fire on DPM exit :shrug:) |
| 257 | while r.status.read().dpm().is_disabled() {} | 257 | while r.status.read().dpm().is_disabled() {} |
| 258 | |||
| 259 | // Wait MORE for DPM enter. | ||
| 260 | // I have absolutely no idea why, but the wait above is not enough :'( | ||
| 261 | // Tested with mx25r64 in nrf52840-dk, and with mx25r16 in custom board | ||
| 262 | cortex_m::asm::delay(4096); | ||
| 258 | } | 263 | } |
| 259 | 264 | ||
| 260 | // it seems events_ready is not generated in response to deactivate. nrfx doesn't wait for it. | 265 | // it seems events_ready is not generated in response to deactivate. nrfx doesn't wait for it. |
