[PATCH 0/8] env: mmc: improvements and corrections
Patrick Delaunay
patrick.delaunay at foss.st.com
Thu Nov 10 11:48:57 CET 2022
Update in U-Boot env mmc backend with several cosmetic changes or
corrections and 2 new features:
1/ CONFIG_ENV_MMC_USE_DT = no more use CONFIG_ENV_OFFSET
in the mmc ENV backend when this config is activated.
Requested by the STM32MP STMicroelectronics boards which activate
several ENV_IS_IN_XXX; the value of CONFIG_ENV_OFFSET is invalid for
SD-Card / eMMC boot; this offset should only used in SPIFlash backend
(sf.c) for SPI-NOR boot.
If this offset is used on mmc backend, when partition name in GPT is
not aligned with U-Boot DT: "u-boot,mmc-env-partition", the behavior
is difficult to debug: a partition is corrupted on 'env save' command.
2/ selects the GPT env partition by the "u-boot-env" type GUID introduced
by the commit c0364ce1c695 ("doc/README.gpt: define partition
type GUID for U-Boot environment")
This feature can also avoid issue when 'u-boot-env' partition name
change in GPT partitioning but not in the U-Boot DT with
"u-boot,mmc-env-partition"
Few check patch warnings remained in the series,
but after check I can't remove them :
- IS_ENABLED(ENV_MMC_HWPART_REDUND) is normally used as
IS_ENABLED(CONFIG_ENV_MMC_HWPART_REDUND)
=> ENV_MMC_HWPART_REDUND is locally defined in this file it is not
a real CONFIG but I can use the IS_ENABLED() macro as it is defined
to 1
- Use 'if (IS_ENABLED(CONFIG...))' instead of '#if or #ifdef' where
possible
+ CONFIG_PARTITION_TYPE_GUID => info.type_guid existence
+ CONFIG_ENV_OFFSET_REDUND and CONFIG_ENV_MMC_USE_DT => only for define
As I miss the merge window, not targeted for v2023.01 but for next
v2023.04.
Regards
Patrick
Patrick Delaunay (8):
env: mmc: introduced ENV_MMC_OFFSET
env: mcc: Drop unnecessary #ifdefs
env: mcc: fix compilation error with ENV_IS_EMBEDDED
env: mmc: add CONFIG_ENV_MMC_USE_DT
configs: stm32mp: activate CONFIG_ENV_MMC_USE_DT
env: mmc: select GPT env partition by type guid
env: mmc: add debug message when mmc-env-partition is not found
env: mmc: cosmetic: remove unused macro STR(X)
configs/stm32mp13_defconfig | 1 +
configs/stm32mp15_basic_defconfig | 1 +
configs/stm32mp15_defconfig | 1 +
configs/stm32mp15_trusted_defconfig | 1 +
env/Kconfig | 16 +++
env/mmc.c | 182 ++++++++++++++++++----------
6 files changed, 135 insertions(+), 67 deletions(-)
--
2.25.1
More information about the U-Boot
mailing list