|
@@ -969,8 +969,10 @@ static void mmc_omap_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
|
mmc_omap_power(host, 0);
|
|
|
break;
|
|
|
case MMC_POWER_UP:
|
|
|
- case MMC_POWER_ON:
|
|
|
+ /* Cannot touch dsor yet, just power up MMC */
|
|
|
mmc_omap_power(host, 1);
|
|
|
+ return;
|
|
|
+ case MMC_POWER_ON:
|
|
|
dsor |= 1 << 11;
|
|
|
break;
|
|
|
}
|
|
@@ -986,7 +988,7 @@ static void mmc_omap_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
|
* Writing to the CON register twice seems to do the trick. */
|
|
|
for (i = 0; i < 2; i++)
|
|
|
OMAP_MMC_WRITE(host, CON, dsor);
|
|
|
- if (ios->power_mode == MMC_POWER_UP) {
|
|
|
+ if (ios->power_mode == MMC_POWER_ON) {
|
|
|
/* Send clock cycles, poll completion */
|
|
|
OMAP_MMC_WRITE(host, IE, 0);
|
|
|
OMAP_MMC_WRITE(host, STAT, 0xffff);
|