diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 72b725462e7d90dadedd728daa0f0ea99af2f29a..f65a7b005a2c9db349beceae42b64bdb827420b7 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -784,6 +784,8 @@ retry_scr: break; case 2: mmc->version = SD_VERSION_2; + if ((mmc->scr[0] >> 15) & 0x1) + mmc->version = SD_VERSION_3; break; default: mmc->version = SD_VERSION_1_0; diff --git a/include/mmc.h b/include/mmc.h index d5b3a9ea383af16169ba417eb43b7f661ab0847a..f0d4820627384c3b2838e0375a2014b472b265d4 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -30,6 +30,7 @@ #include <linux/compiler.h> #define SD_VERSION_SD 0x20000 +#define SD_VERSION_3 (SD_VERSION_SD | 0x300) #define SD_VERSION_2 (SD_VERSION_SD | 0x200) #define SD_VERSION_1_0 (SD_VERSION_SD | 0x100) #define SD_VERSION_1_10 (SD_VERSION_SD | 0x10a)