| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org) | |
| * | |
| * Modifications for ppc64: | |
| * Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com> | |
| */ | |
| #ifdef CONFIG_PPC64 | |
| #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ | |
| PPC_FEATURE_HAS_FPU | PPC_FEATURE_64 | \ | |
| PPC_FEATURE_BOOKE) | |
| #else | |
| #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ | |
| PPC_FEATURE_BOOKE) | |
| #endif | |
| static struct cpu_spec cpu_specs[] __initdata = { | |
| #ifdef CONFIG_PPC32 | |
| { /* e500mc */ | |
| .pvr_mask = 0xffff0000, | |
| .pvr_value = 0x80230000, | |
| .cpu_name = "e500mc", | |
| .cpu_features = CPU_FTRS_E500MC, | |
| .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | |
| .cpu_user_features2 = PPC_FEATURE2_ISEL, | |
| .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | MMU_FTR_USE_TLBILX, | |
| .icache_bsize = 64, | |
| .dcache_bsize = 64, | |
| .num_pmcs = 4, | |
| .cpu_setup = __setup_cpu_e500mc, | |
| .machine_check = machine_check_e500mc, | |
| .platform = "ppce500mc", | |
| .cpu_down_flush = cpu_down_flush_e500mc, | |
| }, | |
| #endif /* CONFIG_PPC32 */ | |
| { /* e5500 */ | |
| .pvr_mask = 0xffff0000, | |
| .pvr_value = 0x80240000, | |
| .cpu_name = "e5500", | |
| .cpu_features = CPU_FTRS_E5500, | |
| .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | |
| .cpu_user_features2 = PPC_FEATURE2_ISEL, | |
| .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | MMU_FTR_USE_TLBILX, | |
| .icache_bsize = 64, | |
| .dcache_bsize = 64, | |
| .num_pmcs = 4, | |
| .cpu_setup = __setup_cpu_e5500, | |
| #ifndef CONFIG_PPC32 | |
| .cpu_restore = __restore_cpu_e5500, | |
| #endif | |
| .machine_check = machine_check_e500mc, | |
| .platform = "ppce5500", | |
| .cpu_down_flush = cpu_down_flush_e5500, | |
| }, | |
| { /* e6500 */ | |
| .pvr_mask = 0xffff0000, | |
| .pvr_value = 0x80400000, | |
| .cpu_name = "e6500", | |
| .cpu_features = CPU_FTRS_E6500, | |
| .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU | | |
| PPC_FEATURE_HAS_ALTIVEC_COMP, | |
| .cpu_user_features2 = PPC_FEATURE2_ISEL, | |
| .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | MMU_FTR_USE_TLBILX, | |
| .icache_bsize = 64, | |
| .dcache_bsize = 64, | |
| .num_pmcs = 6, | |
| .cpu_setup = __setup_cpu_e6500, | |
| #ifndef CONFIG_PPC32 | |
| .cpu_restore = __restore_cpu_e6500, | |
| #endif | |
| .machine_check = machine_check_e500mc, | |
| .platform = "ppce6500", | |
| .cpu_down_flush = cpu_down_flush_e6500, | |
| }, | |
| }; |