Linux Audio

Check our new training course

Loading...
Note: File does not exist in v5.4.
  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
  9static 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};