Re: [PATCH] mmc: core: Wait for Vdd to settle on card power off
From: Adrian Hunter
Date: Wed Mar 05 2025 - 13:39:17 EST
On 11/02/25 23:46, Erick Shepherd wrote:
> 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.
mmc_power_off() has a delay. So does mmc_power_cycle()
Why does this need to be in sdhci? Are you experiencing an
issue?
>
> 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);
>