From a74ee4c04fa62810976ba73fdaf492fd080f4199 Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Wed, 21 Jan 2026 13:54:30 +0000 Subject: [PATCH] sdm32h7: enable sdmmc hardware flow control Hardware flow control prevents FIFO underruns/overruns by stopping the bus clock if one would occur. This can slow down transfers, but that's better than having data transfer fail due to AXI/AHB bus contention. Change-Id: I8696d3aff78c17dbbe85907160fa37fd4ee11e85 --- firmware/target/arm/stm32/sdmmc-stm32h7.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/target/arm/stm32/sdmmc-stm32h7.c b/firmware/target/arm/stm32/sdmmc-stm32h7.c index 0bb0c323f9..8ec64a7d1d 100644 --- a/firmware/target/arm/stm32/sdmmc-stm32h7.c +++ b/firmware/target/arm/stm32/sdmmc-stm32h7.c @@ -121,7 +121,7 @@ void stm32h7_sdmmc_set_power_enabled(void *controller, bool enabled) udelay(200); /* Automatically stop clock when bus is not in use */ - reg_writelf(ctl->regs, SDMMC_CLKCR, PWRSAV(1)); + reg_writelf(ctl->regs, SDMMC_CLKCR, PWRSAV(1), HWFC_EN(1)); } else {