| /* 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) |
| #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, |
| }, |
| }; |