diff options
author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2014-05-16 20:43:04 +0200 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2014-05-16 20:43:04 +0200 |
commit | a26acb7dc946b2fe7fa25736928878f6adf88f46 (patch) | |
tree | ec7b2197b076ecd658a68de12d7a3c03c7bf399f /arch/arm/cpu/armv7/rmobile/cpu_info.c | |
parent | 6a2f30a03acbf226aeb5a93783e6172aa0682d78 (diff) | |
parent | 8d18bcfd439b8422ab3bada2001cc2abd525d9f8 (diff) | |
download | u-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.c | 49 |
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; } |