[PATCH] mmc: dts: am654: Add 650ms power off delay for proper MMC power cycle

Judith Mendez jm at ti.com
Tue Sep 8 10:06:35 PDT 2026


The AM65x EVM MMC1 VDD rail discharges slowly through RC circuit.
SD spec (section 6.4.1.3) requires VDD < 0.5V for minimum 1ms during
power cycle. Measured discharge time on this board is ~632.97ms to
reach < 0.5V threshold.

During boot, MMC power cycles between boot stages. Without power off
delay, VDD doesn't fully discharge. Card retains 1.8V signaling state
from previous stages. When U-Boot initializes, card no longer asserts
S18A in ACMD41 response (already switched to 1.8V). Host misinterprets
card state and forces 1.8V anyway, falling into a bad state and causing
a boot failure.

Add power-off-delay-us = 650000 (650ms) to ensure proper VDD discharge
during power cycles, allowing card to fully reset state between boot
stages.

Signed-off-by: Judith Mendez <jm at ti.com>
---
 arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
index ca1300e130936..edcf039ccfbd0 100644
--- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
@@ -460,6 +460,7 @@ &sdhci0 {
 &sdhci1 {
 	status = "okay";
 	vmmc-supply = <&vdd_mmc1_sd>;
+	power-off-delay-us = <650000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_mmc1_pins_default>;
 	ti,driver-strength-ohm = <50>;
-- 
2.34.1




More information about the linux-arm-kernel mailing list