diff options
Diffstat (limited to 'arch/sh/kernel/cpu/sh4/probe.c')
-rw-r--r-- | arch/sh/kernel/cpu/sh4/probe.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c index 9e89984c4f1d..c478b16dbf4b 100644 --- a/arch/sh/kernel/cpu/sh4/probe.c +++ b/arch/sh/kernel/cpu/sh4/probe.c | |||
@@ -126,17 +126,22 @@ int __init detect_cpu_and_cache_system(void) | |||
126 | CPU_HAS_LLSC; | 126 | CPU_HAS_LLSC; |
127 | break; | 127 | break; |
128 | case 0x3008: | 128 | case 0x3008: |
129 | if (prr == 0xa0 || prr == 0xa1) { | 129 | boot_cpu_data.icache.ways = 4; |
130 | boot_cpu_data.type = CPU_SH7722; | 130 | boot_cpu_data.dcache.ways = 4; |
131 | boot_cpu_data.icache.ways = 4; | 131 | boot_cpu_data.flags |= CPU_HAS_LLSC; |
132 | boot_cpu_data.dcache.ways = 4; | 132 | |
133 | boot_cpu_data.flags |= CPU_HAS_LLSC; | 133 | switch (prr) { |
134 | } | 134 | case 0x50: |
135 | else if (prr == 0x70) { | 135 | boot_cpu_data.type = CPU_SH7723; |
136 | boot_cpu_data.flags |= CPU_HAS_FPU | CPU_HAS_L2_CACHE; | ||
137 | break; | ||
138 | case 0x70: | ||
136 | boot_cpu_data.type = CPU_SH7366; | 139 | boot_cpu_data.type = CPU_SH7366; |
137 | boot_cpu_data.icache.ways = 4; | 140 | break; |
138 | boot_cpu_data.dcache.ways = 4; | 141 | case 0xa0: |
139 | boot_cpu_data.flags |= CPU_HAS_LLSC; | 142 | case 0xa1: |
143 | boot_cpu_data.type = CPU_SH7722; | ||
144 | break; | ||
140 | } | 145 | } |
141 | break; | 146 | break; |
142 | case 0x4000: /* 1st cut */ | 147 | case 0x4000: /* 1st cut */ |