mmc: read the high capacity WP group size for eMMC
Read the eMMC high capacity write protect group size at mmc device initialization. This is useful to correctly partition an eMMC device, as partitions need to be aligned to this size. Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
This commit is contained in:
parent
a4ff9f83f5
commit
037dc0ab5d
@ -1065,7 +1065,9 @@ static int mmc_startup(struct mmc *mmc)
|
||||
return err;
|
||||
else
|
||||
ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1;
|
||||
}
|
||||
|
||||
if (ext_csd[EXT_CSD_ERASE_GROUP_DEF] & 0x01) {
|
||||
/* Read out group size from ext_csd */
|
||||
mmc->erase_grp_size =
|
||||
ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] * 1024;
|
||||
@ -1092,6 +1094,10 @@ static int mmc_startup(struct mmc *mmc)
|
||||
mmc->erase_grp_size = (erase_gsz + 1)
|
||||
* (erase_gmul + 1);
|
||||
}
|
||||
|
||||
mmc->hc_wp_grp_size = 1024
|
||||
* ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]
|
||||
* ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
|
||||
}
|
||||
|
||||
err = mmc_set_capacity(mmc, mmc->part_num);
|
||||
|
@ -316,6 +316,7 @@ struct mmc {
|
||||
uint read_bl_len;
|
||||
uint write_bl_len;
|
||||
uint erase_grp_size; /* in 512-byte sectors */
|
||||
uint hc_wp_grp_size; /* in 512-byte sectors */
|
||||
u64 capacity;
|
||||
u64 capacity_user;
|
||||
u64 capacity_boot;
|
||||
|
Loading…
Reference in New Issue
Block a user