This patch allows correct version detection for newer eMMC devices
following the 5.1B version of the standard. This new version of the
standard introduces CSD revision 9, and a new decoding rule of the MDT
field in CID register.

Signed-off-by: Gregory Baudet <[email protected]>
Cc: Peng Fang <[email protected]>
Cc: Jaehoon Chung <[email protected]>
---
 drivers/mmc/mmc.c | 3 ++-
 include/mmc.h     | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 7dadff27abe..d9e6860bc74 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -2343,7 +2343,8 @@ static int mmc_startup_v4(struct mmc *mmc)
                MMC_VERSION_4_41,
                MMC_VERSION_4_5,
                MMC_VERSION_5_0,
-               MMC_VERSION_5_1
+               MMC_VERSION_5_1,
+               MMC_VERSION_5_1B
        };
 
 #if CONFIG_IS_ENABLED(MMC_TINY)
diff --git a/include/mmc.h b/include/mmc.h
index 51d3f2f8dd5..47b0f11877d 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -54,6 +54,7 @@ struct bd_info;
 #define MMC_VERSION_4_5                MAKE_MMC_VERSION(4, 5, 0)
 #define MMC_VERSION_5_0                MAKE_MMC_VERSION(5, 0, 0)
 #define MMC_VERSION_5_1                MAKE_MMC_VERSION(5, 1, 0)
+#define MMC_VERSION_5_1B       MAKE_MMC_VERSION(5, 1, 1)
 
 #define MMC_CAP(mode)          (1 << mode)
 #define MMC_MODE_HS            (MMC_CAP(MMC_HS) | MMC_CAP(SD_HS))
-- 
2.51.0

Reply via email to