mmc-utils: small fixes of output
Improve "extcsd read" output of the registers.
Right-shift by 3 of EXT_CSD_BOOT_CFG_EN bits.
Expand the EXT_CSD_BOOT_CFG_ACC bit mask to 0x7.
Add case 3 RPMB partition.
Signed-off-by: Mario Schuknecht <mario.schuknecht@dresearch-fe.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
diff --git a/mmc.h b/mmc.h
index 5173d34..5285865 100644
--- a/mmc.h
+++ b/mmc.h
@@ -71,7 +71,7 @@
#define EXT_CSD_BOOT_INFO_ALT (1<<0)
#define EXT_CSD_BOOT_CFG_ACK (1<<6)
#define EXT_CSD_BOOT_CFG_EN (0x38)
-#define EXT_CSD_BOOT_CFG_ACC (0x03)
+#define EXT_CSD_BOOT_CFG_ACC (0x07)
#define EXT_CSD_RST_N_EN_MASK (0x03)
#define EXT_CSD_HW_RESET_EN (0x01)
#define EXT_CSD_HW_RESET_DIS (0x02)
diff --git a/mmc_cmds.c b/mmc_cmds.c
index 5473a20..4ef6af3 100644
--- a/mmc_cmds.c
+++ b/mmc_cmds.c
@@ -613,7 +613,7 @@
ext_csd[181]);
reg = ext_csd[EXT_CSD_BOOT_CFG];
printf("Boot configuration bytes [PARTITION_CONFIG: 0x%02x]\n", reg);
- switch (reg & EXT_CSD_BOOT_CFG_EN) {
+ switch ((reg & EXT_CSD_BOOT_CFG_EN)>>3) {
case 0x0:
printf(" Not boot enable\n");
break;
@@ -637,8 +637,11 @@
case 0x2:
printf(" R/W Boot Partition 2\n");
break;
+ case 0x3:
+ printf(" R/W Replay Protected Memory Block (RPMB)\n");
+ break;
default:
- printf(" Access to General Purpuse partition %d\n",
+ printf(" Access to General Purpose partition %d\n",
(reg & EXT_CSD_BOOT_CFG_ACC) - 3);
break;
}