1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org) 4 * 5 * Modifications for ppc64: 6 * Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com> 7 */ 8 9 #ifdef CONFIG_PPC64 10 #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ 11 PPC_FEATURE_HAS_FPU | PPC_FEATURE_64 | \ 12 PPC_FEATURE_BOOKE) 13 #else 14 #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ 15 PPC_FEATURE_BOOKE) 16 #endif 17 18 static struct cpu_spec cpu_specs[] __initdata = { 19 #ifdef CONFIG_PPC32 20 { /* e500mc */ 21 .pvr_mask = 0xffff0000, 22 .pvr_value = 0x80230000, 23 .cpu_name = "e500mc", 24 .cpu_features = CPU_FTRS_E500MC, 25 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, 26 .cpu_user_features2 = PPC_FEATURE2_ISEL, 27 .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | MMU_FTR_USE_TLBILX, 28 .icache_bsize = 64, 29 .dcache_bsize = 64, 30 .num_pmcs = 4, 31 .cpu_setup = __setup_cpu_e500mc, 32 .machine_check = machine_check_e500mc, 33 .platform = "ppce500mc", 34 .cpu_down_flush = cpu_down_flush_e500mc, 35 }, 36 #endif /* CONFIG_PPC32 */ 37 { /* e5500 */ 38 .pvr_mask = 0xffff0000, 39 .pvr_value = 0x80240000, 40 .cpu_name = "e5500", 41 .cpu_features = CPU_FTRS_E5500, 42 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, 43 .cpu_user_features2 = PPC_FEATURE2_ISEL, 44 .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | MMU_FTR_USE_TLBILX, 45 .icache_bsize = 64, 46 .dcache_bsize = 64, 47 .num_pmcs = 4, 48 .cpu_setup = __setup_cpu_e5500, 49 #ifndef CONFIG_PPC32 50 .cpu_restore = __restore_cpu_e5500, 51 #endif 52 .machine_check = machine_check_e500mc, 53 .platform = "ppce5500", 54 .cpu_down_flush = cpu_down_flush_e5500, 55 }, 56 { /* e6500 */ 57 .pvr_mask = 0xffff0000, 58 .pvr_value = 0x80400000, 59 .cpu_name = "e6500", 60 .cpu_features = CPU_FTRS_E6500, 61 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU | 62 PPC_FEATURE_HAS_ALTIVEC_COMP, 63 .cpu_user_features2 = PPC_FEATURE2_ISEL, 64 .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | MMU_FTR_USE_TLBILX, 65 .icache_bsize = 64, 66 .dcache_bsize = 64, 67 .num_pmcs = 6, 68 .cpu_setup = __setup_cpu_e6500, 69 #ifndef CONFIG_PPC32 70 .cpu_restore = __restore_cpu_e6500, 71 #endif 72 .machine_check = machine_check_e500mc, 73 .platform = "ppce6500", 74 .cpu_down_flush = cpu_down_flush_e6500, 75 }, 76 }; 77