| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org) |
| */ |
| |
| static struct cpu_spec cpu_specs[] __initdata = { |
| { /* STB 04xxx */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x41810000, |
| .cpu_name = "STB04xxx", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* NP405L */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x41610000, |
| .cpu_name = "NP405L", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* NP4GS3 */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x40B10000, |
| .cpu_name = "NP4GS3", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* NP405H */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x41410000, |
| .cpu_name = "NP405H", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405GPr */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x50910000, |
| .cpu_name = "405GPr", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* STBx25xx */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x51510000, |
| .cpu_name = "STBx25xx", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405LP */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x41F10000, |
| .cpu_name = "405LP", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EP */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x51210000, |
| .cpu_name = "405EP", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EX Rev. A/B with Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910007, |
| .cpu_name = "405EX Rev. A/B", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EX Rev. C without Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x1291000d, |
| .cpu_name = "405EX Rev. C", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EX Rev. C with Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x1291000f, |
| .cpu_name = "405EX Rev. C", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EX Rev. D without Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910003, |
| .cpu_name = "405EX Rev. D", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EX Rev. D with Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910005, |
| .cpu_name = "405EX Rev. D", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EXr Rev. A/B without Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910001, |
| .cpu_name = "405EXr Rev. A/B", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EXr Rev. C without Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910009, |
| .cpu_name = "405EXr Rev. C", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EXr Rev. C with Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x1291000b, |
| .cpu_name = "405EXr Rev. C", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EXr Rev. D without Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910000, |
| .cpu_name = "405EXr Rev. D", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* 405EXr Rev. D with Security */ |
| .pvr_mask = 0xffff000f, |
| .pvr_value = 0x12910002, |
| .cpu_name = "405EXr Rev. D", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { |
| /* 405EZ */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x41510000, |
| .cpu_name = "405EZ", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* APM8018X */ |
| .pvr_mask = 0xffff0000, |
| .pvr_value = 0x7ff11432, |
| .cpu_name = "APM8018X", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| }, |
| { /* default match */ |
| .pvr_mask = 0x00000000, |
| .pvr_value = 0x00000000, |
| .cpu_name = "(generic 40x PPC)", |
| .cpu_features = CPU_FTRS_40X, |
| .cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | |
| PPC_FEATURE_HAS_4xxMAC, |
| .mmu_features = MMU_FTR_TYPE_40x, |
| .icache_bsize = 32, |
| .dcache_bsize = 32, |
| .machine_check = machine_check_4xx, |
| .platform = "ppc405", |
| } |
| }; |