irq-sh7780.h 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. #ifndef __ASM_SH_IRQ_SH7780_H
  2. #define __ASM_SH_IRQ_SH7780_H
  3. /*
  4. * linux/include/asm-sh/irq-sh7780.h
  5. *
  6. * Copyright (C) 2004 Takashi SHUDO <shudo@hitachi-ul.co.jp>
  7. */
  8. #define INTC_BASE 0xffd00000
  9. #define INTC_ICR0 (INTC_BASE+0x0)
  10. #define INTC_ICR1 (INTC_BASE+0x1c)
  11. #define INTC_INTPRI (INTC_BASE+0x10)
  12. #define INTC_INTREQ (INTC_BASE+0x24)
  13. #define INTC_INTMSK0 (INTC_BASE+0x44)
  14. #define INTC_INTMSK1 (INTC_BASE+0x48)
  15. #define INTC_INTMSK2 (INTC_BASE+0x40080)
  16. #define INTC_INTMSKCLR0 (INTC_BASE+0x64)
  17. #define INTC_INTMSKCLR1 (INTC_BASE+0x68)
  18. #define INTC_INTMSKCLR2 (INTC_BASE+0x40084)
  19. #define INTC_NMIFCR (INTC_BASE+0xc0)
  20. #define INTC_USERIMASK (INTC_BASE+0x30000)
  21. #define INTC_INT2PRI0 (INTC_BASE+0x40000)
  22. #define INTC_INT2PRI1 (INTC_BASE+0x40004)
  23. #define INTC_INT2PRI2 (INTC_BASE+0x40008)
  24. #define INTC_INT2PRI3 (INTC_BASE+0x4000c)
  25. #define INTC_INT2PRI4 (INTC_BASE+0x40010)
  26. #define INTC_INT2PRI5 (INTC_BASE+0x40014)
  27. #define INTC_INT2PRI6 (INTC_BASE+0x40018)
  28. #define INTC_INT2PRI7 (INTC_BASE+0x4001c)
  29. #define INTC_INT2A0 (INTC_BASE+0x40030)
  30. #define INTC_INT2A1 (INTC_BASE+0x40034)
  31. #define INTC_INT2MSKR (INTC_BASE+0x40038)
  32. #define INTC_INT2MSKCR (INTC_BASE+0x4003c)
  33. #define INTC_INT2B0 (INTC_BASE+0x40040)
  34. #define INTC_INT2B1 (INTC_BASE+0x40044)
  35. #define INTC_INT2B2 (INTC_BASE+0x40048)
  36. #define INTC_INT2B3 (INTC_BASE+0x4004c)
  37. #define INTC_INT2B4 (INTC_BASE+0x40050)
  38. #define INTC_INT2B5 (INTC_BASE+0x40054)
  39. #define INTC_INT2B6 (INTC_BASE+0x40058)
  40. #define INTC_INT2B7 (INTC_BASE+0x4005c)
  41. #define INTC_INT2GPIC (INTC_BASE+0x40090)
  42. /*
  43. NOTE:
  44. *_IRQ = (INTEVT2 - 0x200)/0x20
  45. */
  46. /* IRQ 0-7 line external int*/
  47. #define IRQ0_IRQ 2
  48. #define IRQ0_IPR_ADDR INTC_INTPRI
  49. #define IRQ0_IPR_POS 7
  50. #define IRQ0_PRIORITY 2
  51. #define IRQ1_IRQ 4
  52. #define IRQ1_IPR_ADDR INTC_INTPRI
  53. #define IRQ1_IPR_POS 6
  54. #define IRQ1_PRIORITY 2
  55. #define IRQ2_IRQ 6
  56. #define IRQ2_IPR_ADDR INTC_INTPRI
  57. #define IRQ2_IPR_POS 5
  58. #define IRQ2_PRIORITY 2
  59. #define IRQ3_IRQ 8
  60. #define IRQ3_IPR_ADDR INTC_INTPRI
  61. #define IRQ3_IPR_POS 4
  62. #define IRQ3_PRIORITY 2
  63. #define IRQ4_IRQ 10
  64. #define IRQ4_IPR_ADDR INTC_INTPRI
  65. #define IRQ4_IPR_POS 3
  66. #define IRQ4_PRIORITY 2
  67. #define IRQ5_IRQ 12
  68. #define IRQ5_IPR_ADDR INTC_INTPRI
  69. #define IRQ5_IPR_POS 2
  70. #define IRQ5_PRIORITY 2
  71. #define IRQ6_IRQ 14
  72. #define IRQ6_IPR_ADDR INTC_INTPRI
  73. #define IRQ6_IPR_POS 1
  74. #define IRQ6_PRIORITY 2
  75. #define IRQ7_IRQ 0
  76. #define IRQ7_IPR_ADDR INTC_INTPRI
  77. #define IRQ7_IPR_POS 0
  78. #define IRQ7_PRIORITY 2
  79. /* TMU */
  80. /* ch0 */
  81. #define TMU_IRQ 28
  82. #define TMU_IPR_ADDR INTC_INT2PRI0
  83. #define TMU_IPR_POS 3
  84. #define TMU_PRIORITY 2
  85. #define TIMER_IRQ 28
  86. #define TIMER_IPR_ADDR INTC_INT2PRI0
  87. #define TIMER_IPR_POS 3
  88. #define TIMER_PRIORITY 2
  89. /* ch 1*/
  90. #define TMU_CH1_IRQ 29
  91. #define TMU_CH1_IPR_ADDR INTC_INT2PRI0
  92. #define TMU_CH1_IPR_POS 2
  93. #define TMU_CH1_PRIORITY 2
  94. #define TIMER1_IRQ 29
  95. #define TIMER1_IPR_ADDR INTC_INT2PRI0
  96. #define TIMER1_IPR_POS 2
  97. #define TIMER1_PRIORITY 2
  98. /* ch 2*/
  99. #define TMU_CH2_IRQ 30
  100. #define TMU_CH2_IPR_ADDR INTC_INT2PRI0
  101. #define TMU_CH2_IPR_POS 1
  102. #define TMU_CH2_PRIORITY 2
  103. /* ch 2 Input capture */
  104. #define TMU_CH2IC_IRQ 31
  105. #define TMU_CH2IC_IPR_ADDR INTC_INT2PRI0
  106. #define TMU_CH2IC_IPR_POS 0
  107. #define TMU_CH2IC_PRIORITY 2
  108. /* ch 3 */
  109. #define TMU_CH3_IRQ 96
  110. #define TMU_CH3_IPR_ADDR INTC_INT2PRI1
  111. #define TMU_CH3_IPR_POS 3
  112. #define TMU_CH3_PRIORITY 2
  113. /* ch 4 */
  114. #define TMU_CH4_IRQ 97
  115. #define TMU_CH4_IPR_ADDR INTC_INT2PRI1
  116. #define TMU_CH4_IPR_POS 2
  117. #define TMU_CH4_PRIORITY 2
  118. /* ch 5*/
  119. #define TMU_CH5_IRQ 98
  120. #define TMU_CH5_IPR_ADDR INTC_INT2PRI1
  121. #define TMU_CH5_IPR_POS 1
  122. #define TMU_CH5_PRIORITY 2
  123. /* SCIF0 */
  124. #define SCIF0_ERI_IRQ 40
  125. #define SCIF0_RXI_IRQ 41
  126. #define SCIF0_BRI_IRQ 42
  127. #define SCIF0_TXI_IRQ 43
  128. #define SCIF0_IPR_ADDR INTC_INT2PRI2
  129. #define SCIF0_IPR_POS 3
  130. #define SCIF0_PRIORITY 3
  131. /* SCIF1 */
  132. #define SCIF1_ERI_IRQ 76
  133. #define SCIF1_RXI_IRQ 77
  134. #define SCIF1_BRI_IRQ 78
  135. #define SCIF1_TXI_IRQ 79
  136. #define SCIF1_IPR_ADDR INTC_INT2PRI2
  137. #define SCIF1_IPR_POS 2
  138. #define SCIF1_PRIORITY 3
  139. #define WDT_IRQ 27
  140. #define WDT_IPR_ADDR INTC_INT2PRI2
  141. #define WDT_IPR_POS 1
  142. #define WDT_PRIORITY 2
  143. /* DMAC(0) */
  144. #define DMINT0_IRQ 34
  145. #define DMINT1_IRQ 35
  146. #define DMINT2_IRQ 36
  147. #define DMINT3_IRQ 37
  148. #define DMINT4_IRQ 44
  149. #define DMINT5_IRQ 45
  150. #define DMINT6_IRQ 46
  151. #define DMINT7_IRQ 47
  152. #define DMAE_IRQ 38
  153. #define DMA0_IPR_ADDR INTC_INT2PRI3
  154. #define DMA0_IPR_POS 2
  155. #define DMA0_PRIORITY 7
  156. /* DMAC(1) */
  157. #define DMINT8_IRQ 92
  158. #define DMINT9_IRQ 93
  159. #define DMINT10_IRQ 94
  160. #define DMINT11_IRQ 95
  161. #define DMA1_IPR_ADDR INTC_INT2PRI3
  162. #define DMA1_IPR_POS 1
  163. #define DMA1_PRIORITY 7
  164. #define DMTE0_IRQ DMINT0_IRQ
  165. #define DMTE4_IRQ DMINT4_IRQ
  166. #define DMA_IPR_ADDR DMA0_IPR_ADDR
  167. #define DMA_IPR_POS DMA0_IPR_POS
  168. #define DMA_PRIORITY DMA0_PRIORITY
  169. /* CMT */
  170. #define CMT_IRQ 56
  171. #define CMT_IPR_ADDR INTC_INT2PRI4
  172. #define CMT_IPR_POS 3
  173. #define CMT_PRIORITY 0
  174. /* HAC */
  175. #define HAC_IRQ 60
  176. #define HAC_IPR_ADDR INTC_INT2PRI4
  177. #define HAC_IPR_POS 2
  178. #define CMT_PRIORITY 0
  179. /* PCIC(0) */
  180. #define PCIC0_IRQ 64
  181. #define PCIC0_IPR_ADDR INTC_INT2PRI4
  182. #define PCIC0_IPR_POS 1
  183. #define PCIC0_PRIORITY 2
  184. /* PCIC(1) */
  185. #define PCIC1_IRQ 65
  186. #define PCIC1_IPR_ADDR INTC_INT2PRI4
  187. #define PCIC1_IPR_POS 0
  188. #define PCIC1_PRIORITY 2
  189. /* PCIC(2) */
  190. #define PCIC2_IRQ 66
  191. #define PCIC2_IPR_ADDR INTC_INT2PRI5
  192. #define PCIC2_IPR_POS 3
  193. #define PCIC2_PRIORITY 2
  194. /* PCIC(3) */
  195. #define PCIC3_IRQ 67
  196. #define PCIC3_IPR_ADDR INTC_INT2PRI5
  197. #define PCIC3_IPR_POS 2
  198. #define PCIC3_PRIORITY 2
  199. /* PCIC(4) */
  200. #define PCIC4_IRQ 68
  201. #define PCIC4_IPR_ADDR INTC_INT2PRI5
  202. #define PCIC4_IPR_POS 1
  203. #define PCIC4_PRIORITY 2
  204. /* PCIC(5) */
  205. #define PCICERR_IRQ 69
  206. #define PCICPWD3_IRQ 70
  207. #define PCICPWD2_IRQ 71
  208. #define PCICPWD1_IRQ 72
  209. #define PCICPWD0_IRQ 73
  210. #define PCIC5_IPR_ADDR INTC_INT2PRI5
  211. #define PCIC5_IPR_POS 0
  212. #define PCIC5_PRIORITY 2
  213. /* SIOF */
  214. #define SIOF_IRQ 80
  215. #define SIOF_IPR_ADDR INTC_INT2PRI6
  216. #define SIOF_IPR_POS 3
  217. #define SIOF_PRIORITY 3
  218. /* HSPI */
  219. #define HSPI_IRQ 84
  220. #define HSPI_IPR_ADDR INTC_INT2PRI6
  221. #define HSPI_IPR_POS 2
  222. #define HSPI_PRIORITY 3
  223. /* MMCIF */
  224. #define MMCIF_FSTAT_IRQ 88
  225. #define MMCIF_TRAN_IRQ 89
  226. #define MMCIF_ERR_IRQ 90
  227. #define MMCIF_FRDY_IRQ 91
  228. #define MMCIF_IPR_ADDR INTC_INT2PRI6
  229. #define MMCIF_IPR_POS 1
  230. #define HSPI_PRIORITY 3
  231. /* SSI */
  232. #define SSI_IRQ 100
  233. #define SSI_IPR_ADDR INTC_INT2PRI6
  234. #define SSI_IPR_POS 0
  235. #define SSI_PRIORITY 3
  236. /* FLCTL */
  237. #define FLCTL_FLSTE_IRQ 104
  238. #define FLCTL_FLTEND_IRQ 105
  239. #define FLCTL_FLTRQ0_IRQ 106
  240. #define FLCTL_FLTRQ1_IRQ 107
  241. #define FLCTL_IPR_ADDR INTC_INT2PRI7
  242. #define FLCTL_IPR_POS 3
  243. #define FLCTL_PRIORITY 3
  244. /* GPIO */
  245. #define GPIO0_IRQ 108
  246. #define GPIO1_IRQ 109
  247. #define GPIO2_IRQ 110
  248. #define GPIO3_IRQ 111
  249. #define GPIO_IPR_ADDR INTC_INT2PRI7
  250. #define GPIO_IPR_POS 2
  251. #define GPIO_PRIORITY 3
  252. #define INTC_TMU0_MSK 0
  253. #define INTC_TMU3_MSK 1
  254. #define INTC_RTC_MSK 2
  255. #define INTC_SCIF0_MSK 3
  256. #define INTC_SCIF1_MSK 4
  257. #define INTC_WDT_MSK 5
  258. #define INTC_HUID_MSK 7
  259. #define INTC_DMAC0_MSK 8
  260. #define INTC_DMAC1_MSK 9
  261. #define INTC_CMT_MSK 12
  262. #define INTC_HAC_MSK 13
  263. #define INTC_PCIC0_MSK 14
  264. #define INTC_PCIC1_MSK 15
  265. #define INTC_PCIC2_MSK 16
  266. #define INTC_PCIC3_MSK 17
  267. #define INTC_PCIC4_MSK 18
  268. #define INTC_PCIC5_MSK 19
  269. #define INTC_SIOF_MSK 20
  270. #define INTC_HSPI_MSK 21
  271. #define INTC_MMCIF_MSK 22
  272. #define INTC_SSI_MSK 23
  273. #define INTC_FLCTL_MSK 24
  274. #define INTC_GPIO_MSK 25
  275. #endif /* __ASM_SH_IRQ_SH7780_H */