|
@@ -821,11 +821,17 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
|
/* Power up slot */
|
|
|
if (slot->host->pdata->setpower)
|
|
|
slot->host->pdata->setpower(slot->id, mmc->ocr_avail);
|
|
|
+ regs = mci_readl(slot->host, PWREN);
|
|
|
+ regs |= (1 << slot->id);
|
|
|
+ mci_writel(slot->host, PWREN, regs);
|
|
|
break;
|
|
|
case MMC_POWER_OFF:
|
|
|
/* Power down slot */
|
|
|
if (slot->host->pdata->setpower)
|
|
|
slot->host->pdata->setpower(slot->id, 0);
|
|
|
+ regs = mci_readl(slot->host, PWREN);
|
|
|
+ regs &= ~(1 << slot->id);
|
|
|
+ mci_writel(slot->host, PWREN, regs);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|