From: Patrice Chotard <[email protected]> This allows to create and set the environment variable "soc_name" which contains the current STM32 SoC's name.
Signed-off-by: Christophe Priouzeau <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> --- v2: _ Remove get_cpu_id() function and use directly CONFIG_STM32xx flag to identify the STM32 SoC family. arch/arm/include/asm/arch-stm32f4/stm32.h | 1 + arch/arm/include/asm/arch-stm32f7/stm32.h | 1 + arch/arm/include/asm/arch-stm32h7/stm32.h | 3 +++ arch/arm/mach-stm32/soc.c | 15 +++++++++++++++ 4 files changed, 20 insertions(+) diff --git a/arch/arm/include/asm/arch-stm32f4/stm32.h b/arch/arm/include/asm/arch-stm32f4/stm32.h index 0449fcecede0..d4b0c40804c0 100644 --- a/arch/arm/include/asm/arch-stm32f4/stm32.h +++ b/arch/arm/include/asm/arch-stm32f4/stm32.h @@ -50,5 +50,6 @@ static const u32 sect_sz_kb[CONFIG_SYS_MAX_FLASH_SECT] = { }; void stm32_flash_latency_cfg(int latency); +void set_env_soc_name(void); #endif /* _MACH_STM32_H_ */ diff --git a/arch/arm/include/asm/arch-stm32f7/stm32.h b/arch/arm/include/asm/arch-stm32f7/stm32.h index f54e6f195575..315d2a14790c 100644 --- a/arch/arm/include/asm/arch-stm32f7/stm32.h +++ b/arch/arm/include/asm/arch-stm32f7/stm32.h @@ -63,5 +63,6 @@ static const u32 sect_sz_kb[CONFIG_SYS_MAX_FLASH_SECT] = { void stm32_flash_latency_cfg(int latency); +void set_env_soc_name(void); #endif /* _ASM_ARCH_HARDWARE_H */ diff --git a/arch/arm/include/asm/arch-stm32h7/stm32.h b/arch/arm/include/asm/arch-stm32h7/stm32.h index f2922aa3237e..9377c5d65bfb 100644 --- a/arch/arm/include/asm/arch-stm32h7/stm32.h +++ b/arch/arm/include/asm/arch-stm32h7/stm32.h @@ -18,4 +18,7 @@ * arch/arm/include/asm/arch-stm32f4/stm32.h * arch/arm/include/asm/arch-stm32f7/stm32.h */ + +void set_env_soc_name(void); + #endif /* _ASM_ARCH_HARDWARE_H */ diff --git a/arch/arm/mach-stm32/soc.c b/arch/arm/mach-stm32/soc.c index df20d547c500..06ca61b270cf 100644 --- a/arch/arm/mach-stm32/soc.c +++ b/arch/arm/mach-stm32/soc.c @@ -8,6 +8,7 @@ #include <common.h> #include <asm/io.h> #include <asm/armv7m_mpu.h> +#include <asm/arch/stm32.h> int arch_cpu_init(void) { @@ -54,3 +55,17 @@ int arch_cpu_init(void) return 0; } + +void set_env_soc_name(void) +{ + char soc[16]; + +#ifdef CONFIG_STM32F4 + snprintf(soc, sizeof(soc), "stm32f4"); +#elif CONFIG_STM32F7 + snprintf(soc, sizeof(soc), "stm32f7"); +#elif CONFIG_STM32H7 + snprintf(soc, sizeof(soc), "stm32h7"); +#endif + env_set("soc_name", soc); +} -- 1.9.1 _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

