irq.h 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. /*
  2. * Copyright 2005-2008 Analog Devices Inc.
  3. *
  4. * Licensed under the GPL-2 or later.
  5. */
  6. #ifndef _BF561_IRQ_H_
  7. #define _BF561_IRQ_H_
  8. #include <mach-common/irq.h>
  9. #define NR_PERI_INTS (2 * 32)
  10. #define IRQ_PLL_WAKEUP BFIN_IRQ(0) /* PLL Wakeup Interrupt */
  11. #define IRQ_DMA1_ERROR BFIN_IRQ(1) /* DMA1 Error (general) */
  12. #define IRQ_DMA_ERROR IRQ_DMA1_ERROR /* DMA1 Error (general) */
  13. #define IRQ_DMA2_ERROR BFIN_IRQ(2) /* DMA2 Error (general) */
  14. #define IRQ_IMDMA_ERROR BFIN_IRQ(3) /* IMDMA Error Interrupt */
  15. #define IRQ_PPI1_ERROR BFIN_IRQ(4) /* PPI1 Error Interrupt */
  16. #define IRQ_PPI_ERROR IRQ_PPI1_ERROR /* PPI1 Error Interrupt */
  17. #define IRQ_PPI2_ERROR BFIN_IRQ(5) /* PPI2 Error Interrupt */
  18. #define IRQ_SPORT0_ERROR BFIN_IRQ(6) /* SPORT0 Error Interrupt */
  19. #define IRQ_SPORT1_ERROR BFIN_IRQ(7) /* SPORT1 Error Interrupt */
  20. #define IRQ_SPI_ERROR BFIN_IRQ(8) /* SPI Error Interrupt */
  21. #define IRQ_UART_ERROR BFIN_IRQ(9) /* UART Error Interrupt */
  22. #define IRQ_RESERVED_ERROR BFIN_IRQ(10) /* Reversed */
  23. #define IRQ_DMA1_0 BFIN_IRQ(11) /* DMA1 0 Interrupt(PPI1) */
  24. #define IRQ_PPI IRQ_DMA1_0 /* DMA1 0 Interrupt(PPI1) */
  25. #define IRQ_PPI0 IRQ_DMA1_0 /* DMA1 0 Interrupt(PPI1) */
  26. #define IRQ_DMA1_1 BFIN_IRQ(12) /* DMA1 1 Interrupt(PPI2) */
  27. #define IRQ_PPI1 IRQ_DMA1_1 /* DMA1 1 Interrupt(PPI2) */
  28. #define IRQ_DMA1_2 BFIN_IRQ(13) /* DMA1 2 Interrupt */
  29. #define IRQ_DMA1_3 BFIN_IRQ(14) /* DMA1 3 Interrupt */
  30. #define IRQ_DMA1_4 BFIN_IRQ(15) /* DMA1 4 Interrupt */
  31. #define IRQ_DMA1_5 BFIN_IRQ(16) /* DMA1 5 Interrupt */
  32. #define IRQ_DMA1_6 BFIN_IRQ(17) /* DMA1 6 Interrupt */
  33. #define IRQ_DMA1_7 BFIN_IRQ(18) /* DMA1 7 Interrupt */
  34. #define IRQ_DMA1_8 BFIN_IRQ(19) /* DMA1 8 Interrupt */
  35. #define IRQ_DMA1_9 BFIN_IRQ(20) /* DMA1 9 Interrupt */
  36. #define IRQ_DMA1_10 BFIN_IRQ(21) /* DMA1 10 Interrupt */
  37. #define IRQ_DMA1_11 BFIN_IRQ(22) /* DMA1 11 Interrupt */
  38. #define IRQ_DMA2_0 BFIN_IRQ(23) /* DMA2 0 (SPORT0 RX) */
  39. #define IRQ_SPORT0_RX IRQ_DMA2_0 /* DMA2 0 (SPORT0 RX) */
  40. #define IRQ_DMA2_1 BFIN_IRQ(24) /* DMA2 1 (SPORT0 TX) */
  41. #define IRQ_SPORT0_TX IRQ_DMA2_1 /* DMA2 1 (SPORT0 TX) */
  42. #define IRQ_DMA2_2 BFIN_IRQ(25) /* DMA2 2 (SPORT1 RX) */
  43. #define IRQ_SPORT1_RX IRQ_DMA2_2 /* DMA2 2 (SPORT1 RX) */
  44. #define IRQ_DMA2_3 BFIN_IRQ(26) /* DMA2 3 (SPORT2 TX) */
  45. #define IRQ_SPORT1_TX IRQ_DMA2_3 /* DMA2 3 (SPORT2 TX) */
  46. #define IRQ_DMA2_4 BFIN_IRQ(27) /* DMA2 4 (SPI) */
  47. #define IRQ_SPI IRQ_DMA2_4 /* DMA2 4 (SPI) */
  48. #define IRQ_DMA2_5 BFIN_IRQ(28) /* DMA2 5 (UART RX) */
  49. #define IRQ_UART_RX IRQ_DMA2_5 /* DMA2 5 (UART RX) */
  50. #define IRQ_DMA2_6 BFIN_IRQ(29) /* DMA2 6 (UART TX) */
  51. #define IRQ_UART_TX IRQ_DMA2_6 /* DMA2 6 (UART TX) */
  52. #define IRQ_DMA2_7 BFIN_IRQ(30) /* DMA2 7 Interrupt */
  53. #define IRQ_DMA2_8 BFIN_IRQ(31) /* DMA2 8 Interrupt */
  54. #define IRQ_DMA2_9 BFIN_IRQ(32) /* DMA2 9 Interrupt */
  55. #define IRQ_DMA2_10 BFIN_IRQ(33) /* DMA2 10 Interrupt */
  56. #define IRQ_DMA2_11 BFIN_IRQ(34) /* DMA2 11 Interrupt */
  57. #define IRQ_TIMER0 BFIN_IRQ(35) /* TIMER 0 Interrupt */
  58. #define IRQ_TIMER1 BFIN_IRQ(36) /* TIMER 1 Interrupt */
  59. #define IRQ_TIMER2 BFIN_IRQ(37) /* TIMER 2 Interrupt */
  60. #define IRQ_TIMER3 BFIN_IRQ(38) /* TIMER 3 Interrupt */
  61. #define IRQ_TIMER4 BFIN_IRQ(39) /* TIMER 4 Interrupt */
  62. #define IRQ_TIMER5 BFIN_IRQ(40) /* TIMER 5 Interrupt */
  63. #define IRQ_TIMER6 BFIN_IRQ(41) /* TIMER 6 Interrupt */
  64. #define IRQ_TIMER7 BFIN_IRQ(42) /* TIMER 7 Interrupt */
  65. #define IRQ_TIMER8 BFIN_IRQ(43) /* TIMER 8 Interrupt */
  66. #define IRQ_TIMER9 BFIN_IRQ(44) /* TIMER 9 Interrupt */
  67. #define IRQ_TIMER10 BFIN_IRQ(45) /* TIMER 10 Interrupt */
  68. #define IRQ_TIMER11 BFIN_IRQ(46) /* TIMER 11 Interrupt */
  69. #define IRQ_PROG0_INTA BFIN_IRQ(47) /* Programmable Flags0 A (8) */
  70. #define IRQ_PROG_INTA IRQ_PROG0_INTA /* Programmable Flags0 A (8) */
  71. #define IRQ_PROG0_INTB BFIN_IRQ(48) /* Programmable Flags0 B (8) */
  72. #define IRQ_PROG_INTB IRQ_PROG0_INTB /* Programmable Flags0 B (8) */
  73. #define IRQ_PROG1_INTA BFIN_IRQ(49) /* Programmable Flags1 A (8) */
  74. #define IRQ_PROG1_INTB BFIN_IRQ(50) /* Programmable Flags1 B (8) */
  75. #define IRQ_PROG2_INTA BFIN_IRQ(51) /* Programmable Flags2 A (8) */
  76. #define IRQ_PROG2_INTB BFIN_IRQ(52) /* Programmable Flags2 B (8) */
  77. #define IRQ_DMA1_WRRD0 BFIN_IRQ(53) /* MDMA1 0 write/read INT */
  78. #define IRQ_DMA_WRRD0 IRQ_DMA1_WRRD0 /* MDMA1 0 write/read INT */
  79. #define IRQ_MEM_DMA0 IRQ_DMA1_WRRD0
  80. #define IRQ_DMA1_WRRD1 BFIN_IRQ(54) /* MDMA1 1 write/read INT */
  81. #define IRQ_DMA_WRRD1 IRQ_DMA1_WRRD1 /* MDMA1 1 write/read INT */
  82. #define IRQ_MEM_DMA1 IRQ_DMA1_WRRD1
  83. #define IRQ_DMA2_WRRD0 BFIN_IRQ(55) /* MDMA2 0 write/read INT */
  84. #define IRQ_MEM_DMA2 IRQ_DMA2_WRRD0
  85. #define IRQ_DMA2_WRRD1 BFIN_IRQ(56) /* MDMA2 1 write/read INT */
  86. #define IRQ_MEM_DMA3 IRQ_DMA2_WRRD1
  87. #define IRQ_IMDMA_WRRD0 BFIN_IRQ(57) /* IMDMA 0 write/read INT */
  88. #define IRQ_IMEM_DMA0 IRQ_IMDMA_WRRD0
  89. #define IRQ_IMDMA_WRRD1 BFIN_IRQ(58) /* IMDMA 1 write/read INT */
  90. #define IRQ_IMEM_DMA1 IRQ_IMDMA_WRRD1
  91. #define IRQ_WATCH BFIN_IRQ(59) /* Watch Dog Timer */
  92. #define IRQ_RESERVED_1 BFIN_IRQ(60) /* Reserved interrupt */
  93. #define IRQ_RESERVED_2 BFIN_IRQ(61) /* Reserved interrupt */
  94. #define IRQ_SUPPLE_0 BFIN_IRQ(62) /* Supplemental interrupt 0 */
  95. #define IRQ_SUPPLE_1 BFIN_IRQ(63) /* supplemental interrupt 1 */
  96. #define SYS_IRQS 71
  97. #define IRQ_PF0 73
  98. #define IRQ_PF1 74
  99. #define IRQ_PF2 75
  100. #define IRQ_PF3 76
  101. #define IRQ_PF4 77
  102. #define IRQ_PF5 78
  103. #define IRQ_PF6 79
  104. #define IRQ_PF7 80
  105. #define IRQ_PF8 81
  106. #define IRQ_PF9 82
  107. #define IRQ_PF10 83
  108. #define IRQ_PF11 84
  109. #define IRQ_PF12 85
  110. #define IRQ_PF13 86
  111. #define IRQ_PF14 87
  112. #define IRQ_PF15 88
  113. #define IRQ_PF16 89
  114. #define IRQ_PF17 90
  115. #define IRQ_PF18 91
  116. #define IRQ_PF19 92
  117. #define IRQ_PF20 93
  118. #define IRQ_PF21 94
  119. #define IRQ_PF22 95
  120. #define IRQ_PF23 96
  121. #define IRQ_PF24 97
  122. #define IRQ_PF25 98
  123. #define IRQ_PF26 99
  124. #define IRQ_PF27 100
  125. #define IRQ_PF28 101
  126. #define IRQ_PF29 102
  127. #define IRQ_PF30 103
  128. #define IRQ_PF31 104
  129. #define IRQ_PF32 105
  130. #define IRQ_PF33 106
  131. #define IRQ_PF34 107
  132. #define IRQ_PF35 108
  133. #define IRQ_PF36 109
  134. #define IRQ_PF37 110
  135. #define IRQ_PF38 111
  136. #define IRQ_PF39 112
  137. #define IRQ_PF40 113
  138. #define IRQ_PF41 114
  139. #define IRQ_PF42 115
  140. #define IRQ_PF43 116
  141. #define IRQ_PF44 117
  142. #define IRQ_PF45 118
  143. #define IRQ_PF46 119
  144. #define IRQ_PF47 120
  145. #define GPIO_IRQ_BASE IRQ_PF0
  146. #define NR_MACH_IRQS (IRQ_PF47 + 1)
  147. /* IAR0 BIT FIELDS */
  148. #define IRQ_PLL_WAKEUP_POS 0
  149. #define IRQ_DMA1_ERROR_POS 4
  150. #define IRQ_DMA2_ERROR_POS 8
  151. #define IRQ_IMDMA_ERROR_POS 12
  152. #define IRQ_PPI0_ERROR_POS 16
  153. #define IRQ_PPI1_ERROR_POS 20
  154. #define IRQ_SPORT0_ERROR_POS 24
  155. #define IRQ_SPORT1_ERROR_POS 28
  156. /* IAR1 BIT FIELDS */
  157. #define IRQ_SPI_ERROR_POS 0
  158. #define IRQ_UART_ERROR_POS 4
  159. #define IRQ_RESERVED_ERROR_POS 8
  160. #define IRQ_DMA1_0_POS 12
  161. #define IRQ_DMA1_1_POS 16
  162. #define IRQ_DMA1_2_POS 20
  163. #define IRQ_DMA1_3_POS 24
  164. #define IRQ_DMA1_4_POS 28
  165. /* IAR2 BIT FIELDS */
  166. #define IRQ_DMA1_5_POS 0
  167. #define IRQ_DMA1_6_POS 4
  168. #define IRQ_DMA1_7_POS 8
  169. #define IRQ_DMA1_8_POS 12
  170. #define IRQ_DMA1_9_POS 16
  171. #define IRQ_DMA1_10_POS 20
  172. #define IRQ_DMA1_11_POS 24
  173. #define IRQ_DMA2_0_POS 28
  174. /* IAR3 BIT FIELDS */
  175. #define IRQ_DMA2_1_POS 0
  176. #define IRQ_DMA2_2_POS 4
  177. #define IRQ_DMA2_3_POS 8
  178. #define IRQ_DMA2_4_POS 12
  179. #define IRQ_DMA2_5_POS 16
  180. #define IRQ_DMA2_6_POS 20
  181. #define IRQ_DMA2_7_POS 24
  182. #define IRQ_DMA2_8_POS 28
  183. /* IAR4 BIT FIELDS */
  184. #define IRQ_DMA2_9_POS 0
  185. #define IRQ_DMA2_10_POS 4
  186. #define IRQ_DMA2_11_POS 8
  187. #define IRQ_TIMER0_POS 12
  188. #define IRQ_TIMER1_POS 16
  189. #define IRQ_TIMER2_POS 20
  190. #define IRQ_TIMER3_POS 24
  191. #define IRQ_TIMER4_POS 28
  192. /* IAR5 BIT FIELDS */
  193. #define IRQ_TIMER5_POS 0
  194. #define IRQ_TIMER6_POS 4
  195. #define IRQ_TIMER7_POS 8
  196. #define IRQ_TIMER8_POS 12
  197. #define IRQ_TIMER9_POS 16
  198. #define IRQ_TIMER10_POS 20
  199. #define IRQ_TIMER11_POS 24
  200. #define IRQ_PROG0_INTA_POS 28
  201. /* IAR6 BIT FIELDS */
  202. #define IRQ_PROG0_INTB_POS 0
  203. #define IRQ_PROG1_INTA_POS 4
  204. #define IRQ_PROG1_INTB_POS 8
  205. #define IRQ_PROG2_INTA_POS 12
  206. #define IRQ_PROG2_INTB_POS 16
  207. #define IRQ_DMA1_WRRD0_POS 20
  208. #define IRQ_DMA1_WRRD1_POS 24
  209. #define IRQ_DMA2_WRRD0_POS 28
  210. /* IAR7 BIT FIELDS */
  211. #define IRQ_DMA2_WRRD1_POS 0
  212. #define IRQ_IMDMA_WRRD0_POS 4
  213. #define IRQ_IMDMA_WRRD1_POS 8
  214. #define IRQ_WDTIMER_POS 12
  215. #define IRQ_RESERVED_1_POS 16
  216. #define IRQ_RESERVED_2_POS 20
  217. #define IRQ_SUPPLE_0_POS 24
  218. #define IRQ_SUPPLE_1_POS 28
  219. #endif