1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
9 static struct cpu_spec cpu_specs[] __initdata = {
11 .pvr_mask = 0xf0000fff,
12 .pvr_value = 0x40000850,
13 .cpu_name = "440GR Rev. A",
14 .cpu_features = CPU_FTRS_44X,
15 .cpu_user_features = COMMON_USER_BOOKE,
16 .mmu_features = MMU_FTR_TYPE_44x,
19 .machine_check = machine_check_4xx,
22 { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
23 .pvr_mask = 0xf0000fff,
24 .pvr_value = 0x40000858,
25 .cpu_name = "440EP Rev. A",
26 .cpu_features = CPU_FTRS_44X,
27 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
28 .mmu_features = MMU_FTR_TYPE_44x,
31 .cpu_setup = __setup_cpu_440ep,
32 .machine_check = machine_check_4xx,
36 .pvr_mask = 0xf0000fff,
37 .pvr_value = 0x400008d3,
38 .cpu_name = "440GR Rev. B",
39 .cpu_features = CPU_FTRS_44X,
40 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
41 .mmu_features = MMU_FTR_TYPE_44x,
44 .machine_check = machine_check_4xx,
47 { /* Matches both physical and logical PVR for 440EP (logical pvr = pvr | 0x8) */
48 .pvr_mask = 0xf0000ff7,
49 .pvr_value = 0x400008d4,
50 .cpu_name = "440EP Rev. C",
51 .cpu_features = CPU_FTRS_44X,
52 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
53 .mmu_features = MMU_FTR_TYPE_44x,
56 .cpu_setup = __setup_cpu_440ep,
57 .machine_check = machine_check_4xx,
60 { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
61 .pvr_mask = 0xf0000fff,
62 .pvr_value = 0x400008db,
63 .cpu_name = "440EP Rev. B",
64 .cpu_features = CPU_FTRS_44X,
65 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
66 .mmu_features = MMU_FTR_TYPE_44x,
69 .cpu_setup = __setup_cpu_440ep,
70 .machine_check = machine_check_4xx,
74 .pvr_mask = 0xf0000ffb,
75 .pvr_value = 0x200008D0,
77 .cpu_features = CPU_FTRS_44X,
78 .cpu_user_features = COMMON_USER_BOOKE,
79 .mmu_features = MMU_FTR_TYPE_44x,
82 .cpu_setup = __setup_cpu_440grx,
83 .machine_check = machine_check_440A,
86 { /* Use logical PVR for 440EPx (logical pvr = pvr | 0x8) */
87 .pvr_mask = 0xf0000ffb,
88 .pvr_value = 0x200008D8,
90 .cpu_features = CPU_FTRS_44X,
91 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
92 .mmu_features = MMU_FTR_TYPE_44x,
95 .cpu_setup = __setup_cpu_440epx,
96 .machine_check = machine_check_440A,
100 .pvr_mask = 0xf0000fff,
101 .pvr_value = 0x40000440,
102 .cpu_name = "440GP Rev. B",
103 .cpu_features = CPU_FTRS_44X,
104 .cpu_user_features = COMMON_USER_BOOKE,
105 .mmu_features = MMU_FTR_TYPE_44x,
108 .machine_check = machine_check_4xx,
109 .platform = "ppc440gp",
112 .pvr_mask = 0xf0000fff,
113 .pvr_value = 0x40000481,
114 .cpu_name = "440GP Rev. C",
115 .cpu_features = CPU_FTRS_44X,
116 .cpu_user_features = COMMON_USER_BOOKE,
117 .mmu_features = MMU_FTR_TYPE_44x,
120 .machine_check = machine_check_4xx,
121 .platform = "ppc440gp",
124 .pvr_mask = 0xf0000fff,
125 .pvr_value = 0x50000850,
126 .cpu_name = "440GX Rev. A",
127 .cpu_features = CPU_FTRS_44X,
128 .cpu_user_features = COMMON_USER_BOOKE,
129 .mmu_features = MMU_FTR_TYPE_44x,
132 .cpu_setup = __setup_cpu_440gx,
133 .machine_check = machine_check_440A,
134 .platform = "ppc440",
137 .pvr_mask = 0xf0000fff,
138 .pvr_value = 0x50000851,
139 .cpu_name = "440GX Rev. B",
140 .cpu_features = CPU_FTRS_44X,
141 .cpu_user_features = COMMON_USER_BOOKE,
142 .mmu_features = MMU_FTR_TYPE_44x,
145 .cpu_setup = __setup_cpu_440gx,
146 .machine_check = machine_check_440A,
147 .platform = "ppc440",
150 .pvr_mask = 0xf0000fff,
151 .pvr_value = 0x50000892,
152 .cpu_name = "440GX Rev. C",
153 .cpu_features = CPU_FTRS_44X,
154 .cpu_user_features = COMMON_USER_BOOKE,
155 .mmu_features = MMU_FTR_TYPE_44x,
158 .cpu_setup = __setup_cpu_440gx,
159 .machine_check = machine_check_440A,
160 .platform = "ppc440",
163 .pvr_mask = 0xf0000fff,
164 .pvr_value = 0x50000894,
165 .cpu_name = "440GX Rev. F",
166 .cpu_features = CPU_FTRS_44X,
167 .cpu_user_features = COMMON_USER_BOOKE,
168 .mmu_features = MMU_FTR_TYPE_44x,
171 .cpu_setup = __setup_cpu_440gx,
172 .machine_check = machine_check_440A,
173 .platform = "ppc440",
176 .pvr_mask = 0xfff00fff,
177 .pvr_value = 0x53200891,
178 .cpu_name = "440SP Rev. A",
179 .cpu_features = CPU_FTRS_44X,
180 .cpu_user_features = COMMON_USER_BOOKE,
181 .mmu_features = MMU_FTR_TYPE_44x,
184 .machine_check = machine_check_4xx,
185 .platform = "ppc440",
187 { /* 440SPe Rev. A */
188 .pvr_mask = 0xfff00fff,
189 .pvr_value = 0x53400890,
190 .cpu_name = "440SPe Rev. A",
191 .cpu_features = CPU_FTRS_44X,
192 .cpu_user_features = COMMON_USER_BOOKE,
193 .mmu_features = MMU_FTR_TYPE_44x,
196 .cpu_setup = __setup_cpu_440spe,
197 .machine_check = machine_check_440A,
198 .platform = "ppc440",
200 { /* 440SPe Rev. B */
201 .pvr_mask = 0xfff00fff,
202 .pvr_value = 0x53400891,
203 .cpu_name = "440SPe Rev. B",
204 .cpu_features = CPU_FTRS_44X,
205 .cpu_user_features = COMMON_USER_BOOKE,
206 .mmu_features = MMU_FTR_TYPE_44x,
209 .cpu_setup = __setup_cpu_440spe,
210 .machine_check = machine_check_440A,
211 .platform = "ppc440",
214 .pvr_mask = 0xffff0006,
215 .pvr_value = 0x13020002,
217 .cpu_features = CPU_FTRS_440x6,
218 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
219 .mmu_features = MMU_FTR_TYPE_44x,
222 .cpu_setup = __setup_cpu_460ex,
223 .machine_check = machine_check_440A,
224 .platform = "ppc440",
227 .pvr_mask = 0xffff0007,
228 .pvr_value = 0x13020004,
229 .cpu_name = "460EX Rev. B",
230 .cpu_features = CPU_FTRS_440x6,
231 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
232 .mmu_features = MMU_FTR_TYPE_44x,
235 .cpu_setup = __setup_cpu_460ex,
236 .machine_check = machine_check_440A,
237 .platform = "ppc440",
240 .pvr_mask = 0xffff0006,
241 .pvr_value = 0x13020000,
243 .cpu_features = CPU_FTRS_440x6,
244 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
245 .mmu_features = MMU_FTR_TYPE_44x,
248 .cpu_setup = __setup_cpu_460gt,
249 .machine_check = machine_check_440A,
250 .platform = "ppc440",
253 .pvr_mask = 0xffff0007,
254 .pvr_value = 0x13020005,
255 .cpu_name = "460GT Rev. B",
256 .cpu_features = CPU_FTRS_440x6,
257 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
258 .mmu_features = MMU_FTR_TYPE_44x,
261 .cpu_setup = __setup_cpu_460gt,
262 .machine_check = machine_check_440A,
263 .platform = "ppc440",
266 .pvr_mask = 0xffffff00,
267 .pvr_value = 0x13541800,
269 .cpu_features = CPU_FTRS_44X,
270 .cpu_user_features = COMMON_USER_BOOKE,
271 .mmu_features = MMU_FTR_TYPE_44x,
274 .cpu_setup = __setup_cpu_460sx,
275 .machine_check = machine_check_440A,
276 .platform = "ppc440",
278 { /* 464 in APM821xx */
279 .pvr_mask = 0xfffffff0,
280 .pvr_value = 0x12C41C80,
281 .cpu_name = "APM821XX",
282 .cpu_features = CPU_FTRS_44X,
283 .cpu_user_features = COMMON_USER_BOOKE |
285 .mmu_features = MMU_FTR_TYPE_44x,
288 .cpu_setup = __setup_cpu_apm821xx,
289 .machine_check = machine_check_440A,
290 .platform = "ppc440",
292 { /* default match */
293 .pvr_mask = 0x00000000,
294 .pvr_value = 0x00000000,
295 .cpu_name = "(generic 44x PPC)",
296 .cpu_features = CPU_FTRS_44X,
297 .cpu_user_features = COMMON_USER_BOOKE,
298 .mmu_features = MMU_FTR_TYPE_44x,
301 .machine_check = machine_check_4xx,
302 .platform = "ppc440",