[PATCH v2 04/22] board: st: stm32mp2: add env_get_location()

Patrice CHOTARD patrice.chotard at foss.st.com
Mon Apr 28 15:22:54 CEST 2025



On 4/25/25 15:15, Patrice Chotard wrote:
> In case of several environment location support, env_get_location
> is needed to select the correct location depending of the boot
> device .
> 
> Signed-off-by: Patrice Chotard <patrice.chotard at foss.st.com>
> ---
> 
> (no changes since v1)
> 
>  board/st/stm32mp2/stm32mp2.c | 21 ++++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/board/st/stm32mp2/stm32mp2.c b/board/st/stm32mp2/stm32mp2.c
> index aa7dd31996e..c70ffaf5dbd 100644
> --- a/board/st/stm32mp2/stm32mp2.c
> +++ b/board/st/stm32mp2/stm32mp2.c
> @@ -6,7 +6,7 @@
>  #define LOG_CATEGORY LOGC_BOARD
>  
>  #include <config.h>
> -#include <env.h>
> +#include <env_internal.h>
>  #include <fdt_support.h>
>  #include <log.h>
>  #include <misc.h>
> @@ -59,6 +59,25 @@ int board_init(void)
>  	return 0;
>  }
>  
> +enum env_location env_get_location(enum env_operation op, int prio)
> +{
> +	u32 bootmode = get_bootmode();
> +
> +	if (prio)
> +		return ENVL_UNKNOWN;
> +
> +	switch (bootmode & TAMP_BOOT_DEVICE_MASK) {
> +	case BOOT_FLASH_SD:
> +	case BOOT_FLASH_EMMC:
> +		if (CONFIG_IS_ENABLED(ENV_IS_IN_MMC))
> +			return ENVL_MMC;
> +		else
> +			return ENVL_NOWHERE;
> +	default:
> +		return ENVL_NOWHERE;
> +	}
> +}
> +
>  int board_late_init(void)
>  {
>  	const void *fdt_compat;
Applied to u-boot-stm32/master

Thanks
Patrice


More information about the U-Boot mailing list