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 FAT_WRITE
imply SYS_THUMB_BUILD
imply ARCH_MISC_INIT if DISPLAY_CPUINFO
config TARGET_S32V234EVB
bool "Support s32v234evb"

View file

@ -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 */