diff options
-rw-r--r-- | ports/stm32/qspi.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ports/stm32/qspi.c b/ports/stm32/qspi.c index 1d3239b0d2..1311c27d1d 100644 --- a/ports/stm32/qspi.c +++ b/ports/stm32/qspi.c @@ -190,6 +190,14 @@ static int qspi_ioctl(void *self_in, uint32_t cmd, uintptr_t arg) { // Switch to memory-map mode when bus is idle qspi_memory_map(); break; + case MP_QSPI_IOCTL_MEMORY_MODIFIED: { + uintptr_t *addr_len = (uintptr_t *)arg; + volatile void *addr = (volatile void *)(QSPI_MAP_ADDR + addr_len[0]); + size_t len = addr_len[1]; + SCB_InvalidateICache_by_Addr(addr, len); + SCB_InvalidateDCache_by_Addr(addr, len); + break; + } } return 0; // success } |