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>
This commit is contained in:
Marek Vasut 2018-12-03 13:28:25 +01:00 committed by Marek Vasut
parent 66582cf6da
commit 00e4b57e9e
2 changed files with 33 additions and 9 deletions

View File

@ -784,6 +784,7 @@ config ARCH_RMOBILE
imply CMD_DM imply CMD_DM
imply FAT_WRITE imply FAT_WRITE
imply SYS_THUMB_BUILD imply SYS_THUMB_BUILD
imply ARCH_MISC_INIT if DISPLAY_CPUINFO
config TARGET_S32V234EVB config TARGET_S32V234EVB
bool "Support s32v234evb" bool "Support s32v234evb"

View File

@ -5,6 +5,7 @@
*/ */
#include <common.h> #include <common.h>
#include <asm/io.h> #include <asm/io.h>
#include <linux/ctype.h>
/* R-Car Gen3 caches are enabled in memmap-gen3.c */ /* R-Car Gen3 caches are enabled in memmap-gen3.c */
#ifndef CONFIG_RCAR_GEN3 #ifndef CONFIG_RCAR_GEN3
@ -67,19 +68,41 @@ static const struct {
{ 0x0, "CPU" }, { 0x0, "CPU" },
}; };
int print_cpuinfo(void) static int rmobile_cpuinfo_idx(void)
{ {
int i = 0; int i = 0;
u32 cpu_type = rmobile_get_cpu_type(); u32 cpu_type = rmobile_get_cpu_type();
for (; i < ARRAY_SIZE(rmobile_cpuinfo); i++) {
if (rmobile_cpuinfo[i].cpu_type == cpu_type) { for (; i < ARRAY_SIZE(rmobile_cpuinfo); i++)
printf("CPU: Renesas Electronics %s rev %d.%d\n", if (rmobile_cpuinfo[i].cpu_type == cpu_type)
rmobile_cpuinfo[i].cpu_name,
rmobile_get_cpu_rev_integer(),
rmobile_get_cpu_rev_fraction());
break; 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; return 0;
} }
#endif /* CONFIG_DISPLAY_CPUINFO */ #endif /* CONFIG_DISPLAY_CPUINFO */