[PATCH u-boot] mmc: Use EXT_CSD_EXTRACT_BOOT_PART() macro for extracting boot part

Pali Rohár pali at kernel.org
Sat Mar 11 11:44:27 CET 2023


Mask macro PART_ACCESS_MASK filter out access bits of emmc register and
macro EXT_CSD_EXTRACT_BOOT_PART() extracts boot part bits of emmc register.
So use EXT_CSD_EXTRACT_BOOT_PART() when extracting boot partition.

Signed-off-by: Pali Rohár <pali at kernel.org>
---
 board/purism/librem5/librem5.c | 2 +-
 cmd/mvebu/bubt.c               | 3 +--
 common/spl/spl_mmc.c           | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/board/purism/librem5/librem5.c b/board/purism/librem5/librem5.c
index caa02655fc49..386ed1b4fb22 100644
--- a/board/purism/librem5/librem5.c
+++ b/board/purism/librem5/librem5.c
@@ -41,7 +41,7 @@ int board_early_init_f(void)
 #if IS_ENABLED(CONFIG_LOAD_ENV_FROM_MMC_BOOT_PARTITION)
 uint board_mmc_get_env_part(struct mmc *mmc)
 {
-	uint part = (mmc->part_config >> 3) & PART_ACCESS_MASK;
+	uint part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config);
 
 	if (part == 7)
 		part = 0;
diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
index 49797b23144b..37ff9c455228 100644
--- a/cmd/mvebu/bubt.c
+++ b/cmd/mvebu/bubt.c
@@ -223,8 +223,7 @@ static int mmc_burn_image(size_t image_size)
 	orig_part = mmc->block_dev.hwpart;
 #endif
 
-	part = (mmc->part_config >> 3) & PART_ACCESS_MASK;
-
+	part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config);
 	if (part == 7)
 		part = 0;
 
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index bd5e6adf1ea6..a0722167044f 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -378,7 +378,7 @@ int default_spl_mmc_emmc_boot_partition(struct mmc *mmc)
 	 * 1 and 2 match up to boot0 / boot1 and 7 is user data
 	 * which is the first physical partition (0).
 	 */
-	part = (mmc->part_config >> 3) & PART_ACCESS_MASK;
+	part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config);
 	if (part == 7)
 		part = 0;
 #endif
-- 
2.20.1



More information about the U-Boot mailing list