summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--ports/stm32/qspi.c8
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
}