On 4/11/25 09:24, Patrice CHOTARD wrote:
> 
> 
> 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 <pzimmerm...@dh-electronics.com>
>> ---
>> Cc: Marek Vasut <ma...@denx.de>
>> Cc: Patrick Delaunay <patrick.delau...@foss.st.com>
>> Cc: Patrice Chotard <patrice.chot...@foss.st.com>
>> Cc: Tom Rini <tr...@konsulko.com>
>> Cc: Simon Glass <s...@chromium.org>
>> Cc: u-b...@dh-electronics.com
>> Cc: uboot-st...@st-md-mailman.stormreply.com
>> Cc: u-boot@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.chot...@foss.st.com>

Applied to u-boot-stm32/master

Thanks
Patrice

> 
> Thanks
> Patrice

Reply via email to