1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * (C) Copyright 2012 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> 4 * (C) Copyright 2012 Renesas Solutions Corp. 5 */ 6 #include <common.h> 7 #include <asm/io.h> 8 9 #ifdef CONFIG_ARCH_CPU_INIT 10 int arch_cpu_init(void) 11 { 12 icache_enable(); 13 return 0; 14 } 15 #endif 16 17 #ifndef CONFIG_SYS_DCACHE_OFF 18 void enable_caches(void) 19 { 20 dcache_enable(); 21 } 22 #endif 23 24 #ifdef CONFIG_DISPLAY_CPUINFO 25 static u32 __rmobile_get_cpu_type(void) 26 { 27 return 0x0; 28 } 29 u32 rmobile_get_cpu_type(void) 30 __attribute__((weak, alias("__rmobile_get_cpu_type"))); 31 32 static u32 __rmobile_get_cpu_rev_integer(void) 33 { 34 return 0; 35 } 36 u32 rmobile_get_cpu_rev_integer(void) 37 __attribute__((weak, alias("__rmobile_get_cpu_rev_integer"))); 38 39 static u32 __rmobile_get_cpu_rev_fraction(void) 40 { 41 return 0; 42 } 43 u32 rmobile_get_cpu_rev_fraction(void) 44 __attribute__((weak, alias("__rmobile_get_cpu_rev_fraction"))); 45 46 /* CPU infomation table */ 47 static const struct { 48 u16 cpu_type; 49 u8 cpu_name[10]; 50 } rmobile_cpuinfo[] = { 51 { RMOBILE_CPU_TYPE_SH73A0, "SH73A0" }, 52 { RMOBILE_CPU_TYPE_R8A7740, "R8A7740" }, 53 { RMOBILE_CPU_TYPE_R8A7790, "R8A7790" }, 54 { RMOBILE_CPU_TYPE_R8A7791, "R8A7791" }, 55 { RMOBILE_CPU_TYPE_R8A7792, "R8A7792" }, 56 { RMOBILE_CPU_TYPE_R8A7793, "R8A7793" }, 57 { RMOBILE_CPU_TYPE_R8A7794, "R8A7794" }, 58 { RMOBILE_CPU_TYPE_R8A7795, "R8A7795" }, 59 { RMOBILE_CPU_TYPE_R8A7796, "R8A7796" }, 60 { RMOBILE_CPU_TYPE_R8A77965, "R8A77965" }, 61 { RMOBILE_CPU_TYPE_R8A77970, "R8A77970" }, 62 { RMOBILE_CPU_TYPE_R8A77990, "R8A77990" }, 63 { RMOBILE_CPU_TYPE_R8A77995, "R8A77995" }, 64 { 0x0, "CPU" }, 65 }; 66 67 int print_cpuinfo(void) 68 { 69 int i = 0; 70 u32 cpu_type = rmobile_get_cpu_type(); 71 for (; i < ARRAY_SIZE(rmobile_cpuinfo); i++) { 72 if (rmobile_cpuinfo[i].cpu_type == cpu_type) { 73 printf("CPU: Renesas Electronics %s rev %d.%d\n", 74 rmobile_cpuinfo[i].cpu_name, 75 rmobile_get_cpu_rev_integer(), 76 rmobile_get_cpu_rev_fraction()); 77 break; 78 } 79 } 80 return 0; 81 } 82 #endif /* CONFIG_DISPLAY_CPUINFO */ 83