From: Andrew Gabbasov Date: Mon, 1 Dec 2014 12:59:10 +0000 (-0600) Subject: mmc: Fix Dual Data Rate capability recognition X-Git-Tag: v2015.01-rc4~26^2~2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=201d5ac4388d66bf7a78e71c32939b3fc5779207;p=oweals%2Fu-boot.git mmc: Fix Dual Data Rate capability recognition Since the driver doesn't work in 1.2V or 1.8V signaling level modes, Dual Data Rate mode can be supported by the driver only if it is supported by the card in regular 3.3V mode. So, check for a particular single bit in card type field. Signed-off-by: Andrew Gabbasov --- diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index a290031d17..65d8b3a87a 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -519,7 +519,7 @@ static int mmc_change_freq(struct mmc *mmc) /* High Speed is set, there are two types: 52MHz and 26MHz */ if (cardtype & EXT_CSD_CARD_TYPE_52) { - if (cardtype & EXT_CSD_CARD_TYPE_DDR_52) + if (cardtype & EXT_CSD_CARD_TYPE_DDR_1_8V) mmc->card_caps |= MMC_MODE_DDR_52MHz; mmc->card_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS; } else {