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 { /* e500 */ 11 .pvr_mask = 0xffff0000, 12 .pvr_value = 0x80200000, 13 .cpu_name = "e500", 14 .cpu_features = CPU_FTRS_E500, 15 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_SPE_COMP | 16 PPC_FEATURE_HAS_EFP_SINGLE_COMP, 17 .cpu_user_features2 = PPC_FEATURE2_ISEL, 18 .mmu_features = MMU_FTR_TYPE_FSL_E, 19 .icache_bsize = 32, 20 .dcache_bsize = 32, 21 .num_pmcs = 4, 22 .cpu_setup = __setup_cpu_e500v1, 23 .machine_check = machine_check_e500, 24 .platform = "ppc8540", 25 }, 26 { /* e500v2 */ 27 .pvr_mask = 0xffff0000, 28 .pvr_value = 0x80210000, 29 .cpu_name = "e500v2", 30 .cpu_features = CPU_FTRS_E500_2, 31 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_SPE_COMP | 32 PPC_FEATURE_HAS_EFP_SINGLE_COMP | 33 PPC_FEATURE_HAS_EFP_DOUBLE_COMP, 34 .cpu_user_features2 = PPC_FEATURE2_ISEL, 35 .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS, 36 .icache_bsize = 32, 37 .dcache_bsize = 32, 38 .num_pmcs = 4, 39 .cpu_setup = __setup_cpu_e500v2, 40 .machine_check = machine_check_e500, 41 .platform = "ppc8548", 42 .cpu_down_flush = cpu_down_flush_e500v2, 43 }, 44 { /* default match */ 45 .pvr_mask = 0x00000000, 46 .pvr_value = 0x00000000, 47 .cpu_name = "(generic E500 PPC)", 48 .cpu_features = CPU_FTRS_E500, 49 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_SPE_COMP | 50 PPC_FEATURE_HAS_EFP_SINGLE_COMP, 51 .mmu_features = MMU_FTR_TYPE_FSL_E, 52 .icache_bsize = 32, 53 .dcache_bsize = 32, 54 .machine_check = machine_check_e500, 55 .platform = "powerpc", 56 } 57 }; 58