[PATCH] mmc: core: Wait for Vdd to settle on card power off
From: Erick Shepherd
Date: Tue Feb 11 2025 - 16:46:48 EST
The SD spec version 6.0 section 6.4.1.5 requires that Vdd must be
lowered to less than 0.5V for a minimum of 1 ms when powering off a
card. Increase our wait to 15 ms so that voltage has time to drain down
to 0.5V.
Signed-off-by: Kyle Roeschley <kyle.roeschley@xxxxxx>
Signed-off-by: Brad Mouring <brad.mouring@xxxxxx>
Signed-off-by: Erick Shepherd <erick.shepherd@xxxxxx>
---
drivers/mmc/host/sdhci.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index f4a7733a8ad2..b15a1f107549 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2415,6 +2415,9 @@ void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
else
sdhci_set_power(host, ios->power_mode, ios->vdd);
+ if (ios->power_mode == MMC_POWER_OFF)
+ mdelay(15);
+
if (host->ops->platform_send_init_74_clocks)
host->ops->platform_send_init_74_clocks(host, ios->power_mode);
--
2.43.0