mmc: dw_mmc: Clear the DDR mode for non-DDR

UHS_REG should be cleared for non-DDR mode. But currently there is
no way to clear DDR mode, if it is already set once. This patch adds
clearing DDR mode for non-DDR mode.

Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Acked-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
Seungwon Jeon 2012-01-02 16:00:02 +09:00 committed by Chris Ball
parent dd8df17fe8
commit 3f514291df

View file

@ -707,12 +707,15 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
break; break;
} }
regs = mci_readl(slot->host, UHS_REG);
/* DDR mode set */ /* DDR mode set */
if (ios->timing == MMC_TIMING_UHS_DDR50) { if (ios->timing == MMC_TIMING_UHS_DDR50)
regs = mci_readl(slot->host, UHS_REG);
regs |= (0x1 << slot->id) << 16; regs |= (0x1 << slot->id) << 16;
mci_writel(slot->host, UHS_REG, regs); else
} regs &= ~(0x1 << slot->id) << 16;
mci_writel(slot->host, UHS_REG, regs);
if (ios->clock) { if (ios->clock) {
/* /*