pq2_sys.c 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. /*
  2. * PQ2 System descriptions
  3. *
  4. * Maintainer: Kumar Gala <galak@kernel.crashing.org>
  5. *
  6. * This file is licensed under the terms of the GNU General Public License
  7. * version 2. This program is licensed "as is" without any warranty of any
  8. * kind, whether express or implied.
  9. */
  10. #include <linux/init.h>
  11. #include <linux/module.h>
  12. #include <linux/device.h>
  13. #include <asm/ppc_sys.h>
  14. struct ppc_sys_spec *cur_ppc_sys_spec;
  15. struct ppc_sys_spec ppc_sys_specs[] = {
  16. /* below is a list of the 8260 family of processors */
  17. {
  18. .ppc_sys_name = "8250",
  19. .mask = 0x0000ff00,
  20. .value = 0x00000000,
  21. .num_devices = 12,
  22. .device_list = (enum ppc_sys_devices[])
  23. {
  24. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  25. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  26. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1,
  27. MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
  28. }
  29. },
  30. {
  31. .ppc_sys_name = "8255",
  32. .mask = 0x0000ff00,
  33. .value = 0x00000000,
  34. .num_devices = 11,
  35. .device_list = (enum ppc_sys_devices[])
  36. {
  37. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
  38. MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
  39. MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2,
  40. MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
  41. }
  42. },
  43. {
  44. .ppc_sys_name = "8260",
  45. .mask = 0x0000ff00,
  46. .value = 0x00000000,
  47. .num_devices = 13,
  48. .device_list = (enum ppc_sys_devices[])
  49. {
  50. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  51. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  52. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
  53. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  54. MPC82xx_CPM_I2C,
  55. }
  56. },
  57. {
  58. .ppc_sys_name = "8264",
  59. .mask = 0x0000ff00,
  60. .value = 0x00000000,
  61. .num_devices = 13,
  62. .device_list = (enum ppc_sys_devices[])
  63. {
  64. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  65. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  66. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
  67. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  68. MPC82xx_CPM_I2C,
  69. }
  70. },
  71. {
  72. .ppc_sys_name = "8265",
  73. .mask = 0x0000ff00,
  74. .value = 0x00000000,
  75. .num_devices = 13,
  76. .device_list = (enum ppc_sys_devices[])
  77. {
  78. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  79. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  80. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
  81. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  82. MPC82xx_CPM_I2C,
  83. }
  84. },
  85. {
  86. .ppc_sys_name = "8266",
  87. .mask = 0x0000ff00,
  88. .value = 0x00000000,
  89. .num_devices = 13,
  90. .device_list = (enum ppc_sys_devices[])
  91. {
  92. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  93. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  94. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
  95. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  96. MPC82xx_CPM_I2C,
  97. }
  98. },
  99. /* below is a list of the 8272 family of processors */
  100. {
  101. .ppc_sys_name = "8247",
  102. .mask = 0x0000ff00,
  103. .value = 0x00000d00,
  104. .num_devices = 10,
  105. .device_list = (enum ppc_sys_devices[])
  106. {
  107. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
  108. MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
  109. MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
  110. MPC82xx_CPM_USB,
  111. },
  112. },
  113. {
  114. .ppc_sys_name = "8248",
  115. .mask = 0x0000ff00,
  116. .value = 0x00000c00,
  117. .num_devices = 12,
  118. .device_list = (enum ppc_sys_devices[])
  119. {
  120. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
  121. MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
  122. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  123. MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
  124. },
  125. },
  126. {
  127. .ppc_sys_name = "8271",
  128. .mask = 0x0000ff00,
  129. .value = 0x00000d00,
  130. .num_devices = 10,
  131. .device_list = (enum ppc_sys_devices[])
  132. {
  133. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
  134. MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
  135. MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
  136. MPC82xx_CPM_USB,
  137. },
  138. },
  139. {
  140. .ppc_sys_name = "8272",
  141. .mask = 0x0000ff00,
  142. .value = 0x00000c00,
  143. .num_devices = 13,
  144. .device_list = (enum ppc_sys_devices[])
  145. {
  146. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
  147. MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
  148. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  149. MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
  150. MPC82xx_MDIO_BB,
  151. },
  152. },
  153. /* below is a list of the 8280 family of processors */
  154. {
  155. .ppc_sys_name = "8270",
  156. .mask = 0x0000ff00,
  157. .value = 0x00000a00,
  158. .num_devices = 12,
  159. .device_list = (enum ppc_sys_devices[])
  160. {
  161. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  162. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  163. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1,
  164. MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
  165. },
  166. },
  167. {
  168. .ppc_sys_name = "8275",
  169. .mask = 0x0000ff00,
  170. .value = 0x00000a00,
  171. .num_devices = 12,
  172. .device_list = (enum ppc_sys_devices[])
  173. {
  174. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  175. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  176. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1,
  177. MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
  178. },
  179. },
  180. {
  181. .ppc_sys_name = "8280",
  182. .mask = 0x0000ff00,
  183. .value = 0x00000a00,
  184. .num_devices = 13,
  185. .device_list = (enum ppc_sys_devices[])
  186. {
  187. MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
  188. MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
  189. MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
  190. MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
  191. MPC82xx_CPM_I2C,
  192. },
  193. },
  194. {
  195. /* default match */
  196. .ppc_sys_name = "",
  197. .mask = 0x00000000,
  198. .value = 0x00000000,
  199. },
  200. };