pq2_sys.c 5.4 KB

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