Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mmc: core: mmc DDR mode should not depend on UHS_DDR50

The MMC_CAP_UHS_DDR50 must work on 1.8v.
However, the eMMC DDR mode can work on either 1.8v or 3.3v and
should not depend on UHS_DDR50.
So get rid of this limitation to let controller without 1.8v
signal voltage support can also work for eMMC DDR mode if it claims.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>

authored by

Dong Aisheng and committed by
Chris Ball
83cc16d7 e2997c94

+2 -6
+2 -6
drivers/mmc/core/mmc.c
··· 1119 1119 */ 1120 1120 if (mmc_card_highspeed(card)) { 1121 1121 if ((card->ext_csd.card_type & EXT_CSD_CARD_TYPE_DDR_1_8V) 1122 - && ((host->caps & (MMC_CAP_1_8V_DDR | 1123 - MMC_CAP_UHS_DDR50)) 1124 - == (MMC_CAP_1_8V_DDR | MMC_CAP_UHS_DDR50))) 1122 + && (host->caps & MMC_CAP_1_8V_DDR)) 1125 1123 ddr = MMC_1_8V_DDR_MODE; 1126 1124 else if ((card->ext_csd.card_type & EXT_CSD_CARD_TYPE_DDR_1_2V) 1127 - && ((host->caps & (MMC_CAP_1_2V_DDR | 1128 - MMC_CAP_UHS_DDR50)) 1129 - == (MMC_CAP_1_2V_DDR | MMC_CAP_UHS_DDR50))) 1125 + && (host->caps & MMC_CAP_1_2V_DDR)) 1130 1126 ddr = MMC_1_2V_DDR_MODE; 1131 1127 } 1132 1128