mpc83xx_cpu.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2018
  4. * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc
  5. */
  6. #ifndef _MPC83XX_CPU_H_
  7. #define _MPC83XX_CPU_H_
  8. /**
  9. * enum e300_type - Identifiers for e300 cores
  10. * @E300C1: Identifier for e300c1 cores
  11. * @E300C2: Identifier for e300c2 cores
  12. * @E300C3: Identifier for e300c3 cores
  13. * @E300C4: Identifier for e300c4 cores
  14. * @E300_UNKNOWN: Identifier for unknown e300 cores
  15. */
  16. enum e300_type {
  17. E300C1,
  18. E300C2,
  19. E300C3,
  20. E300C4,
  21. E300_UNKNOWN,
  22. };
  23. /* Array mapping the e300 core types to their human-readable names */
  24. static const char * const e300_names[] = {
  25. [E300C1] = "e300c1",
  26. [E300C2] = "e300c2",
  27. [E300C3] = "e300c3",
  28. [E300C4] = "e300c4",
  29. [E300_UNKNOWN] = "Unknown e300",
  30. };
  31. /**
  32. * enum mpc83xx_cpu_family - Identifiers for MPC83xx CPU families
  33. * @FAMILY_830X: Identifier for the MPC830x CPU family
  34. * @FAMILY_831X: Identifier for the MPC831x CPU family
  35. * @FAMILY_832X: Identifier for the MPC832x CPU family
  36. * @FAMILY_834X: Identifier for the MPC834x CPU family
  37. * @FAMILY_836X: Identifier for the MPC836x CPU family
  38. * @FAMILY_837X: Identifier for the MPC837x CPU family
  39. * @FAMILY_UNKNOWN: Identifier for an unknown MPC83xx CPU family
  40. */
  41. enum mpc83xx_cpu_family {
  42. FAMILY_830X,
  43. FAMILY_831X,
  44. FAMILY_832X,
  45. FAMILY_834X,
  46. FAMILY_836X,
  47. FAMILY_837X,
  48. FAMILY_UNKNOWN,
  49. };
  50. /**
  51. * enum mpc83xx_cpu_type - Identifiers for MPC83xx CPU types
  52. * @TYPE_8308: Identifier for the MPC8308 CPU type
  53. * @TYPE_8309: Identifier for the MPC8309 CPU type
  54. * @TYPE_8311: Identifier for the MPC8311 CPU type
  55. * @TYPE_8313: Identifier for the MPC8313 CPU type
  56. * @TYPE_8314: Identifier for the MPC8314 CPU type
  57. * @TYPE_8315: Identifier for the MPC8315 CPU type
  58. * @TYPE_8321: Identifier for the MPC8321 CPU type
  59. * @TYPE_8323: Identifier for the MPC8323 CPU type
  60. * @TYPE_8343: Identifier for the MPC8343 CPU type
  61. * @TYPE_8347_TBGA: Identifier for the MPC8347 CPU type (Tape Ball Grid Array
  62. * version)
  63. * @TYPE_8347_PBGA: Identifier for the MPC8347 CPU type (Plastic Ball Grid Array
  64. * version)
  65. * @TYPE_8349: Identifier for the MPC8349 CPU type
  66. * @TYPE_8358_TBGA: Identifier for the MPC8358 CPU type (Tape Ball Grid Array
  67. * version)
  68. * @TYPE_8358_PBGA: Identifier for the MPC8358 CPU type (Plastic Ball Grid Array
  69. * version)
  70. * @TYPE_8360: Identifier for the MPC8360 CPU type
  71. * @TYPE_8377: Identifier for the MPC8377 CPU type
  72. * @TYPE_8378: Identifier for the MPC8378 CPU type
  73. * @TYPE_8379: Identifier for the MPC8379 CPU type
  74. * @TYPE_UNKNOWN: Identifier for an unknown MPC83xx CPU type
  75. */
  76. enum mpc83xx_cpu_type {
  77. TYPE_8308,
  78. TYPE_8309,
  79. TYPE_8311,
  80. TYPE_8313,
  81. TYPE_8314,
  82. TYPE_8315,
  83. TYPE_8321,
  84. TYPE_8323,
  85. TYPE_8343,
  86. TYPE_8347_TBGA,
  87. TYPE_8347_PBGA,
  88. TYPE_8349,
  89. TYPE_8358_TBGA,
  90. TYPE_8358_PBGA,
  91. TYPE_8360,
  92. TYPE_8377,
  93. TYPE_8378,
  94. TYPE_8379,
  95. TYPE_UNKNOWN,
  96. };
  97. /* Array mapping the MCP83xx CPUs to their human-readable names */
  98. static const char * const cpu_type_names[] = {
  99. [TYPE_8308] = "8308",
  100. [TYPE_8309] = "8309",
  101. [TYPE_8311] = "8311",
  102. [TYPE_8313] = "8313",
  103. [TYPE_8314] = "8314",
  104. [TYPE_8315] = "8315",
  105. [TYPE_8321] = "8321",
  106. [TYPE_8323] = "8323",
  107. [TYPE_8343] = "8343",
  108. [TYPE_8347_TBGA] = "8347_TBGA",
  109. [TYPE_8347_PBGA] = "8347_PBGA",
  110. [TYPE_8349] = "8349",
  111. [TYPE_8358_TBGA] = "8358_TBGA",
  112. [TYPE_8358_PBGA] = "8358_PBGA",
  113. [TYPE_8360] = "8360",
  114. [TYPE_8377] = "8377",
  115. [TYPE_8378] = "8378",
  116. [TYPE_8379] = "8379",
  117. [TYPE_UNKNOWN] = "Unknown CPU",
  118. };
  119. #endif /* !_MPC83XX_CPU_H_ */