mx28.h 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. /*
  2. * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License along
  15. * with this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  17. */
  18. #ifndef __MACH_MX28_H__
  19. #define __MACH_MX28_H__
  20. #include <mach/mxs.h>
  21. /*
  22. * OCRAM
  23. */
  24. #define MX28_OCRAM_BASE_ADDR 0x00000000
  25. #define MX28_OCRAM_SIZE SZ_128K
  26. /*
  27. * IO
  28. */
  29. #define MX28_IO_BASE_ADDR 0x80000000
  30. #define MX28_IO_SIZE SZ_1M
  31. #define MX28_ICOLL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x000000)
  32. #define MX28_HSADC_BASE_ADDR (MX28_IO_BASE_ADDR + 0x002000)
  33. #define MX28_APBH_DMA_BASE_ADDR (MX28_IO_BASE_ADDR + 0x004000)
  34. #define MX28_PERFMON_BASE_ADDR (MX28_IO_BASE_ADDR + 0x006000)
  35. #define MX28_BCH_BASE_ADDR (MX28_IO_BASE_ADDR + 0x00a000)
  36. #define MX28_GPMI_BASE_ADDR (MX28_IO_BASE_ADDR + 0x00c000)
  37. #define MX28_SSP0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x010000)
  38. #define MX28_SSP1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x012000)
  39. #define MX28_SSP2_BASE_ADDR (MX28_IO_BASE_ADDR + 0x014000)
  40. #define MX28_SSP3_BASE_ADDR (MX28_IO_BASE_ADDR + 0x016000)
  41. #define MX28_PINCTRL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x018000)
  42. #define MX28_DIGCTL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x01c000)
  43. #define MX28_ETM_BASE_ADDR (MX28_IO_BASE_ADDR + 0x022000)
  44. #define MX28_APBX_DMA_BASE_ADDR (MX28_IO_BASE_ADDR + 0x024000)
  45. #define MX28_DCP_BASE_ADDR (MX28_IO_BASE_ADDR + 0x028000)
  46. #define MX28_PXP_BASE_ADDR (MX28_IO_BASE_ADDR + 0x02a000)
  47. #define MX28_OCOTP_BASE_ADDR (MX28_IO_BASE_ADDR + 0x02c000)
  48. #define MX28_AXI_AHB0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x02e000)
  49. #define MX28_LCDIF_BASE_ADDR (MX28_IO_BASE_ADDR + 0x030000)
  50. #define MX28_CAN0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x032000)
  51. #define MX28_CAN1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x034000)
  52. #define MX28_SIMDBG_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c000)
  53. #define MX28_SIMGPMISEL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c200)
  54. #define MX28_SIMSSPSEL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c300)
  55. #define MX28_SIMMEMSEL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c400)
  56. #define MX28_GPIOMON_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c500)
  57. #define MX28_SIMENET_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c700)
  58. #define MX28_ARMJTAG_BASE_ADDR (MX28_IO_BASE_ADDR + 0x03c800)
  59. #define MX28_CLKCTRL_BASE_ADDR (MX28_IO_BASE_ADDR + 0x040000)
  60. #define MX28_SAIF0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x042000)
  61. #define MX28_POWER_BASE_ADDR (MX28_IO_BASE_ADDR + 0x044000)
  62. #define MX28_SAIF1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x046000)
  63. #define MX28_LRADC_BASE_ADDR (MX28_IO_BASE_ADDR + 0x050000)
  64. #define MX28_SPDIF_BASE_ADDR (MX28_IO_BASE_ADDR + 0x054000)
  65. #define MX28_RTC_BASE_ADDR (MX28_IO_BASE_ADDR + 0x056000)
  66. #define MX28_I2C0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x058000)
  67. #define MX28_I2C1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x05a000)
  68. #define MX28_PWM_BASE_ADDR (MX28_IO_BASE_ADDR + 0x064000)
  69. #define MX28_TIMROT_BASE_ADDR (MX28_IO_BASE_ADDR + 0x068000)
  70. #define MX28_AUART0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x06a000)
  71. #define MX28_AUART1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x06c000)
  72. #define MX28_AUART2_BASE_ADDR (MX28_IO_BASE_ADDR + 0x06e000)
  73. #define MX28_AUART3_BASE_ADDR (MX28_IO_BASE_ADDR + 0x070000)
  74. #define MX28_AUART4_BASE_ADDR (MX28_IO_BASE_ADDR + 0x072000)
  75. #define MX28_DUART_BASE_ADDR (MX28_IO_BASE_ADDR + 0x074000)
  76. #define MX28_USBPHY0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x07C000)
  77. #define MX28_USBPHY1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x07e000)
  78. #define MX28_USBCTRL0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x080000)
  79. #define MX28_USBCTRL1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x090000)
  80. #define MX28_DFLPT_BASE_ADDR (MX28_IO_BASE_ADDR + 0x0c0000)
  81. #define MX28_DRAM_BASE_ADDR (MX28_IO_BASE_ADDR + 0x0e0000)
  82. #define MX28_ENET_MAC0_BASE_ADDR (MX28_IO_BASE_ADDR + 0x0f0000)
  83. #define MX28_ENET_MAC1_BASE_ADDR (MX28_IO_BASE_ADDR + 0x0f4000)
  84. #define MX28_IO_P2V(x) MXS_IO_P2V(x)
  85. #define MX28_IO_ADDRESS(x) IOMEM(MX28_IO_P2V(x))
  86. /*
  87. * IRQ
  88. */
  89. #define MX28_INT_BATT_BRNOUT 0
  90. #define MX28_INT_VDDD_BRNOUT 1
  91. #define MX28_INT_VDDIO_BRNOUT 2
  92. #define MX28_INT_VDDA_BRNOUT 3
  93. #define MX28_INT_VDD5V_DROOP 4
  94. #define MX28_INT_DCDC4P2_BRNOUT 5
  95. #define MX28_INT_VDD5V 6
  96. #define MX28_INT_CAN0 8
  97. #define MX28_INT_CAN1 9
  98. #define MX28_INT_LRADC_TOUCH 10
  99. #define MX28_INT_HSADC 13
  100. #define MX28_INT_IRADC_THRESH0 14
  101. #define MX28_INT_IRADC_THRESH1 15
  102. #define MX28_INT_LRADC_CH0 16
  103. #define MX28_INT_LRADC_CH1 17
  104. #define MX28_INT_LRADC_CH2 18
  105. #define MX28_INT_LRADC_CH3 19
  106. #define MX28_INT_LRADC_CH4 20
  107. #define MX28_INT_LRADC_CH5 21
  108. #define MX28_INT_LRADC_CH6 22
  109. #define MX28_INT_LRADC_CH7 23
  110. #define MX28_INT_LRADC_BUTTON0 24
  111. #define MX28_INT_LRADC_BUTTON1 25
  112. #define MX28_INT_PERFMON 27
  113. #define MX28_INT_RTC_1MSEC 28
  114. #define MX28_INT_RTC_ALARM 29
  115. #define MX28_INT_COMMS 31
  116. #define MX28_INT_EMI_ERR 32
  117. #define MX28_INT_LCDIF 38
  118. #define MX28_INT_PXP 39
  119. #define MX28_INT_BCH 41
  120. #define MX28_INT_GPMI 42
  121. #define MX28_INT_SPDIF_ERROR 45
  122. #define MX28_INT_DUART 47
  123. #define MX28_INT_TIMER0 48
  124. #define MX28_INT_TIMER1 49
  125. #define MX28_INT_TIMER2 50
  126. #define MX28_INT_TIMER3 51
  127. #define MX28_INT_DCP_VMI 52
  128. #define MX28_INT_DCP 53
  129. #define MX28_INT_DCP_SECURE 54
  130. #define MX28_INT_SAIF1 58
  131. #define MX28_INT_SAIF0 59
  132. #define MX28_INT_SPDIF_DMA 66
  133. #define MX28_INT_I2C0_DMA 68
  134. #define MX28_INT_I2C1_DMA 69
  135. #define MX28_INT_AUART0_RX_DMA 70
  136. #define MX28_INT_AUART0_TX_DMA 71
  137. #define MX28_INT_AUART1_RX_DMA 72
  138. #define MX28_INT_AUART1_TX_DMA 73
  139. #define MX28_INT_AUART2_RX_DMA 74
  140. #define MX28_INT_AUART2_TX_DMA 75
  141. #define MX28_INT_AUART3_RX_DMA 76
  142. #define MX28_INT_AUART3_TX_DMA 77
  143. #define MX28_INT_AUART4_RX_DMA 78
  144. #define MX28_INT_AUART4_TX_DMA 79
  145. #define MX28_INT_SAIF0_DMA 80
  146. #define MX28_INT_SAIF1_DMA 81
  147. #define MX28_INT_SSP0_DMA 82
  148. #define MX28_INT_SSP1_DMA 83
  149. #define MX28_INT_SSP2_DMA 84
  150. #define MX28_INT_SSP3_DMA 85
  151. #define MX28_INT_LCDIF_DMA 86
  152. #define MX28_INT_HSADC_DMA 87
  153. #define MX28_INT_GPMI_DMA 88
  154. #define MX28_INT_DIGCTL_DEBUG_TRAP 89
  155. #define MX28_INT_USB1 92
  156. #define MX28_INT_USB0 93
  157. #define MX28_INT_USB1_WAKEUP 94
  158. #define MX28_INT_USB0_WAKEUP 95
  159. #define MX28_INT_SSP0_ERROR 96
  160. #define MX28_INT_SSP1_ERROR 97
  161. #define MX28_INT_SSP2_ERROR 98
  162. #define MX28_INT_SSP3_ERROR 99
  163. #define MX28_INT_ENET_SWI 100
  164. #define MX28_INT_ENET_MAC0 101
  165. #define MX28_INT_ENET_MAC1 102
  166. #define MX28_INT_ENET_MAC0_1588 103
  167. #define MX28_INT_ENET_MAC1_1588 104
  168. #define MX28_INT_I2C1_ERROR 110
  169. #define MX28_INT_I2C0_ERROR 111
  170. #define MX28_INT_AUART0 112
  171. #define MX28_INT_AUART1 113
  172. #define MX28_INT_AUART2 114
  173. #define MX28_INT_AUART3 115
  174. #define MX28_INT_AUART4 116
  175. #define MX28_INT_GPIO4 123
  176. #define MX28_INT_GPIO3 124
  177. #define MX28_INT_GPIO2 125
  178. #define MX28_INT_GPIO1 126
  179. #define MX28_INT_GPIO0 127
  180. /*
  181. * APBH DMA
  182. */
  183. #define MX28_DMA_SSP0 0
  184. #define MX28_DMA_SSP1 1
  185. #define MX28_DMA_SSP2 2
  186. #define MX28_DMA_SSP3 3
  187. #define MX28_DMA_GPMI0 4
  188. #define MX28_DMA_GPMI1 5
  189. #define MX28_DMA_GPMI2 6
  190. #define MX28_DMA_GPMI3 7
  191. #define MX28_DMA_GPMI4 8
  192. #define MX28_DMA_GPMI5 9
  193. #define MX28_DMA_GPMI6 10
  194. #define MX28_DMA_GPMI7 11
  195. #define MX28_DMA_HSADC 12
  196. #define MX28_DMA_LCDIF 13
  197. /*
  198. * APBX DMA
  199. */
  200. #define MX28_DMA_AUART4_RX 0
  201. #define MX28_DMA_AUART4_TX 1
  202. #define MX28_DMA_SPDIF_TX 2
  203. #define MX28_DMA_SAIF0 4
  204. #define MX28_DMA_SAIF1 5
  205. #define MX28_DMA_I2C0 6
  206. #define MX28_DMA_I2C1 7
  207. #define MX28_DMA_AUART0_RX 8
  208. #define MX28_DMA_AUART0_TX 9
  209. #define MX28_DMA_AUART1_RX 10
  210. #define MX28_DMA_AUART1_TX 11
  211. #define MX28_DMA_AUART2_RX 12
  212. #define MX28_DMA_AUART2_TX 13
  213. #define MX28_DMA_AUART3_RX 14
  214. #define MX28_DMA_AUART3_TX 15
  215. #endif /* __MACH_MX28_H__ */