]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00174310 [MX6Q]USDHC: DDR50 mode for SD3.0 is not supported yet
authorRyan QIAN <b32804@freescale.com>
Mon, 13 Feb 2012 05:57:44 +0000 (13:57 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:00 +0000 (08:34 +0200)
- change UHS-I mode selection to try SDR50 first, then DDR50.

Signed-off-by: Ryan QIAN <b32804@freescale.com>
drivers/mmc/core/sd.c

index b7d8e369b215fb62f847fd3e5013925df59705a2..52b3171746a541370da46196b2a6ef5e2619a5e9 100644 (file)
@@ -477,17 +477,17 @@ static int sd_set_bus_speed_mode(struct mmc_card *card, u8 *status)
                        bus_speed = UHS_SDR104_BUS_SPEED;
                        timing = MMC_TIMING_UHS_SDR104;
                        card->sw_caps.uhs_max_dtr = UHS_SDR104_MAX_DTR;
-       } else if ((card->host->caps & MMC_CAP_UHS_DDR50) &&
-                  (card->sw_caps.sd3_bus_mode & SD_MODE_UHS_DDR50)) {
-                       bus_speed = UHS_DDR50_BUS_SPEED;
-                       timing = MMC_TIMING_UHS_DDR50;
-                       card->sw_caps.uhs_max_dtr = UHS_DDR50_MAX_DTR;
        } else if ((card->host->caps & (MMC_CAP_UHS_SDR104 |
                    MMC_CAP_UHS_SDR50)) && (card->sw_caps.sd3_bus_mode &
                    SD_MODE_UHS_SDR50)) {
                        bus_speed = UHS_SDR50_BUS_SPEED;
                        timing = MMC_TIMING_UHS_SDR50;
                        card->sw_caps.uhs_max_dtr = UHS_SDR50_MAX_DTR;
+       } else if ((card->host->caps & MMC_CAP_UHS_DDR50) &&
+                  (card->sw_caps.sd3_bus_mode & SD_MODE_UHS_DDR50)) {
+                       bus_speed = UHS_DDR50_BUS_SPEED;
+                       timing = MMC_TIMING_UHS_DDR50;
+                       card->sw_caps.uhs_max_dtr = UHS_DDR50_MAX_DTR;
        } else if ((card->host->caps & (MMC_CAP_UHS_SDR104 |
                    MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR25)) &&
                   (card->sw_caps.sd3_bus_mode & SD_MODE_UHS_SDR25)) {