arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / powerpc / kernel / cpu_specs_44x.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  *  Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
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 };