summaryrefslogtreecommitdiff
path: root/drivers/mmc/host/sdhci.c
diff options
context:
space:
mode:
authorHarald Welte <HaraldWelte@viatech.com>2009-06-18 16:53:38 +0200
committerPierre Ossman <pierre@ossman.eu>2009-06-21 21:00:59 +0200
commit557b06971b1f05cbadec2f376a305ee1954e9b0d (patch)
tree08f0fa936e2483afd3e91fc17277fcc45d5c3469 /drivers/mmc/host/sdhci.c
parentfe9db6cbf16ed64f882999dc0bffef0c65f70c4f (diff)
downloadlwn-557b06971b1f05cbadec2f376a305ee1954e9b0d.tar.gz
lwn-557b06971b1f05cbadec2f376a305ee1954e9b0d.zip
sdhci: Specific quirk vor VIA SDHCI controller in VX855ES
The SDHCI controller found in the VX855ES requires 10ms delay between applying power and applying clock. This issue has been discovered and documented by the OLPC XO1.5 team. Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Pierre Ossman <pierre@ossman.eu>
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
-rw-r--r--drivers/mmc/host/sdhci.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index c7586739be1e..f4066fdc8906 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1057,6 +1057,13 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned short power)
pwr |= SDHCI_POWER_ON;
sdhci_writeb(host, pwr, SDHCI_POWER_CONTROL);
+
+ /*
+ * Some controllers need an extra 10ms delay of 10ms before they
+ * can apply clock after applying power
+ */
+ if ((host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER))
+ mdelay(10);
}
/*****************************************************************************\