summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Gardiner <bengardiner@nanometrics.ca>2013-05-30 17:12:48 -0400
committerChris Ball <cjb@laptop.org>2013-06-27 11:11:05 -0400
commit68f490b54b53c715db06e55f9595a672d1c0690e (patch)
tree6db5944d11410f153fc6094867ad3fb10f89666a
parent27c357db04350b75b0fceaae8bfb9ce99c50866b (diff)
downloadmmc-utils-old-68f490b54b53c715db06e55f9595a672d1c0690e.tar.gz
fix printing ENH_START_ADDR
The enhanced user area start field is 4 bytes long according to the eMMC 4.41 spec. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Signed-off-by: Chris Ball <cjb@laptop.org>
-rw-r--r--mmc.h4
-rw-r--r--mmc_cmds.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/mmc.h b/mmc.h
index c6fcc83..491ce0a 100644
--- a/mmc.h
+++ b/mmc.h
@@ -47,6 +47,10 @@
#define EXT_CSD_RST_N_FUNCTION 162 /* R/W */
#define EXT_CSD_PARTITIONING_SUPPORT 160 /* RO */
#define EXT_CSD_PARTITION_SETTING_COMPLETED 155 /* R/W */
+#define EXT_CSD_ENH_START_ADDR_3 139
+#define EXT_CSD_ENH_START_ADDR_2 138
+#define EXT_CSD_ENH_START_ADDR_1 137
+#define EXT_CSD_ENH_START_ADDR_0 136
#define EXT_CSD_NATIVE_SECTOR_SIZE 63 /* R */
#define EXT_CSD_USE_NATIVE_SECTOR 62 /* R/W */
#define EXT_CSD_DATA_SECTOR_SIZE 61 /* R */
diff --git a/mmc_cmds.c b/mmc_cmds.c
index 6dfbfee..df30178 100644
--- a/mmc_cmds.c
+++ b/mmc_cmds.c
@@ -746,9 +746,13 @@ int do_read_extcsd(int nargs, char **argv)
printf("Enhanced User Data Area Size"
" [ENH_SIZE_MULT]: 0x%06x\n", (ext_csd[142] << 16) |
(ext_csd[141] << 8) | ext_csd[140]);
+
+ reg = (ext_csd[EXT_CSD_ENH_START_ADDR_3] << 24) |
+ (ext_csd[EXT_CSD_ENH_START_ADDR_2] << 16) |
+ (ext_csd[EXT_CSD_ENH_START_ADDR_1] << 8) |
+ ext_csd[EXT_CSD_ENH_START_ADDR_0];
printf("Enhanced User Data Start Address"
- " [ENH_START_ADDR]: 0x%06x\n", (ext_csd[139] << 16) |
- (ext_csd[138] << 8) | ext_csd[137]);
+ " [ENH_START_ADDR]: 0x%06x\n", reg);
/* A441]: reserved [135] */
printf("Bad Block Management mode"