[U-Boot] [PATCH] ARM: rmobile: Set environment variable containing CPU type

Set environment variable 'platform' containing the CPU type.
Signed-off-by: Marek Vasut marek.vasut+renesas@gmail.com Cc: Nobuhiro Iwamatsu iwamatsu@nigauri.org --- arch/arm/Kconfig | 1 + arch/arm/mach-rmobile/cpu_info.c | 41 +++++++++++++++++++++++++------- 2 files changed, 33 insertions(+), 9 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 96eadb6fd6..17de95bf4e 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -784,6 +784,7 @@ config ARCH_RMOBILE imply CMD_DM imply FAT_WRITE imply SYS_THUMB_BUILD + imply ARCH_MISC_INIT if DISPLAY_CPUINFO
config TARGET_S32V234EVB bool "Support s32v234evb" diff --git a/arch/arm/mach-rmobile/cpu_info.c b/arch/arm/mach-rmobile/cpu_info.c index c9ebc9f40e..65a9ca8c01 100644 --- a/arch/arm/mach-rmobile/cpu_info.c +++ b/arch/arm/mach-rmobile/cpu_info.c @@ -5,6 +5,7 @@ */ #include <common.h> #include <asm/io.h> +#include <linux/ctype.h>
/* R-Car Gen3 caches are enabled in memmap-gen3.c */ #ifndef CONFIG_RCAR_GEN3 @@ -67,19 +68,41 @@ static const struct { { 0x0, "CPU" }, };
-int print_cpuinfo(void) +static int rmobile_cpuinfo_idx(void) { int i = 0; u32 cpu_type = rmobile_get_cpu_type(); - for (; i < ARRAY_SIZE(rmobile_cpuinfo); i++) { - if (rmobile_cpuinfo[i].cpu_type == cpu_type) { - printf("CPU: Renesas Electronics %s rev %d.%d\n", - rmobile_cpuinfo[i].cpu_name, - rmobile_get_cpu_rev_integer(), - rmobile_get_cpu_rev_fraction()); + + for (; i < ARRAY_SIZE(rmobile_cpuinfo); i++) + if (rmobile_cpuinfo[i].cpu_type == cpu_type) break; - } - } + + return i; +} + +#ifdef CONFIG_ARCH_MISC_INIT +int arch_misc_init(void) +{ + int i, idx = rmobile_cpuinfo_idx(); + char cpu[10] = { 0 }; + + for (i = 0; i < sizeof(cpu); i++) + cpu[i] = tolower(rmobile_cpuinfo[idx].cpu_name[i]); + + env_set("platform", cpu); + + return 0; +} +#endif + +int print_cpuinfo(void) +{ + int i = rmobile_cpuinfo_idx(); + + printf("CPU: Renesas Electronics %s rev %d.%d\n", + rmobile_cpuinfo[i].cpu_name, rmobile_get_cpu_rev_integer(), + rmobile_get_cpu_rev_fraction()); + return 0; } #endif /* CONFIG_DISPLAY_CPUINFO */
participants (1)
-
Marek Vasut