lkml.org 
[lkml]   [2006]   [May]   [4]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateThu, 4 May 2006 00:26:30 -0700
FromTony Lindgren <>
SubjectMMC: 2/2 Fix MMC_POWER_UP on some OMAP boards
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 <tony@atomide.com>

--- 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);
\
 
 \ /
  Last update: 2006-05-04 09:29    [from the cache]
©2003-2008