summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/rmobile/cpu_info.c
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-05-16 20:43:04 +0200
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-05-16 20:43:04 +0200
commita26acb7dc946b2fe7fa25736928878f6adf88f46 (patch)
treeec7b2197b076ecd658a68de12d7a3c03c7bf399f /arch/arm/cpu/armv7/rmobile/cpu_info.c
parent6a2f30a03acbf226aeb5a93783e6172aa0682d78 (diff)
parent8d18bcfd439b8422ab3bada2001cc2abd525d9f8 (diff)
downloadu-boot-imx-a26acb7dc946b2fe7fa25736928878f6adf88f46.zip
u-boot-imx-a26acb7dc946b2fe7fa25736928878f6adf88f46.tar.gz
u-boot-imx-a26acb7dc946b2fe7fa25736928878f6adf88f46.tar.bz2
Merge remote-tracking branch 'u-boot-sh/rmobile'
Conflicts: boards.cfg Trivial conflict, maintainer change plus board addition
Diffstat (limited to 'arch/arm/cpu/armv7/rmobile/cpu_info.c')
-rw-r--r--arch/arm/cpu/armv7/rmobile/cpu_info.c49
1 files changed, 22 insertions, 27 deletions
diff --git a/arch/arm/cpu/armv7/rmobile/cpu_info.c b/arch/arm/cpu/armv7/rmobile/cpu_info.c
index 83d5282..7a7c97d 100644
--- a/arch/arm/cpu/armv7/rmobile/cpu_info.c
+++ b/arch/arm/cpu/armv7/rmobile/cpu_info.c
@@ -44,35 +44,30 @@ static u32 __rmobile_get_cpu_rev_fraction(void)
u32 rmobile_get_cpu_rev_fraction(void)
__attribute__((weak, alias("__rmobile_get_cpu_rev_fraction")));
+/* CPU infomation table */
+static const struct {
+ u16 cpu_type;
+ u8 cpu_name[10];
+} rmobile_cpuinfo[] = {
+ { 0x37, "SH73A0" },
+ { 0x40, "R8A7740" },
+ { 0x45, "R8A7790" },
+ { 0x47, "R8A7791" },
+ { 0x0, "CPU" },
+};
+
int print_cpuinfo(void)
{
- switch (rmobile_get_cpu_type()) {
- case 0x37:
- printf("CPU: Renesas Electronics SH73A0 rev %d.%d\n",
- rmobile_get_cpu_rev_integer(),
- rmobile_get_cpu_rev_fraction());
- break;
- case 0x40:
- printf("CPU: Renesas Electronics R8A7740 rev %d.%d\n",
- rmobile_get_cpu_rev_integer(),
- rmobile_get_cpu_rev_fraction());
- break;
-
- case 0x45:
- printf("CPU: Renesas Electronics R8A7790 rev %d\n",
- rmobile_get_cpu_rev_integer());
- break;
-
- case 0x47:
- printf("CPU: Renesas Electronics R8A7791 rev %d\n",
- rmobile_get_cpu_rev_integer());
- break;
-
- default:
- printf("CPU: Renesas Electronics CPU rev %d.%d\n",
- rmobile_get_cpu_rev_integer(),
- rmobile_get_cpu_rev_fraction());
- break;
+ 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());
+ break;
+ }
}
return 0;
}