MMC spec says that we must not enable clock prior to the power
stabilizing. But at least omap16xx needs clock divisor configured
during MMC_POWER_UP.
Signed-off-by: Tony Lindgren <[email protected]>
--- a/drivers/mmc/omap.c
+++ b/drivers/mmc/omap.c
@@ -899,9 +899,16 @@ static void mmc_omap_set_ios(struct mmc_
int dsor;
int realclock, i;
- realclock = ios->clock;
+ /* According to the MMC spec we must not enable clock prior to
+ * power stabilizing. But at least omap16xx needs clock dsor
+ * configured during MMC_POWER_UP.
+ */
+ if ((ios->power_mode == MMC_POWER_UP) && (ios->clock == 0))
+ realclock = mmc->f_min;
+ else
+ realclock = ios->clock;
- if (ios->clock == 0)
+ if (realclock == 0)
dsor = 0;
else {
int func_clk_rate = clk_get_rate(host->fclk);
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]