aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-rmobile/cpu_info.c
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@gmail.com>2018-12-03 13:28:25 +0100
committerMarek Vasut <marex@denx.de>2018-12-04 09:21:07 +0100
commit00e4b57e9e71c30da9bd6ef6edf6ef035d70924b (patch)
treedc90815d2c5b23108525f7e809214eb3220fdeb3 /arch/arm/mach-rmobile/cpu_info.c
parent66582cf6da21fe8db0ad186c5613db83fc1879d0 (diff)
downloadu-boot-00e4b57e9e71c30da9bd6ef6edf6ef035d70924b.zip
u-boot-00e4b57e9e71c30da9bd6ef6edf6ef035d70924b.tar.gz
u-boot-00e4b57e9e71c30da9bd6ef6edf6ef035d70924b.tar.bz2
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>
Diffstat (limited to 'arch/arm/mach-rmobile/cpu_info.c')
-rw-r--r--arch/arm/mach-rmobile/cpu_info.c41
1 files changed, 32 insertions, 9 deletions
diff --git a/arch/arm/mach-rmobile/cpu_info.c b/arch/arm/mach-rmobile/cpu_info.c
index c9ebc9f..65a9ca8 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 */