irq-sh7780.h 7.4 KB

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