cpu_specs_e500mc.h 2.3 KB

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