Linux Audio

Check our new training course

Loading...
Note: File does not exist in v5.9.
  1/* SPDX-License-Identifier: GPL-2.0-or-later */
  2/*
  3 *  Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
  4 */
  5
  6static struct cpu_spec cpu_specs[] __initdata = {
  7	{	/* STB 04xxx */
  8		.pvr_mask		= 0xffff0000,
  9		.pvr_value		= 0x41810000,
 10		.cpu_name		= "STB04xxx",
 11		.cpu_features		= CPU_FTRS_40X,
 12		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
 13					  PPC_FEATURE_HAS_4xxMAC,
 14		.mmu_features		= MMU_FTR_TYPE_40x,
 15		.icache_bsize		= 32,
 16		.dcache_bsize		= 32,
 17		.machine_check		= machine_check_4xx,
 18		.platform		= "ppc405",
 19	},
 20	{	/* NP405L */
 21		.pvr_mask		= 0xffff0000,
 22		.pvr_value		= 0x41610000,
 23		.cpu_name		= "NP405L",
 24		.cpu_features		= CPU_FTRS_40X,
 25		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
 26					  PPC_FEATURE_HAS_4xxMAC,
 27		.mmu_features		= MMU_FTR_TYPE_40x,
 28		.icache_bsize		= 32,
 29		.dcache_bsize		= 32,
 30		.machine_check		= machine_check_4xx,
 31		.platform		= "ppc405",
 32	},
 33	{	/* NP4GS3 */
 34		.pvr_mask		= 0xffff0000,
 35		.pvr_value		= 0x40B10000,
 36		.cpu_name		= "NP4GS3",
 37		.cpu_features		= CPU_FTRS_40X,
 38		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
 39					  PPC_FEATURE_HAS_4xxMAC,
 40		.mmu_features		= MMU_FTR_TYPE_40x,
 41		.icache_bsize		= 32,
 42		.dcache_bsize		= 32,
 43		.machine_check		= machine_check_4xx,
 44		.platform		= "ppc405",
 45	},
 46	{   /* NP405H */
 47		.pvr_mask		= 0xffff0000,
 48		.pvr_value		= 0x41410000,
 49		.cpu_name		= "NP405H",
 50		.cpu_features		= CPU_FTRS_40X,
 51		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
 52					  PPC_FEATURE_HAS_4xxMAC,
 53		.mmu_features		= MMU_FTR_TYPE_40x,
 54		.icache_bsize		= 32,
 55		.dcache_bsize		= 32,
 56		.machine_check		= machine_check_4xx,
 57		.platform		= "ppc405",
 58	},
 59	{	/* 405GPr */
 60		.pvr_mask		= 0xffff0000,
 61		.pvr_value		= 0x50910000,
 62		.cpu_name		= "405GPr",
 63		.cpu_features		= CPU_FTRS_40X,
 64		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
 65					  PPC_FEATURE_HAS_4xxMAC,
 66		.mmu_features		= MMU_FTR_TYPE_40x,
 67		.icache_bsize		= 32,
 68		.dcache_bsize		= 32,
 69		.machine_check		= machine_check_4xx,
 70		.platform		= "ppc405",
 71	},
 72	{   /* STBx25xx */
 73		.pvr_mask		= 0xffff0000,
 74		.pvr_value		= 0x51510000,
 75		.cpu_name		= "STBx25xx",
 76		.cpu_features		= CPU_FTRS_40X,
 77		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
 78					  PPC_FEATURE_HAS_4xxMAC,
 79		.mmu_features		= MMU_FTR_TYPE_40x,
 80		.icache_bsize		= 32,
 81		.dcache_bsize		= 32,
 82		.machine_check		= machine_check_4xx,
 83		.platform		= "ppc405",
 84	},
 85	{	/* 405LP */
 86		.pvr_mask		= 0xffff0000,
 87		.pvr_value		= 0x41F10000,
 88		.cpu_name		= "405LP",
 89		.cpu_features		= CPU_FTRS_40X,
 90		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
 91		.mmu_features		= MMU_FTR_TYPE_40x,
 92		.icache_bsize		= 32,
 93		.dcache_bsize		= 32,
 94		.machine_check		= machine_check_4xx,
 95		.platform		= "ppc405",
 96	},
 97	{	/* 405EP */
 98		.pvr_mask		= 0xffff0000,
 99		.pvr_value		= 0x51210000,
100		.cpu_name		= "405EP",
101		.cpu_features		= CPU_FTRS_40X,
102		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
103					  PPC_FEATURE_HAS_4xxMAC,
104		.mmu_features		= MMU_FTR_TYPE_40x,
105		.icache_bsize		= 32,
106		.dcache_bsize		= 32,
107		.machine_check		= machine_check_4xx,
108		.platform		= "ppc405",
109	},
110	{	/* 405EX Rev. A/B with Security */
111		.pvr_mask		= 0xffff000f,
112		.pvr_value		= 0x12910007,
113		.cpu_name		= "405EX Rev. A/B",
114		.cpu_features		= CPU_FTRS_40X,
115		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
116					  PPC_FEATURE_HAS_4xxMAC,
117		.mmu_features		= MMU_FTR_TYPE_40x,
118		.icache_bsize		= 32,
119		.dcache_bsize		= 32,
120		.machine_check		= machine_check_4xx,
121		.platform		= "ppc405",
122	},
123	{	/* 405EX Rev. C without Security */
124		.pvr_mask		= 0xffff000f,
125		.pvr_value		= 0x1291000d,
126		.cpu_name		= "405EX Rev. C",
127		.cpu_features		= CPU_FTRS_40X,
128		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
129					  PPC_FEATURE_HAS_4xxMAC,
130		.mmu_features		= MMU_FTR_TYPE_40x,
131		.icache_bsize		= 32,
132		.dcache_bsize		= 32,
133		.machine_check		= machine_check_4xx,
134		.platform		= "ppc405",
135	},
136	{	/* 405EX Rev. C with Security */
137		.pvr_mask		= 0xffff000f,
138		.pvr_value		= 0x1291000f,
139		.cpu_name		= "405EX Rev. C",
140		.cpu_features		= CPU_FTRS_40X,
141		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
142					  PPC_FEATURE_HAS_4xxMAC,
143		.mmu_features		= MMU_FTR_TYPE_40x,
144		.icache_bsize		= 32,
145		.dcache_bsize		= 32,
146		.machine_check		= machine_check_4xx,
147		.platform		= "ppc405",
148	},
149	{	/* 405EX Rev. D without Security */
150		.pvr_mask		= 0xffff000f,
151		.pvr_value		= 0x12910003,
152		.cpu_name		= "405EX Rev. D",
153		.cpu_features		= CPU_FTRS_40X,
154		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
155					  PPC_FEATURE_HAS_4xxMAC,
156		.mmu_features		= MMU_FTR_TYPE_40x,
157		.icache_bsize		= 32,
158		.dcache_bsize		= 32,
159		.machine_check		= machine_check_4xx,
160		.platform		= "ppc405",
161	},
162	{	/* 405EX Rev. D with Security */
163		.pvr_mask		= 0xffff000f,
164		.pvr_value		= 0x12910005,
165		.cpu_name		= "405EX Rev. D",
166		.cpu_features		= CPU_FTRS_40X,
167		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
168					  PPC_FEATURE_HAS_4xxMAC,
169		.mmu_features		= MMU_FTR_TYPE_40x,
170		.icache_bsize		= 32,
171		.dcache_bsize		= 32,
172		.machine_check		= machine_check_4xx,
173		.platform		= "ppc405",
174	},
175	{	/* 405EXr Rev. A/B without Security */
176		.pvr_mask		= 0xffff000f,
177		.pvr_value		= 0x12910001,
178		.cpu_name		= "405EXr Rev. A/B",
179		.cpu_features		= CPU_FTRS_40X,
180		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
181					  PPC_FEATURE_HAS_4xxMAC,
182		.mmu_features		= MMU_FTR_TYPE_40x,
183		.icache_bsize		= 32,
184		.dcache_bsize		= 32,
185		.machine_check		= machine_check_4xx,
186		.platform		= "ppc405",
187	},
188	{	/* 405EXr Rev. C without Security */
189		.pvr_mask		= 0xffff000f,
190		.pvr_value		= 0x12910009,
191		.cpu_name		= "405EXr Rev. C",
192		.cpu_features		= CPU_FTRS_40X,
193		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
194					  PPC_FEATURE_HAS_4xxMAC,
195		.mmu_features		= MMU_FTR_TYPE_40x,
196		.icache_bsize		= 32,
197		.dcache_bsize		= 32,
198		.machine_check		= machine_check_4xx,
199		.platform		= "ppc405",
200	},
201	{	/* 405EXr Rev. C with Security */
202		.pvr_mask		= 0xffff000f,
203		.pvr_value		= 0x1291000b,
204		.cpu_name		= "405EXr Rev. C",
205		.cpu_features		= CPU_FTRS_40X,
206		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
207					  PPC_FEATURE_HAS_4xxMAC,
208		.mmu_features		= MMU_FTR_TYPE_40x,
209		.icache_bsize		= 32,
210		.dcache_bsize		= 32,
211		.machine_check		= machine_check_4xx,
212		.platform		= "ppc405",
213	},
214	{	/* 405EXr Rev. D without Security */
215		.pvr_mask		= 0xffff000f,
216		.pvr_value		= 0x12910000,
217		.cpu_name		= "405EXr Rev. D",
218		.cpu_features		= CPU_FTRS_40X,
219		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
220					  PPC_FEATURE_HAS_4xxMAC,
221		.mmu_features		= MMU_FTR_TYPE_40x,
222		.icache_bsize		= 32,
223		.dcache_bsize		= 32,
224		.machine_check		= machine_check_4xx,
225		.platform		= "ppc405",
226	},
227	{	/* 405EXr Rev. D with Security */
228		.pvr_mask		= 0xffff000f,
229		.pvr_value		= 0x12910002,
230		.cpu_name		= "405EXr Rev. D",
231		.cpu_features		= CPU_FTRS_40X,
232		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
233					  PPC_FEATURE_HAS_4xxMAC,
234		.mmu_features		= MMU_FTR_TYPE_40x,
235		.icache_bsize		= 32,
236		.dcache_bsize		= 32,
237		.machine_check		= machine_check_4xx,
238		.platform		= "ppc405",
239	},
240	{
241		/* 405EZ */
242		.pvr_mask		= 0xffff0000,
243		.pvr_value		= 0x41510000,
244		.cpu_name		= "405EZ",
245		.cpu_features		= CPU_FTRS_40X,
246		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
247					  PPC_FEATURE_HAS_4xxMAC,
248		.mmu_features		= MMU_FTR_TYPE_40x,
249		.icache_bsize		= 32,
250		.dcache_bsize		= 32,
251		.machine_check		= machine_check_4xx,
252		.platform		= "ppc405",
253	},
254	{	/* APM8018X */
255		.pvr_mask		= 0xffff0000,
256		.pvr_value		= 0x7ff11432,
257		.cpu_name		= "APM8018X",
258		.cpu_features		= CPU_FTRS_40X,
259		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
260					  PPC_FEATURE_HAS_4xxMAC,
261		.mmu_features		= MMU_FTR_TYPE_40x,
262		.icache_bsize		= 32,
263		.dcache_bsize		= 32,
264		.machine_check		= machine_check_4xx,
265		.platform		= "ppc405",
266	},
267	{	/* default match */
268		.pvr_mask		= 0x00000000,
269		.pvr_value		= 0x00000000,
270		.cpu_name		= "(generic 40x PPC)",
271		.cpu_features		= CPU_FTRS_40X,
272		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU |
273					  PPC_FEATURE_HAS_4xxMAC,
274		.mmu_features		= MMU_FTR_TYPE_40x,
275		.icache_bsize		= 32,
276		.dcache_bsize		= 32,
277		.machine_check		= machine_check_4xx,
278		.platform		= "ppc405",
279	}
280};