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

Nishanth Menon nm at ti.com
Tue Sep 8 10:16:13 PDT 2026


On 12:06-20260908, Judith Mendez wrote:
> 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>

Fixes ?

> ---
>  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
> 

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource



More information about the linux-arm-kernel mailing list