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 	{ /* 476 DD2 core */
11 		.pvr_mask		= 0xffffffff,
12 		.pvr_value		= 0x11a52080,
13 		.cpu_name		= "476",
14 		.cpu_features		= CPU_FTRS_47X | CPU_FTR_476_DD2,
15 		.cpu_user_features	= COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
16 		.mmu_features		= MMU_FTR_TYPE_47x | MMU_FTR_USE_TLBIVAX_BCAST |
17 					  MMU_FTR_LOCK_BCAST_INVAL,
18 		.icache_bsize		= 32,
19 		.dcache_bsize		= 128,
20 		.machine_check		= machine_check_47x,
21 		.platform		= "ppc470",
22 	},
23 	{ /* 476fpe */
24 		.pvr_mask		= 0xffff0000,
25 		.pvr_value		= 0x7ff50000,
26 		.cpu_name		= "476fpe",
27 		.cpu_features		= CPU_FTRS_47X | CPU_FTR_476_DD2,
28 		.cpu_user_features	= COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
29 		.mmu_features		= MMU_FTR_TYPE_47x | MMU_FTR_USE_TLBIVAX_BCAST |
30 					  MMU_FTR_LOCK_BCAST_INVAL,
31 		.icache_bsize		= 32,
32 		.dcache_bsize		= 128,
33 		.machine_check		= machine_check_47x,
34 		.platform		= "ppc470",
35 	},
36 	{ /* 476 iss */
37 		.pvr_mask		= 0xffff0000,
38 		.pvr_value		= 0x00050000,
39 		.cpu_name		= "476",
40 		.cpu_features		= CPU_FTRS_47X,
41 		.cpu_user_features	= COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
42 		.mmu_features		= MMU_FTR_TYPE_47x | MMU_FTR_USE_TLBIVAX_BCAST |
43 					  MMU_FTR_LOCK_BCAST_INVAL,
44 		.icache_bsize		= 32,
45 		.dcache_bsize		= 128,
46 		.machine_check		= machine_check_47x,
47 		.platform		= "ppc470",
48 	},
49 	{ /* 476 others */
50 		.pvr_mask		= 0xffff0000,
51 		.pvr_value		= 0x11a50000,
52 		.cpu_name		= "476",
53 		.cpu_features		= CPU_FTRS_47X,
54 		.cpu_user_features	= COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
55 		.mmu_features		= MMU_FTR_TYPE_47x | MMU_FTR_USE_TLBIVAX_BCAST |
56 					  MMU_FTR_LOCK_BCAST_INVAL,
57 		.icache_bsize		= 32,
58 		.dcache_bsize		= 128,
59 		.machine_check		= machine_check_47x,
60 		.platform		= "ppc470",
61 	},
62 	{	/* default match */
63 		.pvr_mask		= 0x00000000,
64 		.pvr_value		= 0x00000000,
65 		.cpu_name		= "(generic 47x PPC)",
66 		.cpu_features		= CPU_FTRS_47X,
67 		.cpu_user_features	= COMMON_USER_BOOKE,
68 		.mmu_features		= MMU_FTR_TYPE_47x,
69 		.icache_bsize		= 32,
70 		.dcache_bsize		= 128,
71 		.machine_check		= machine_check_47x,
72 		.platform		= "ppc470",
73 	}
74 };
75