aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2011-03-31 15:05:56 +0200
committerPhilippe Langlais <philippe.langlais@linaro.org>2011-05-03 08:25:18 +0200
commit2eca83dca60cd37996c6bf6323fda2f3dcb93452 (patch)
treecfc7f1a0c37697b4233eb6c7184c669319fb5381 /drivers/mmc
parente5f9aae66332521e50da4123de315908dfe30ca9 (diff)
mmci: force negative edge on clock bypass for ux500
This fixes a regression on high clock speeds with the MMCI on ux500. We need to make sure we derive the passthru clock on the falling edge of the incoming clock if it shall work at high frequencies, and on the ux500's there is a special bit for this. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/mmci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 721c399e1aa..9add9e7a086 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -97,6 +97,8 @@ static void mmci_set_clkreg(struct mmci_host *host, unsigned int desired)
if (desired) {
if (desired >= host->mclk) {
clk = MCI_CLK_BYPASS;
+ if (variant->st_clkdiv)
+ clk |= MCI_ST_UX500_NEG_EDGE;
host->cclk = host->mclk;
} else if (variant->st_clkdiv) {
/*