[PATCH 2/2] ARM: stm32: env: Enable scan and start for AB schema on STM32MP15 DHSOM

Marek Vasut marex at denx.de
Wed Nov 27 21:47:04 CET 2024


On 11/27/24 11:29 AM, Pascal Zimmermann wrote:

Please CC me on the entire series.

> diff --git a/configs/stm32mp15_dhsom.config b/configs/stm32mp15_dhsom.config
> index efc149577e..22d8bd3241 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 c004a8cec8..267e344677 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 "							\

"then" can be part of the previous line

> +		"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 */	\

I suspect this also applies to other DHSOM, so this should be moved to 
some common include/configs/dh_dhsom.h and renamed to #define 
DH_AB_UPDATE_EXTRA_ENV . The common dh_dhsom.h can be included in 
stm32mp15_dh_dhsom.h , matching stm32mp13 DHSOM header , 
imx8mp_dhcom_pdk2.h , dh_imx6.h and DH_AB_UPDATE_EXTRA_ENV inserted into 
each board extra environment . The configs/ change should be in 
configs/dhsom.config fragment . That way, all DHSOM will consistently 
support the same AB detection and handling mechanism .


More information about the U-Boot mailing list