Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/kernel/cpu_specs_44x.h
26442 views
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
/*
3
* Copyright (C) 2001 Ben. Herrenschmidt ([email protected])
4
*/
5
6
#define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \
7
PPC_FEATURE_BOOKE)
8
9
static struct cpu_spec cpu_specs[] __initdata = {
10
{
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,
17
.icache_bsize = 32,
18
.dcache_bsize = 32,
19
.machine_check = machine_check_4xx,
20
.platform = "ppc440",
21
},
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,
29
.icache_bsize = 32,
30
.dcache_bsize = 32,
31
.cpu_setup = __setup_cpu_440ep,
32
.machine_check = machine_check_4xx,
33
.platform = "ppc440",
34
},
35
{
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,
42
.icache_bsize = 32,
43
.dcache_bsize = 32,
44
.machine_check = machine_check_4xx,
45
.platform = "ppc440",
46
},
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,
54
.icache_bsize = 32,
55
.dcache_bsize = 32,
56
.cpu_setup = __setup_cpu_440ep,
57
.machine_check = machine_check_4xx,
58
.platform = "ppc440",
59
},
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,
67
.icache_bsize = 32,
68
.dcache_bsize = 32,
69
.cpu_setup = __setup_cpu_440ep,
70
.machine_check = machine_check_4xx,
71
.platform = "ppc440",
72
},
73
{ /* 440GRX */
74
.pvr_mask = 0xf0000ffb,
75
.pvr_value = 0x200008D0,
76
.cpu_name = "440GRX",
77
.cpu_features = CPU_FTRS_44X,
78
.cpu_user_features = COMMON_USER_BOOKE,
79
.mmu_features = MMU_FTR_TYPE_44x,
80
.icache_bsize = 32,
81
.dcache_bsize = 32,
82
.cpu_setup = __setup_cpu_440grx,
83
.machine_check = machine_check_440A,
84
.platform = "ppc440",
85
},
86
{ /* Use logical PVR for 440EPx (logical pvr = pvr | 0x8) */
87
.pvr_mask = 0xf0000ffb,
88
.pvr_value = 0x200008D8,
89
.cpu_name = "440EPX",
90
.cpu_features = CPU_FTRS_44X,
91
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
92
.mmu_features = MMU_FTR_TYPE_44x,
93
.icache_bsize = 32,
94
.dcache_bsize = 32,
95
.cpu_setup = __setup_cpu_440epx,
96
.machine_check = machine_check_440A,
97
.platform = "ppc440",
98
},
99
{ /* 440GP Rev. B */
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,
106
.icache_bsize = 32,
107
.dcache_bsize = 32,
108
.machine_check = machine_check_4xx,
109
.platform = "ppc440gp",
110
},
111
{ /* 440GP Rev. C */
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,
118
.icache_bsize = 32,
119
.dcache_bsize = 32,
120
.machine_check = machine_check_4xx,
121
.platform = "ppc440gp",
122
},
123
{ /* 440GX Rev. A */
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,
130
.icache_bsize = 32,
131
.dcache_bsize = 32,
132
.cpu_setup = __setup_cpu_440gx,
133
.machine_check = machine_check_440A,
134
.platform = "ppc440",
135
},
136
{ /* 440GX Rev. B */
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,
143
.icache_bsize = 32,
144
.dcache_bsize = 32,
145
.cpu_setup = __setup_cpu_440gx,
146
.machine_check = machine_check_440A,
147
.platform = "ppc440",
148
},
149
{ /* 440GX Rev. C */
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,
156
.icache_bsize = 32,
157
.dcache_bsize = 32,
158
.cpu_setup = __setup_cpu_440gx,
159
.machine_check = machine_check_440A,
160
.platform = "ppc440",
161
},
162
{ /* 440GX Rev. F */
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,
169
.icache_bsize = 32,
170
.dcache_bsize = 32,
171
.cpu_setup = __setup_cpu_440gx,
172
.machine_check = machine_check_440A,
173
.platform = "ppc440",
174
},
175
{ /* 440SP Rev. A */
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,
182
.icache_bsize = 32,
183
.dcache_bsize = 32,
184
.machine_check = machine_check_4xx,
185
.platform = "ppc440",
186
},
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,
194
.icache_bsize = 32,
195
.dcache_bsize = 32,
196
.cpu_setup = __setup_cpu_440spe,
197
.machine_check = machine_check_440A,
198
.platform = "ppc440",
199
},
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,
207
.icache_bsize = 32,
208
.dcache_bsize = 32,
209
.cpu_setup = __setup_cpu_440spe,
210
.machine_check = machine_check_440A,
211
.platform = "ppc440",
212
},
213
{ /* 460EX */
214
.pvr_mask = 0xffff0006,
215
.pvr_value = 0x13020002,
216
.cpu_name = "460EX",
217
.cpu_features = CPU_FTRS_440x6,
218
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
219
.mmu_features = MMU_FTR_TYPE_44x,
220
.icache_bsize = 32,
221
.dcache_bsize = 32,
222
.cpu_setup = __setup_cpu_460ex,
223
.machine_check = machine_check_440A,
224
.platform = "ppc440",
225
},
226
{ /* 460EX Rev B */
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,
233
.icache_bsize = 32,
234
.dcache_bsize = 32,
235
.cpu_setup = __setup_cpu_460ex,
236
.machine_check = machine_check_440A,
237
.platform = "ppc440",
238
},
239
{ /* 460GT */
240
.pvr_mask = 0xffff0006,
241
.pvr_value = 0x13020000,
242
.cpu_name = "460GT",
243
.cpu_features = CPU_FTRS_440x6,
244
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
245
.mmu_features = MMU_FTR_TYPE_44x,
246
.icache_bsize = 32,
247
.dcache_bsize = 32,
248
.cpu_setup = __setup_cpu_460gt,
249
.machine_check = machine_check_440A,
250
.platform = "ppc440",
251
},
252
{ /* 460GT Rev B */
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,
259
.icache_bsize = 32,
260
.dcache_bsize = 32,
261
.cpu_setup = __setup_cpu_460gt,
262
.machine_check = machine_check_440A,
263
.platform = "ppc440",
264
},
265
{ /* 460SX */
266
.pvr_mask = 0xffffff00,
267
.pvr_value = 0x13541800,
268
.cpu_name = "460SX",
269
.cpu_features = CPU_FTRS_44X,
270
.cpu_user_features = COMMON_USER_BOOKE,
271
.mmu_features = MMU_FTR_TYPE_44x,
272
.icache_bsize = 32,
273
.dcache_bsize = 32,
274
.cpu_setup = __setup_cpu_460sx,
275
.machine_check = machine_check_440A,
276
.platform = "ppc440",
277
},
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 |
284
PPC_FEATURE_HAS_FPU,
285
.mmu_features = MMU_FTR_TYPE_44x,
286
.icache_bsize = 32,
287
.dcache_bsize = 32,
288
.cpu_setup = __setup_cpu_apm821xx,
289
.machine_check = machine_check_440A,
290
.platform = "ppc440",
291
},
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,
299
.icache_bsize = 32,
300
.dcache_bsize = 32,
301
.machine_check = machine_check_4xx,
302
.platform = "ppc440",
303
}
304
};
305
306