mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
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:
parent
dd8df17fe8
commit
3f514291df
1 changed files with 7 additions and 4 deletions
|
@ -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) {
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue