summaryrefslogtreecommitdiffstatshomepage
path: root/py/nativeglue.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-09-12 16:55:46 +1000
committerDamien George <damien.p.george@gmail.com>2018-09-12 17:02:17 +1000
commit9fb1f18cf450216e30d28ccd246a596555b09f87 (patch)
tree89b8a73ed6716d7f5248da30e3c219b21bf498b9 /py/nativeglue.c
parente6a6ded74ec135a77e91aa87f2939e60c371d7f4 (diff)
downloadmicropython-9fb1f18cf450216e30d28ccd246a596555b09f87.tar.gz
micropython-9fb1f18cf450216e30d28ccd246a596555b09f87.zip
stm32/sdcard: Fully reset SDMMC periph before calling HAL DMA functions.
The HAL DMA functions enable SDMMC interrupts before fully resetting the peripheral, and this can lead to a DTIMEOUT IRQ during the initialisation of the DMA transfer, which then clears out the DMA state and leads to the read/write not working at all. The DTIMEOUT is there from previous SDMMC DMA transfers, even those that succeeded, and is of duration ~180 seconds, which is 0xffffffff / 24MHz (default DTIMER value, and clock of peripheral). To work around this issue, fully reset the SDMMC peripheral before calling the HAL SD DMA functions. Fixes issue #4110.
Diffstat (limited to 'py/nativeglue.c')
0 files changed, 0 insertions, 0 deletions