mmc: atmel: Fix clock configuration
authorMarek Vasut <marex@denx.de>
Fri, 23 Oct 2015 18:46:29 +0000 (20:46 +0200)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Sun, 1 Nov 2015 21:02:15 +0000 (22:02 +0100)
After silencing the prints which were generated when reconfiguring the
clock of the SD/MMC bus, surprisingly, the driver stopped working such
that every attempt to use the SD/MMC bus caused the CPU to get totally
stuck hard. It turns out that the prints generated a short delay, which
was necessary for the CPU to reconfigure the clock without getting stuck.
Thus, this patch adds a short delay after the clock configuration instead.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Andreas Bießmann <andreas.devel@googlemail.com>
drivers/mmc/gen_atmel_mci.c

index a67fb501995bf000ca13f4e50d9a907d23df5260..eb12bd041938cfb493eaed2f80cc188074688056 100644 (file)
@@ -113,6 +113,8 @@ static void mci_set_mode(struct mmc *mmc, u32 hz, u32 blklen)
        if (mmc->card_caps & mmc->cfg->host_caps & MMC_MODE_HS)
                writel(MMCI_BIT(HSMODE), &mci->cfg);
 
+       udelay(50);
+
        initialized = 1;
 }