/arch/ppc/syslib/mpc85xx_sys.c

https://bitbucket.org/evzijst/gittest · C · 118 lines · 102 code · 2 blank · 14 comment · 0 complexity · 436c8d4d595f7dcda7d6436f18585fd7 MD5 · raw file

  1. /*
  2. * arch/ppc/platforms/85xx/mpc85xx_sys.c
  3. *
  4. * MPC85xx System descriptions
  5. *
  6. * Maintainer: Kumar Gala <kumar.gala@freescale.com>
  7. *
  8. * Copyright 2005 Freescale Semiconductor Inc.
  9. *
  10. * This program is free software; you can redistribute it and/or modify it
  11. * under the terms of the GNU General Public License as published by the
  12. * Free Software Foundation; either version 2 of the License, or (at your
  13. * option) any later version.
  14. */
  15. #include <linux/init.h>
  16. #include <linux/module.h>
  17. #include <linux/device.h>
  18. #include <asm/ppc_sys.h>
  19. struct ppc_sys_spec *cur_ppc_sys_spec;
  20. struct ppc_sys_spec ppc_sys_specs[] = {
  21. {
  22. .ppc_sys_name = "8540",
  23. .mask = 0xFFFF0000,
  24. .value = 0x80300000,
  25. .num_devices = 10,
  26. .device_list = (enum ppc_sys_devices[])
  27. {
  28. MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_FEC, MPC85xx_IIC1,
  29. MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
  30. MPC85xx_PERFMON, MPC85xx_DUART,
  31. },
  32. },
  33. {
  34. .ppc_sys_name = "8560",
  35. .mask = 0xFFFF0000,
  36. .value = 0x80700000,
  37. .num_devices = 19,
  38. .device_list = (enum ppc_sys_devices[])
  39. {
  40. MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
  41. MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
  42. MPC85xx_PERFMON,
  43. MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
  44. MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3, MPC85xx_CPM_SCC4,
  45. MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_FCC3,
  46. MPC85xx_CPM_MCC1, MPC85xx_CPM_MCC2,
  47. },
  48. },
  49. {
  50. .ppc_sys_name = "8541",
  51. .mask = 0xFFFF0000,
  52. .value = 0x80720000,
  53. .num_devices = 13,
  54. .device_list = (enum ppc_sys_devices[])
  55. {
  56. MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
  57. MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
  58. MPC85xx_PERFMON, MPC85xx_DUART,
  59. MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
  60. MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
  61. },
  62. },
  63. {
  64. .ppc_sys_name = "8541E",
  65. .mask = 0xFFFF0000,
  66. .value = 0x807A0000,
  67. .num_devices = 14,
  68. .device_list = (enum ppc_sys_devices[])
  69. {
  70. MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
  71. MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
  72. MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
  73. MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
  74. MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
  75. },
  76. },
  77. {
  78. .ppc_sys_name = "8555",
  79. .mask = 0xFFFF0000,
  80. .value = 0x80710000,
  81. .num_devices = 19,
  82. .device_list = (enum ppc_sys_devices[])
  83. {
  84. MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
  85. MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
  86. MPC85xx_PERFMON, MPC85xx_DUART,
  87. MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
  88. MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
  89. MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
  90. MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
  91. MPC85xx_CPM_USB,
  92. },
  93. },
  94. {
  95. .ppc_sys_name = "8555E",
  96. .mask = 0xFFFF0000,
  97. .value = 0x80790000,
  98. .num_devices = 20,
  99. .device_list = (enum ppc_sys_devices[])
  100. {
  101. MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
  102. MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
  103. MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
  104. MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
  105. MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
  106. MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
  107. MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
  108. MPC85xx_CPM_USB,
  109. },
  110. },
  111. { /* default match */
  112. .ppc_sys_name = "",
  113. .mask = 0x00000000,
  114. .value = 0x00000000,
  115. },
  116. };