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 a290031..65d8b3a 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 {