cpu_specs_e500mc.h 2.3 KB

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