mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 00:47:26 +00:00
mmc: show the erase group size and HC WP group size in mmcinfo output
This adds the erase group size and high-capacity WP group size to mmcinfo's output. The erase group size is necessary to properly align erase requests on eMMC. The high-capacity WP group size is necessary to properly align partitions on eMMC. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
This commit is contained in:
parent
037dc0ab5d
commit
b0361526d5
1 changed files with 8 additions and 0 deletions
|
@ -95,9 +95,16 @@ static void print_mmcinfo(struct mmc *mmc)
|
||||||
printf("Bus Width: %d-bit%s\n", mmc->bus_width,
|
printf("Bus Width: %d-bit%s\n", mmc->bus_width,
|
||||||
mmc->ddr_mode ? " DDR" : "");
|
mmc->ddr_mode ? " DDR" : "");
|
||||||
|
|
||||||
|
puts("Erase Group Size: ");
|
||||||
|
print_size(((u64)mmc->erase_grp_size) << 9, "\n");
|
||||||
|
|
||||||
if (!IS_SD(mmc) && mmc->version >= MMC_VERSION_4_41) {
|
if (!IS_SD(mmc) && mmc->version >= MMC_VERSION_4_41) {
|
||||||
bool has_enh = (mmc->part_support & ENHNCD_SUPPORT) != 0;
|
bool has_enh = (mmc->part_support & ENHNCD_SUPPORT) != 0;
|
||||||
bool usr_enh = has_enh && (mmc->part_attr & EXT_CSD_ENH_USR);
|
bool usr_enh = has_enh && (mmc->part_attr & EXT_CSD_ENH_USR);
|
||||||
|
|
||||||
|
puts("HC WP Group Size: ");
|
||||||
|
print_size(((u64)mmc->hc_wp_grp_size) << 9, "\n");
|
||||||
|
|
||||||
puts("User Capacity: ");
|
puts("User Capacity: ");
|
||||||
print_size(mmc->capacity_user, usr_enh ? " ENH\n" : "\n");
|
print_size(mmc->capacity_user, usr_enh ? " ENH\n" : "\n");
|
||||||
if (usr_enh) {
|
if (usr_enh) {
|
||||||
|
@ -110,6 +117,7 @@ static void print_mmcinfo(struct mmc *mmc)
|
||||||
print_size(mmc->capacity_boot, has_enh ? " ENH\n" : "\n");
|
print_size(mmc->capacity_boot, has_enh ? " ENH\n" : "\n");
|
||||||
puts("RPMB Capacity: ");
|
puts("RPMB Capacity: ");
|
||||||
print_size(mmc->capacity_rpmb, has_enh ? " ENH\n" : "\n");
|
print_size(mmc->capacity_rpmb, has_enh ? " ENH\n" : "\n");
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(mmc->capacity_gp); i++) {
|
for (i = 0; i < ARRAY_SIZE(mmc->capacity_gp); i++) {
|
||||||
bool is_enh = has_enh &&
|
bool is_enh = has_enh &&
|
||||||
(mmc->part_attr & EXT_CSD_ENH_GP(i));
|
(mmc->part_attr & EXT_CSD_ENH_GP(i));
|
||||||
|
|
Loading…
Reference in a new issue