[RESEND PATCH 2/2] ARM: stm32: env: Enable scan and start for AB schema on STM32MP15 DHSOM
Patrice CHOTARD
patrice.chotard at foss.st.com
Fri Apr 11 09:24:12 CEST 2025
On 3/27/25 15:38, Pascal Zimmermann wrote:
> For the STM32MP15 DHSOM, change the default environment so an AB schema
> on a device can be detected.
>
> For this the define "SCAN_DEV_FOR_BOOT_PARTS" is overwritten and
> appended.
>
> The detection works by looking for the partitions with specific lables.
> The name of those partitions are in the variables and its defaults:
> * dh_ab_partname_primary=rootfs-a
> * dh_ab_partname_secondary=rootfs-b
>
> To prevent being hanging at bootcmd, enable "CONFIG_BOOT_RETRY" and
> "CONFIG_RESET_TO_RETRY", but the timer will only be activated, if the AB
> partitions are detected.
>
> Signed-off-by: Pascal Zimmermann <pzimmermann at dh-electronics.com>
> ---
> Cc: Marek Vasut <marex at denx.de>
> Cc: Patrick Delaunay <patrick.delaunay at foss.st.com>
> Cc: Patrice Chotard <patrice.chotard at foss.st.com>
> Cc: Tom Rini <trini at konsulko.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: u-boot at dh-electronics.com
> Cc: uboot-stm32 at st-md-mailman.stormreply.com
> Cc: u-boot at lists.denx.de
> ---
> configs/stm32mp15_dhsom.config | 3 +++
> include/configs/stm32mp15_dh_dhsom.h | 33 ++++++++++++++++++++++++++++
> 2 files changed, 36 insertions(+)
>
> diff --git a/configs/stm32mp15_dhsom.config b/configs/stm32mp15_dhsom.config
> index 7e5b5aa67ef..c84116482f6 100644
> --- a/configs/stm32mp15_dhsom.config
> +++ b/configs/stm32mp15_dhsom.config
> @@ -10,6 +10,9 @@ CONFIG_BOARD_EARLY_INIT_F=y
> CONFIG_BOARD_SIZE_LIMIT=1441792
> CONFIG_BOOTCOUNT_BOOTLIMIT=3
> CONFIG_BOOTDELAY=1
> +CONFIG_BOOTRETRY=y
> +CONFIG_RESET_TO_RETRY=y
> +CONFIG_BOOT_RETRY_TIME=-1
> CONFIG_CMD_ADC=y
> CONFIG_CMD_REMOTEPROC=y
> CONFIG_CMD_STBOARD=y
> diff --git a/include/configs/stm32mp15_dh_dhsom.h b/include/configs/stm32mp15_dh_dhsom.h
> index c004a8cec82..267e3446779 100644
> --- a/include/configs/stm32mp15_dh_dhsom.h
> +++ b/include/configs/stm32mp15_dh_dhsom.h
> @@ -17,7 +17,40 @@
> " 0x800000\0"
> #endif
>
> +/* Add the search for AB partitons */
> +#define SCAN_DEV_FOR_BOOT_PARTS \
> + "run dh_check_if_ab; " \
> + "if test -z \"${devplist}\"; " \
> + "then " \
> + "part list ${devtype} ${devnum} -bootable devplist; " \
> + "fi; "
> +
> #define STM32MP_BOARD_EXTRA_ENV \
> + "altbootcmd= " \
> + "setenv dh_ab_get_partnames " \
> + "'setenv dh_ab_partnames ${dh_ab_partname_secondary} " \
> + "${dh_ab_partname_primary}' && " \
> + "run bootcmd\0" \
> + "dh_check_if_ab= " /* Sets devplist if AB partitions*/ \
> + "echo test for AB on ${devtype} ${devnum} && " \
> + "run dh_ab_get_partnames && " \
> + "setenv devplist && " \
> + "for partname in ${dh_ab_partnames}; do " \
> + "setenv partnum && " \
> + "if part number ${devtype} ${devnum} ${partname} partnum; "\
> + "then " \
> + "setenv devplist \"${devplist} ${partnum}\" && "\
> + "setenv bootretry 60 ;" \
> + "fi; " \
> + "done ; " \
> + "if test -n \"${devplist}\"; " \
> + "then echo AB partitions found! ; " \
> + "fi\0" \
> + "dh_ab_get_partnames= " /* Sets dh_ab_partnames */ \
> + "setenv dh_ab_partnames ${dh_ab_partname_primary} " \
> + "${dh_ab_partname_secondary}\0" \
> + "dh_ab_partname_primary=rootfs-a\0" /* Names of AB partitions */\
> + "dh_ab_partname_secondary=rootfs-b\0" \
> "dh_preboot=" \
> "run dh_testbench_backward_compat\0" \
> "dh_update_sd_to_emmc=" /* Install U-Boot from SD to eMMC */ \
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice
More information about the U-Boot
mailing list