From: Jaehoon Chung <jh80.chung@samsung.com>
Date: Wed, 21 Oct 2015 10:49:42 +0000 (+0900)
Subject: mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode
X-Git-Tag: firefly_0821_release~176^2~850^2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7cc8d580228cc712edcf7a1856a3bdb38c164e83;p=firefly-linux-kernel-4.4.55.git

mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode

When card is running with DDR mode, dwmmc needs to set DDR_REG bit at
UHS_REG register.
Before this patch, dwmmc controller doesn't consider this.
If this patch is not applied, CRC or other error shoulds be occurred.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 57a9577bc35c..7a6cedbe48a8 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1293,6 +1293,7 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 
 	/* DDR mode set */
 	if (ios->timing == MMC_TIMING_MMC_DDR52 ||
+	    ios->timing == MMC_TIMING_UHS_DDR50 ||
 	    ios->timing == MMC_TIMING_MMC_HS400)
 		regs |= ((0x1 << slot->id) << 16);
 	else