According to SD spec 3.00 3.6.1 signal voltage switch procedure, host should wait 5ms after set 1.8V signal enable bit in Host Control 2 register and check if 1.8V is stable or not. On some cards, found without the delay would see "1.8V regulator output did not became stable" err log. Signed-off-by: Zhoujie Wu <zjwu@xxxxxxxxxxx> --- 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 e9290a3..fe5f208 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1933,6 +1933,9 @@ int sdhci_start_signal_voltage_switch(struct mmc_host *mmc, if (host->ops->voltage_switch) host->ops->voltage_switch(host); + /* Wait for 5ms */ + usleep_range(5000, 5500); + /* 1.8V regulator output should be stable within 5 ms */ ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); if (ctrl & SDHCI_CTRL_VDD_180) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html