mmc: Fix Dual Data Rate capability recognition
authorAndrew Gabbasov <andrew_gabbasov@mentor.com>
Mon, 1 Dec 2014 12:59:10 +0000 (06:59 -0600)
committerPantelis Antoniou <pantelis.antoniou@konsulko.com>
Fri, 12 Dec 2014 19:08:21 +0000 (21:08 +0200)
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 <andrew_gabbasov@mentor.com>
drivers/mmc/mmc.c

index a290031d171c528e04a5ae7d2e1561ede5ec5450..65d8b3a87ac1c11e6fe52290dc89b3fa85f949c1 100644 (file)
@@ -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 {