[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