diff options
author | Ben Gardiner <bengardiner@nanometrics.ca> | 2013-05-30 17:12:48 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-06-27 11:11:05 -0400 |
commit | 68f490b54b53c715db06e55f9595a672d1c0690e (patch) | |
tree | 6db5944d11410f153fc6094867ad3fb10f89666a | |
parent | 27c357db04350b75b0fceaae8bfb9ce99c50866b (diff) | |
download | mmc-utils-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.h | 4 | ||||
-rw-r--r-- | mmc_cmds.c | 8 |
2 files changed, 10 insertions, 2 deletions
@@ -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 */ @@ -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" |