mmc: support the revision check for eMMC4.5
PATCH 1/1 mmc: support the revision check for eMMC4.5
eMMC card is introduced the eMMC4.5.
But now eMMC card is checked up to eMMC4.0. This patch is supported until eMMC4.5
--- common/cmd_mmc.c | 5 ++++- drivers/mmc/mmc.c | 25 +++++++++++++++++++++++++ include/mmc.h | 8 ++++++++ 3 files changed, 37 insertions(+), 1 deletions(-)
common/cmd_mmc.c +4 -1
@@ -106,7 +106,10 @@ static void print_mmcinfo(struct mmc *mmc)printf ("Rd Block Len: %d\n" , mmc->read_bl_len);printf ("%s version %d.%d\n" ,IS_SD (mmc) ?"SD" :"MMC" , - (mmc->version >>4 ) &0xf , mmc->version &0xf ); + (mmc->version >>4 ) &0xf , + (mmc->version &0xf ) ==EXT_CSD_REV_1_5 ? +41 :((mmc->version &0xf ) >EXT_CSD_REV_1_5 ? + (mmc->version &0xf ) -1 : (mmc->version &0xf )));printf ("High Capacity: %s\n" , mmc->high_capacity ?"Yes" :"No" );puts ("Capacity: " );
drivers/mmc/mmc.c +25 -0
@@ -651,6 +651,31 @@ int mmc_change_freq(struct mmc *mmc)if (err)return err; +switch (ext_csd[EXT_CSD_REV ]) { +case EXT_CSD_REV_1_0 : + mmc->version |=EXT_CSD_REV_1_0 ; +break ; +case EXT_CSD_REV_1_1 : + mmc->version |=EXT_CSD_REV_1_1 ; +break ; +case EXT_CSD_REV_1_2 : + mmc->version |=EXT_CSD_REV_1_2 ; +break ; +case EXT_CSD_REV_1_3 : + mmc->version |=EXT_CSD_REV_1_3 ; +break ; +case EXT_CSD_REV_1_5 : + mmc->version |=EXT_CSD_REV_1_5 ; +break ; +case EXT_CSD_REV_1_6 : + mmc->version |=EXT_CSD_REV_1_6 ; +break ; +case EXT_CSD_REV_1_4 : +default : +printf ("Unknown revision - %x\n" , ext_csd[EXT_CSD_REV ]); +return 0 ; + } +/* No high-speed support */ if (!ext_csd[EXT_CSD_HS_TIMING ])return 0 ;
include/mmc.h +8 -0
@@ -157,6 +157,14 @@#define EXT_CSD_SEC_CNT 212/* RO, 4 bytes */ #define EXT_CSD_HC_ERASE_GRP_SIZE 224/* RO */ +#define EXT_CSD_REV_1_0 0 +#define EXT_CSD_REV_1_1 1 +#define EXT_CSD_REV_1_2 2 +#define EXT_CSD_REV_1_3 3 +#define EXT_CSD_REV_1_4 4 +#define EXT_CSD_REV_1_5 5 +#define EXT_CSD_REV_1_6 6 +/* * EXT_CSD field definitions */
Signature · 1 line
1.7.4.1
PATCH 1/1 mmc: support the revision check for eMMC4.5
Hi,
Anybody think about this patch?
mmcinfo is produce correctly?
if i miss something, let me know, plz.
Best Regards,
Jaehoon Chung
2012/3/27 Jaehoon Chung <[email protected]>:
Quoted 89 lines
eMMC card is introduced the eMMC4.5.
But now eMMC card is checked up to eMMC4.0. This patch is supported until eMMC4.5Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>---
?common/cmd_mmc.c ?| ? ?5 ++++- ?drivers/mmc/mmc.c | ? 25 +++++++++++++++++++++++++ ?include/mmc.h ? ? | ? ?8 ++++++++?3 files changed, 37 insertions(+), 1 deletions(-)
common/cmd_mmc.c +4
-1@@ -106,7 +106,10 @@ static void print_mmcinfo(struct mmc *mmc) ? ? ? ?printf("Rd Block Len: %d\n", mmc->read_bl_len); ? ? ? ?printf("%s version %d.%d\n", IS_SD(mmc) ? "SD" : "MMC", - ? ? ? ? ? ? ? ? ? ? ? (mmc->version >> 4) & 0xf, mmc->version & 0xf); + ? ? ? ? ? ? ? ? ? ? ? (mmc->version >> 4) & 0xf, + ? ? ? ? ? ? ? ? ? ? ? (mmc->version & 0xf) == EXT_CSD_REV_1_5 ? + ? ? ? ? ? ? ? ? ? ? ? 41 :((mmc->version & 0xf) > EXT_CSD_REV_1_5 ? + ? ? ? ? ? ? ? ? ? ? ? (mmc->version & 0xf) - 1 : (mmc->version & 0xf))); ? ? ? ?printf("High Capacity: %s\n", mmc->high_capacity ? "Yes" : "No"); ? ? ? ?puts("Capacity: ");drivers/mmc/mmc.c +25
-0@@ -651,6 +651,31 @@ int mmc_change_freq(struct mmc *mmc) ? ? ? ?if (err) ? ? ? ? ? ? ? ?return err; + ? ? ? switch (ext_csd[EXT_CSD_REV]) { + ? ? ? case EXT_CSD_REV_1_0: + ? ? ? ? ? ? ? mmc->version |= EXT_CSD_REV_1_0; + ? ? ? ? ? ? ? break; + ? ? ? case EXT_CSD_REV_1_1: + ? ? ? ? ? ? ? mmc->version |= EXT_CSD_REV_1_1; + ? ? ? ? ? ? ? break; + ? ? ? case EXT_CSD_REV_1_2: + ? ? ? ? ? ? ? mmc->version |= EXT_CSD_REV_1_2; + ? ? ? ? ? ? ? break; + ? ? ? case EXT_CSD_REV_1_3: + ? ? ? ? ? ? ? mmc->version |= EXT_CSD_REV_1_3; + ? ? ? ? ? ? ? break; + ? ? ? case EXT_CSD_REV_1_5: + ? ? ? ? ? ? ? mmc->version |= EXT_CSD_REV_1_5; + ? ? ? ? ? ? ? break; + ? ? ? case EXT_CSD_REV_1_6: + ? ? ? ? ? ? ? mmc->version |= EXT_CSD_REV_1_6; + ? ? ? ? ? ? ? break; + ? ? ? case EXT_CSD_REV_1_4: + ? ? ? default: + ? ? ? ? ? ? ? printf("Unknown revision - %x\n", ext_csd[EXT_CSD_REV]); + ? ? ? ? ? ? ? return 0; + ? ? ? } +? ? ? ?/* No high-speed support */
? ? ? ?if (!ext_csd[EXT_CSD_HS_TIMING])
? ? ? ? ? ? ? ?return 0;include/mmc.h +0
-0@@ -157,6 +157,14 @@?#define
EXT_CSD_SEC_CNT? ? ? ? ? ? ? ? ? ? ? ?212 ? ? /* RO, 4 bytes */ ?#defineEXT_CSD_HC_ERASE_GRP_SIZE? ? ?224 ? ? /* RO */include/mmc.h +8
-0+#define EXT_CSD_REV_1_0 ? ? ? ? ? ? ? ? ? ? ? ?0 +#define EXT_CSD_REV_1_1 ? ? ? ? ? ? ? ? ? ? ? ?1 +#define EXT_CSD_REV_1_2 ? ? ? ? ? ? ? ? ? ? ? ?2 +#define EXT_CSD_REV_1_3 ? ? ? ? ? ? ? ? ? ? ? ?3 +#define EXT_CSD_REV_1_4 ? ? ? ? ? ? ? ? ? ? ? ?4 +#define EXT_CSD_REV_1_5 ? ? ? ? ? ? ? ? ? ? ? ?5 +#define EXT_CSD_REV_1_6 ? ? ? ? ? ? ? ? ? ? ? ?6 +?/*
?*EXT_CSDfield definitions
?*/
--
1.7.4.1
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
PATCH 1/1 mmc: support the revision check for eMMC4.5
Dear Jae hoon Chung,
Quoted 6 lines
Hi,
Anybody think about this patch?
mmcinfo is produce correctly?if i miss something, let me know, plz.
Andy?
Quoted 99 lines
Best Regards,
Jaehoon Chung2012/3/27 Jaehoon Chung <[email protected]>:
Quoted 85 lines
eMMC card is introduced the eMMC4.5.
But now eMMC card is checked up to eMMC4.0. This patch is supported until eMMC4.5Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>--- common/cmd_mmc.c | 5 ++++- drivers/mmc/mmc.c | 25 +++++++++++++++++++++++++ include/mmc.h | 8 ++++++++ 3 files changed, 37 insertions(+), 1 deletions(-)common/cmd_mmc.c +4
-1@@ -106,7 +106,10 @@ static void print_mmcinfo(struct mmc *mmc)printf ("Rd Block Len: %d\n" , mmc->read_bl_len);printf ("%s version %d.%d\n" ,IS_SD (mmc) ?"SD" :"MMC" , - (mmc->version >>4 ) &0xf , mmc->version &0xf ); + (mmc->version >>4 ) &0xf , + (mmc->version &0xf ) ==EXT_CSD_REV_1_5 ? +41 :((mmc->version &0xf ) >EXT_CSD_REV_1_5 ? + (mmc->version &0xf ) -1 : (mmc->version &0xf )));printf ("High Capacity: %s\n" , mmc->high_capacity ?"Yes" :"No" );puts("Capacity: ");drivers/mmc/mmc.c +25
-0@@ -651,6 +651,31 @@ int mmc_change_freq(struct mmc *mmc)if (err)return err; +switch (ext_csd[EXT_CSD_REV ]) { +case EXT_CSD_REV_1_0 : + mmc->version |=EXT_CSD_REV_1_0 ; +break ; +case EXT_CSD_REV_1_1 : + mmc->version |=EXT_CSD_REV_1_1 ; +break ; +case EXT_CSD_REV_1_2 : + mmc->version |=EXT_CSD_REV_1_2 ; +break ; +case EXT_CSD_REV_1_3 : + mmc->version |=EXT_CSD_REV_1_3 ; +break ; +case EXT_CSD_REV_1_5 : + mmc->version |=EXT_CSD_REV_1_5 ; +break ; +case EXT_CSD_REV_1_6 : + mmc->version |=EXT_CSD_REV_1_6 ; +break ; +case EXT_CSD_REV_1_4 : +default : +printf ("Unknown revision - %x\n" , ext_csd[EXT_CSD_REV ]); +return 0 ; + } +/* No high-speed support */ if (!ext_csd[EXT_CSD_HS_TIMING ])return 0 ;include/mmc.h +8
-1@@ -157,6 +157,14 @@#define EXT_CSD_SEC_CNT 212/* RO, 4 bytes */ #define EXT_CSD_HC_ERASE_GRP_SIZE 224/* RO */ +#define EXT_CSD_REV_1_0 0 +#define EXT_CSD_REV_1_1 1 +#define EXT_CSD_REV_1_2 2 +#define EXT_CSD_REV_1_3 3 +#define EXT_CSD_REV_1_4 4 +#define EXT_CSD_REV_1_5 5 +#define EXT_CSD_REV_1_6 6 +/* * EXT_CSD field definitions */ --Quoted 5 lines
1.7.4.1
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
PATCH 1/1 mmc: support the revision check for eMMC4.5
Hi Marek,
I will resend this patch with Andy's comment.
If you have any other opinion, let me know plz.
Best Regards,
Jaehoon Chung
Quoted 111 lines · Marek Vasut
Dear Jae hoon Chung,
Quoted 6 lines
Hi,
Anybody think about this patch?
mmcinfo is produce correctly?if i miss something, let me know, plz.
Andy?
Quoted 99 lines
Best Regards,
Jaehoon Chung2012/3/27 Jaehoon Chung <[email protected]>:
Quoted 85 lines
eMMC card is introduced the eMMC4.5.
But now eMMC card is checked up to eMMC4.0. This patch is supported until eMMC4.5Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>--- common/cmd_mmc.c | 5 ++++- drivers/mmc/mmc.c | 25 +++++++++++++++++++++++++ include/mmc.h | 8 ++++++++ 3 files changed, 37 insertions(+), 1 deletions(-)common/cmd_mmc.c +4
-1@@ -106,7 +106,10 @@ static void print_mmcinfo(struct mmc *mmc)printf ("Rd Block Len: %d\n" , mmc->read_bl_len);printf ("%s version %d.%d\n" ,IS_SD (mmc) ?"SD" :"MMC" , - (mmc->version >>4 ) &0xf , mmc->version &0xf ); + (mmc->version >>4 ) &0xf , + (mmc->version &0xf ) ==EXT_CSD_REV_1_5 ? +41 :((mmc->version &0xf ) >EXT_CSD_REV_1_5 ? + (mmc->version &0xf ) -1 : (mmc->version &0xf )));printf ("High Capacity: %s\n" , mmc->high_capacity ?"Yes" :"No" );puts("Capacity: ");drivers/mmc/mmc.c +25
-0@@ -651,6 +651,31 @@ int mmc_change_freq(struct mmc *mmc)if (err)return err; +switch (ext_csd[EXT_CSD_REV ]) { +case EXT_CSD_REV_1_0 : + mmc->version |=EXT_CSD_REV_1_0 ; +break ; +case EXT_CSD_REV_1_1 : + mmc->version |=EXT_CSD_REV_1_1 ; +break ; +case EXT_CSD_REV_1_2 : + mmc->version |=EXT_CSD_REV_1_2 ; +break ; +case EXT_CSD_REV_1_3 : + mmc->version |=EXT_CSD_REV_1_3 ; +break ; +case EXT_CSD_REV_1_5 : + mmc->version |=EXT_CSD_REV_1_5 ; +break ; +case EXT_CSD_REV_1_6 : + mmc->version |=EXT_CSD_REV_1_6 ; +break ; +case EXT_CSD_REV_1_4 : +default : +printf ("Unknown revision - %x\n" , ext_csd[EXT_CSD_REV ]); +return 0 ; + } +/* No high-speed support */ if (!ext_csd[EXT_CSD_HS_TIMING ])return 0 ;include/mmc.h +8
-1@@ -157,6 +157,14 @@#define EXT_CSD_SEC_CNT 212/* RO, 4 bytes */ #define EXT_CSD_HC_ERASE_GRP_SIZE 224/* RO */ +#define EXT_CSD_REV_1_0 0 +#define EXT_CSD_REV_1_1 1 +#define EXT_CSD_REV_1_2 2 +#define EXT_CSD_REV_1_3 3 +#define EXT_CSD_REV_1_4 4 +#define EXT_CSD_REV_1_5 5 +#define EXT_CSD_REV_1_6 6 +/* * EXT_CSD field definitions */ --Quoted 5 lines
1.7.4.1
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot