ARM: stm32: env: Enable scan and start for AB schema on STM32MP15 DHSOM

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@dh-electronics.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
Pascal Zimmermann
2025-03-27 15:38:43 +01:00
committed by Patrice Chotard
parent fd3202153a
commit d0d0b6a25c
2 changed files with 36 additions and 0 deletions

View File

@@ -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

View File

@@ -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 */ \