Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs...
[pandora-kernel.git] / arch / blackfin / mach-bf548 / include / mach / irq.h
1 /*
2  * Copyright 2007-2009 Analog Devices Inc.
3  *
4  * Licensed under the GPL-2 or later.
5  */
6
7 #ifndef _BF548_IRQ_H_
8 #define _BF548_IRQ_H_
9
10 #include <mach-common/irq.h>
11
12 #define NR_PERI_INTS            (3 * 32)
13
14 #define IRQ_PLL_WAKEUP          BFIN_IRQ(0)     /* PLL Wakeup Interrupt */
15 #define IRQ_DMAC0_ERROR         BFIN_IRQ(1)     /* DMAC0 Status Interrupt */
16 #define IRQ_EPPI0_ERROR         BFIN_IRQ(2)     /* EPPI0 Error Interrupt */
17 #define IRQ_SPORT0_ERROR        BFIN_IRQ(3)     /* SPORT0 Error Interrupt */
18 #define IRQ_SPORT1_ERROR        BFIN_IRQ(4)     /* SPORT1 Error Interrupt */
19 #define IRQ_SPI0_ERROR          BFIN_IRQ(5)     /* SPI0 Status(Error) Interrupt */
20 #define IRQ_UART0_ERROR         BFIN_IRQ(6)     /* UART0 Status(Error) Interrupt */
21 #define IRQ_RTC                 BFIN_IRQ(7)     /* RTC Interrupt */
22 #define IRQ_EPPI0               BFIN_IRQ(8)     /* EPPI0 Interrupt (DMA12) */
23 #define IRQ_SPORT0_RX           BFIN_IRQ(9)     /* SPORT0 RX Interrupt (DMA0) */
24 #define IRQ_SPORT0_TX           BFIN_IRQ(10)    /* SPORT0 TX Interrupt (DMA1) */
25 #define IRQ_SPORT1_RX           BFIN_IRQ(11)    /* SPORT1 RX Interrupt (DMA2) */
26 #define IRQ_SPORT1_TX           BFIN_IRQ(12)    /* SPORT1 TX Interrupt (DMA3) */
27 #define IRQ_SPI0                BFIN_IRQ(13)    /* SPI0 Interrupt (DMA4) */
28 #define IRQ_UART0_RX            BFIN_IRQ(14)    /* UART0 RX Interrupt (DMA6) */
29 #define IRQ_UART0_TX            BFIN_IRQ(15)    /* UART0 TX Interrupt (DMA7) */
30 #define IRQ_TIMER8              BFIN_IRQ(16)    /* TIMER 8 Interrupt */
31 #define IRQ_TIMER9              BFIN_IRQ(17)    /* TIMER 9 Interrupt */
32 #define IRQ_TIMER10             BFIN_IRQ(18)    /* TIMER 10 Interrupt */
33 #define IRQ_PINT0               BFIN_IRQ(19)    /* PINT0 Interrupt */
34 #define IRQ_PINT1               BFIN_IRQ(20)    /* PINT1 Interrupt */
35 #define IRQ_MDMAS0              BFIN_IRQ(21)    /* MDMA Stream 0 Interrupt */
36 #define IRQ_MDMAS1              BFIN_IRQ(22)    /* MDMA Stream 1 Interrupt */
37 #define IRQ_WATCH               BFIN_IRQ(23)    /* Watchdog Interrupt */
38 #define IRQ_DMAC1_ERROR         BFIN_IRQ(24)    /* DMAC1 Status (Error) Interrupt */
39 #define IRQ_SPORT2_ERROR        BFIN_IRQ(25)    /* SPORT2 Error Interrupt */
40 #define IRQ_SPORT3_ERROR        BFIN_IRQ(26)    /* SPORT3 Error Interrupt */
41 #define IRQ_MXVR_DATA           BFIN_IRQ(27)    /* MXVR Data Interrupt */
42 #define IRQ_SPI1_ERROR          BFIN_IRQ(28)    /* SPI1 Status (Error) Interrupt */
43 #define IRQ_SPI2_ERROR          BFIN_IRQ(29)    /* SPI2 Status (Error) Interrupt */
44 #define IRQ_UART1_ERROR         BFIN_IRQ(30)    /* UART1 Status (Error) Interrupt */
45 #define IRQ_UART2_ERROR         BFIN_IRQ(31)    /* UART2 Status (Error) Interrupt */
46 #define IRQ_CAN0_ERROR          BFIN_IRQ(32)    /* CAN0 Status (Error) Interrupt */
47 #define IRQ_SPORT2_RX           BFIN_IRQ(33)    /* SPORT2 RX (DMA18) Interrupt */
48 #define IRQ_SPORT2_TX           BFIN_IRQ(34)    /* SPORT2 TX (DMA19) Interrupt */
49 #define IRQ_SPORT3_RX           BFIN_IRQ(35)    /* SPORT3 RX (DMA20) Interrupt */
50 #define IRQ_SPORT3_TX           BFIN_IRQ(36)    /* SPORT3 TX (DMA21) Interrupt */
51 #define IRQ_EPPI1               BFIN_IRQ(37)    /* EPP1 (DMA13) Interrupt */
52 #define IRQ_EPPI2               BFIN_IRQ(38)    /* EPP2 (DMA14) Interrupt */
53 #define IRQ_SPI1                BFIN_IRQ(39)    /* SPI1 (DMA5) Interrupt */
54 #define IRQ_SPI2                BFIN_IRQ(40)    /* SPI2 (DMA23) Interrupt */
55 #define IRQ_UART1_RX            BFIN_IRQ(41)    /* UART1 RX (DMA8) Interrupt */
56 #define IRQ_UART1_TX            BFIN_IRQ(42)    /* UART1 TX (DMA9) Interrupt */
57 #define IRQ_ATAPI_RX            BFIN_IRQ(43)    /* ATAPI RX (DMA10) Interrupt */
58 #define IRQ_ATAPI_TX            BFIN_IRQ(44)    /* ATAPI TX (DMA11) Interrupt */
59 #define IRQ_TWI0                BFIN_IRQ(45)    /* TWI0 Interrupt */
60 #define IRQ_TWI1                BFIN_IRQ(46)    /* TWI1 Interrupt */
61 #define IRQ_CAN0_RX             BFIN_IRQ(47)    /* CAN0 Receive Interrupt */
62 #define IRQ_CAN0_TX             BFIN_IRQ(48)    /* CAN0 Transmit Interrupt */
63 #define IRQ_MDMAS2              BFIN_IRQ(49)    /* MDMA Stream 2 Interrupt */
64 #define IRQ_MDMAS3              BFIN_IRQ(50)    /* MDMA Stream 3 Interrupt */
65 #define IRQ_MXVR_ERROR          BFIN_IRQ(51)    /* MXVR Status (Error) Interrupt */
66 #define IRQ_MXVR_MSG            BFIN_IRQ(52)    /* MXVR Message Interrupt */
67 #define IRQ_MXVR_PKT            BFIN_IRQ(53)    /* MXVR Packet Interrupt */
68 #define IRQ_EPPI1_ERROR         BFIN_IRQ(54)    /* EPPI1 Error Interrupt */
69 #define IRQ_EPPI2_ERROR         BFIN_IRQ(55)    /* EPPI2 Error Interrupt */
70 #define IRQ_UART3_ERROR         BFIN_IRQ(56)    /* UART3 Status (Error) Interrupt */
71 #define IRQ_HOST_ERROR          BFIN_IRQ(57)    /* HOST Status (Error) Interrupt */
72 #define IRQ_PIXC_ERROR          BFIN_IRQ(59)    /* PIXC Status (Error) Interrupt */
73 #define IRQ_NFC_ERROR           BFIN_IRQ(60)    /* NFC Error Interrupt */
74 #define IRQ_ATAPI_ERROR         BFIN_IRQ(61)    /* ATAPI Error Interrupt */
75 #define IRQ_CAN1_ERROR          BFIN_IRQ(62)    /* CAN1 Status (Error) Interrupt */
76 #define IRQ_HS_DMA_ERROR        BFIN_IRQ(63)    /* Handshake DMA Status Interrupt */
77 #define IRQ_PIXC_IN0            BFIN_IRQ(64)    /* PIXC IN0 (DMA15) Interrupt */
78 #define IRQ_PIXC_IN1            BFIN_IRQ(65)    /* PIXC IN1 (DMA16) Interrupt */
79 #define IRQ_PIXC_OUT            BFIN_IRQ(66)    /* PIXC OUT (DMA17) Interrupt */
80 #define IRQ_SDH                 BFIN_IRQ(67)    /* SDH/NFC (DMA22) Interrupt */
81 #define IRQ_CNT                 BFIN_IRQ(68)    /* CNT Interrupt */
82 #define IRQ_KEY                 BFIN_IRQ(69)    /* KEY Interrupt */
83 #define IRQ_CAN1_RX             BFIN_IRQ(70)    /* CAN1 RX Interrupt */
84 #define IRQ_CAN1_TX             BFIN_IRQ(71)    /* CAN1 TX Interrupt */
85 #define IRQ_SDH_MASK0           BFIN_IRQ(72)    /* SDH Mask 0 Interrupt */
86 #define IRQ_SDH_MASK1           BFIN_IRQ(73)    /* SDH Mask 1 Interrupt */
87 #define IRQ_USB_INT0            BFIN_IRQ(75)    /* USB INT0 Interrupt */
88 #define IRQ_USB_INT1            BFIN_IRQ(76)    /* USB INT1 Interrupt */
89 #define IRQ_USB_INT2            BFIN_IRQ(77)    /* USB INT2 Interrupt */
90 #define IRQ_USB_DMA             BFIN_IRQ(78)    /* USB DMA Interrupt */
91 #define IRQ_OPTSEC              BFIN_IRQ(79)    /* OTPSEC Interrupt */
92 #define IRQ_TIMER0              BFIN_IRQ(86)    /* Timer 0 Interrupt */
93 #define IRQ_TIMER1              BFIN_IRQ(87)    /* Timer 1 Interrupt */
94 #define IRQ_TIMER2              BFIN_IRQ(88)    /* Timer 2 Interrupt */
95 #define IRQ_TIMER3              BFIN_IRQ(89)    /* Timer 3 Interrupt */
96 #define IRQ_TIMER4              BFIN_IRQ(90)    /* Timer 4 Interrupt */
97 #define IRQ_TIMER5              BFIN_IRQ(91)    /* Timer 5 Interrupt */
98 #define IRQ_TIMER6              BFIN_IRQ(92)    /* Timer 6 Interrupt */
99 #define IRQ_TIMER7              BFIN_IRQ(93)    /* Timer 7 Interrupt */
100 #define IRQ_PINT2               BFIN_IRQ(94)    /* PINT2 Interrupt */
101 #define IRQ_PINT3               BFIN_IRQ(95)    /* PINT3 Interrupt */
102
103 #define SYS_IRQS                IRQ_PINT3
104
105 #define BFIN_PA_IRQ(x)          ((x) + SYS_IRQS + 1)
106 #define IRQ_PA0                 BFIN_PA_IRQ(0)
107 #define IRQ_PA1                 BFIN_PA_IRQ(1)
108 #define IRQ_PA2                 BFIN_PA_IRQ(2)
109 #define IRQ_PA3                 BFIN_PA_IRQ(3)
110 #define IRQ_PA4                 BFIN_PA_IRQ(4)
111 #define IRQ_PA5                 BFIN_PA_IRQ(5)
112 #define IRQ_PA6                 BFIN_PA_IRQ(6)
113 #define IRQ_PA7                 BFIN_PA_IRQ(7)
114 #define IRQ_PA8                 BFIN_PA_IRQ(8)
115 #define IRQ_PA9                 BFIN_PA_IRQ(9)
116 #define IRQ_PA10                BFIN_PA_IRQ(10)
117 #define IRQ_PA11                BFIN_PA_IRQ(11)
118 #define IRQ_PA12                BFIN_PA_IRQ(12)
119 #define IRQ_PA13                BFIN_PA_IRQ(13)
120 #define IRQ_PA14                BFIN_PA_IRQ(14)
121 #define IRQ_PA15                BFIN_PA_IRQ(15)
122
123 #define BFIN_PB_IRQ(x)          ((x) + IRQ_PA15 + 1)
124 #define IRQ_PB0                 BFIN_PB_IRQ(0)
125 #define IRQ_PB1                 BFIN_PB_IRQ(1)
126 #define IRQ_PB2                 BFIN_PB_IRQ(2)
127 #define IRQ_PB3                 BFIN_PB_IRQ(3)
128 #define IRQ_PB4                 BFIN_PB_IRQ(4)
129 #define IRQ_PB5                 BFIN_PB_IRQ(5)
130 #define IRQ_PB6                 BFIN_PB_IRQ(6)
131 #define IRQ_PB7                 BFIN_PB_IRQ(7)
132 #define IRQ_PB8                 BFIN_PB_IRQ(8)
133 #define IRQ_PB9                 BFIN_PB_IRQ(9)
134 #define IRQ_PB10                BFIN_PB_IRQ(10)
135 #define IRQ_PB11                BFIN_PB_IRQ(11)
136 #define IRQ_PB12                BFIN_PB_IRQ(12)
137 #define IRQ_PB13                BFIN_PB_IRQ(13)
138 #define IRQ_PB14                BFIN_PB_IRQ(14)
139 #define IRQ_PB15                BFIN_PB_IRQ(15)         /* N/A */
140
141 #define BFIN_PC_IRQ(x)          ((x) + IRQ_PB15 + 1)
142 #define IRQ_PC0                 BFIN_PC_IRQ(0)
143 #define IRQ_PC1                 BFIN_PC_IRQ(1)
144 #define IRQ_PC2                 BFIN_PC_IRQ(2)
145 #define IRQ_PC3                 BFIN_PC_IRQ(3)
146 #define IRQ_PC4                 BFIN_PC_IRQ(4)
147 #define IRQ_PC5                 BFIN_PC_IRQ(5)
148 #define IRQ_PC6                 BFIN_PC_IRQ(6)
149 #define IRQ_PC7                 BFIN_PC_IRQ(7)
150 #define IRQ_PC8                 BFIN_PC_IRQ(8)
151 #define IRQ_PC9                 BFIN_PC_IRQ(9)
152 #define IRQ_PC10                BFIN_PC_IRQ(10)
153 #define IRQ_PC11                BFIN_PC_IRQ(11)
154 #define IRQ_PC12                BFIN_PC_IRQ(12)
155 #define IRQ_PC13                BFIN_PC_IRQ(13)
156 #define IRQ_PC14                BFIN_PC_IRQ(14)         /* N/A */
157 #define IRQ_PC15                BFIN_PC_IRQ(15)         /* N/A */
158
159 #define BFIN_PD_IRQ(x)          ((x) + IRQ_PC15 + 1)
160 #define IRQ_PD0                 BFIN_PD_IRQ(0)
161 #define IRQ_PD1                 BFIN_PD_IRQ(1)
162 #define IRQ_PD2                 BFIN_PD_IRQ(2)
163 #define IRQ_PD3                 BFIN_PD_IRQ(3)
164 #define IRQ_PD4                 BFIN_PD_IRQ(4)
165 #define IRQ_PD5                 BFIN_PD_IRQ(5)
166 #define IRQ_PD6                 BFIN_PD_IRQ(6)
167 #define IRQ_PD7                 BFIN_PD_IRQ(7)
168 #define IRQ_PD8                 BFIN_PD_IRQ(8)
169 #define IRQ_PD9                 BFIN_PD_IRQ(9)
170 #define IRQ_PD10                BFIN_PD_IRQ(10)
171 #define IRQ_PD11                BFIN_PD_IRQ(11)
172 #define IRQ_PD12                BFIN_PD_IRQ(12)
173 #define IRQ_PD13                BFIN_PD_IRQ(13)
174 #define IRQ_PD14                BFIN_PD_IRQ(14)
175 #define IRQ_PD15                BFIN_PD_IRQ(15)
176
177 #define BFIN_PE_IRQ(x)          ((x) + IRQ_PD15 + 1)
178 #define IRQ_PE0                 BFIN_PE_IRQ(0)
179 #define IRQ_PE1                 BFIN_PE_IRQ(1)
180 #define IRQ_PE2                 BFIN_PE_IRQ(2)
181 #define IRQ_PE3                 BFIN_PE_IRQ(3)
182 #define IRQ_PE4                 BFIN_PE_IRQ(4)
183 #define IRQ_PE5                 BFIN_PE_IRQ(5)
184 #define IRQ_PE6                 BFIN_PE_IRQ(6)
185 #define IRQ_PE7                 BFIN_PE_IRQ(7)
186 #define IRQ_PE8                 BFIN_PE_IRQ(8)
187 #define IRQ_PE9                 BFIN_PE_IRQ(9)
188 #define IRQ_PE10                BFIN_PE_IRQ(10)
189 #define IRQ_PE11                BFIN_PE_IRQ(11)
190 #define IRQ_PE12                BFIN_PE_IRQ(12)
191 #define IRQ_PE13                BFIN_PE_IRQ(13)
192 #define IRQ_PE14                BFIN_PE_IRQ(14)
193 #define IRQ_PE15                BFIN_PE_IRQ(15)
194
195 #define BFIN_PF_IRQ(x)          ((x) + IRQ_PE15 + 1)
196 #define IRQ_PF0                 BFIN_PF_IRQ(0)
197 #define IRQ_PF1                 BFIN_PF_IRQ(1)
198 #define IRQ_PF2                 BFIN_PF_IRQ(2)
199 #define IRQ_PF3                 BFIN_PF_IRQ(3)
200 #define IRQ_PF4                 BFIN_PF_IRQ(4)
201 #define IRQ_PF5                 BFIN_PF_IRQ(5)
202 #define IRQ_PF6                 BFIN_PF_IRQ(6)
203 #define IRQ_PF7                 BFIN_PF_IRQ(7)
204 #define IRQ_PF8                 BFIN_PF_IRQ(8)
205 #define IRQ_PF9                 BFIN_PF_IRQ(9)
206 #define IRQ_PF10                BFIN_PF_IRQ(10)
207 #define IRQ_PF11                BFIN_PF_IRQ(11)
208 #define IRQ_PF12                BFIN_PF_IRQ(12)
209 #define IRQ_PF13                BFIN_PF_IRQ(13)
210 #define IRQ_PF14                BFIN_PF_IRQ(14)
211 #define IRQ_PF15                BFIN_PF_IRQ(15)
212
213 #define BFIN_PG_IRQ(x)          ((x) + IRQ_PF15 + 1)
214 #define IRQ_PG0                 BFIN_PG_IRQ(0)
215 #define IRQ_PG1                 BFIN_PG_IRQ(1)
216 #define IRQ_PG2                 BFIN_PG_IRQ(2)
217 #define IRQ_PG3                 BFIN_PG_IRQ(3)
218 #define IRQ_PG4                 BFIN_PG_IRQ(4)
219 #define IRQ_PG5                 BFIN_PG_IRQ(5)
220 #define IRQ_PG6                 BFIN_PG_IRQ(6)
221 #define IRQ_PG7                 BFIN_PG_IRQ(7)
222 #define IRQ_PG8                 BFIN_PG_IRQ(8)
223 #define IRQ_PG9                 BFIN_PG_IRQ(9)
224 #define IRQ_PG10                BFIN_PG_IRQ(10)
225 #define IRQ_PG11                BFIN_PG_IRQ(11)
226 #define IRQ_PG12                BFIN_PG_IRQ(12)
227 #define IRQ_PG13                BFIN_PG_IRQ(13)
228 #define IRQ_PG14                BFIN_PG_IRQ(14)
229 #define IRQ_PG15                BFIN_PG_IRQ(15)
230
231 #define BFIN_PH_IRQ(x)          ((x) + IRQ_PG15 + 1)
232 #define IRQ_PH0                 BFIN_PH_IRQ(0)
233 #define IRQ_PH1                 BFIN_PH_IRQ(1)
234 #define IRQ_PH2                 BFIN_PH_IRQ(2)
235 #define IRQ_PH3                 BFIN_PH_IRQ(3)
236 #define IRQ_PH4                 BFIN_PH_IRQ(4)
237 #define IRQ_PH5                 BFIN_PH_IRQ(5)
238 #define IRQ_PH6                 BFIN_PH_IRQ(6)
239 #define IRQ_PH7                 BFIN_PH_IRQ(7)
240 #define IRQ_PH8                 BFIN_PH_IRQ(8)
241 #define IRQ_PH9                 BFIN_PH_IRQ(9)
242 #define IRQ_PH10                BFIN_PH_IRQ(10)
243 #define IRQ_PH11                BFIN_PH_IRQ(11)
244 #define IRQ_PH12                BFIN_PH_IRQ(12)
245 #define IRQ_PH13                BFIN_PH_IRQ(13)
246 #define IRQ_PH14                BFIN_PH_IRQ(14)         /* N/A */
247 #define IRQ_PH15                BFIN_PH_IRQ(15)         /* N/A */
248
249 #define BFIN_PI_IRQ(x)          ((x) + IRQ_PH15 + 1)
250 #define IRQ_PI0                 BFIN_PI_IRQ(0)
251 #define IRQ_PI1                 BFIN_PI_IRQ(1)
252 #define IRQ_PI2                 BFIN_PI_IRQ(2)
253 #define IRQ_PI3                 BFIN_PI_IRQ(3)
254 #define IRQ_PI4                 BFIN_PI_IRQ(4)
255 #define IRQ_PI5                 BFIN_PI_IRQ(5)
256 #define IRQ_PI6                 BFIN_PI_IRQ(6)
257 #define IRQ_PI7                 BFIN_PI_IRQ(7)
258 #define IRQ_PI8                 BFIN_PI_IRQ(8)
259 #define IRQ_PI9                 BFIN_PI_IRQ(9)
260 #define IRQ_PI10                BFIN_PI_IRQ(10)
261 #define IRQ_PI11                BFIN_PI_IRQ(11)
262 #define IRQ_PI12                BFIN_PI_IRQ(12)
263 #define IRQ_PI13                BFIN_PI_IRQ(13)
264 #define IRQ_PI14                BFIN_PI_IRQ(14)
265 #define IRQ_PI15                BFIN_PI_IRQ(15)
266
267 #define BFIN_PJ_IRQ(x)          ((x) + IRQ_PI15 + 1)
268 #define IRQ_PJ0                 BFIN_PJ_IRQ(0)
269 #define IRQ_PJ1                 BFIN_PJ_IRQ(1)
270 #define IRQ_PJ2                 BFIN_PJ_IRQ(2)
271 #define IRQ_PJ3                 BFIN_PJ_IRQ(3)
272 #define IRQ_PJ4                 BFIN_PJ_IRQ(4)
273 #define IRQ_PJ5                 BFIN_PJ_IRQ(5)
274 #define IRQ_PJ6                 BFIN_PJ_IRQ(6)
275 #define IRQ_PJ7                 BFIN_PJ_IRQ(7)
276 #define IRQ_PJ8                 BFIN_PJ_IRQ(8)
277 #define IRQ_PJ9                 BFIN_PJ_IRQ(9)
278 #define IRQ_PJ10                BFIN_PJ_IRQ(10)
279 #define IRQ_PJ11                BFIN_PJ_IRQ(11)
280 #define IRQ_PJ12                BFIN_PJ_IRQ(12)
281 #define IRQ_PJ13                BFIN_PJ_IRQ(13)
282 #define IRQ_PJ14                BFIN_PJ_IRQ(14)         /* N/A */
283 #define IRQ_PJ15                BFIN_PJ_IRQ(15)         /* N/A */
284
285 #define GPIO_IRQ_BASE           IRQ_PA0
286
287 #define NR_MACH_IRQS            (IRQ_PJ15 + 1)
288
289 /* For compatibility reasons with existing code */
290
291 #define IRQ_DMAC0_ERR           IRQ_DMAC0_ERROR
292 #define IRQ_EPPI0_ERR           IRQ_EPPI0_ERROR
293 #define IRQ_SPORT0_ERR          IRQ_SPORT0_ERROR
294 #define IRQ_SPORT1_ERR          IRQ_SPORT1_ERROR
295 #define IRQ_SPI0_ERR            IRQ_SPI0_ERROR
296 #define IRQ_UART0_ERR           IRQ_UART0_ERROR
297 #define IRQ_DMAC1_ERR           IRQ_DMAC1_ERROR
298 #define IRQ_SPORT2_ERR          IRQ_SPORT2_ERROR
299 #define IRQ_SPORT3_ERR          IRQ_SPORT3_ERROR
300 #define IRQ_SPI1_ERR            IRQ_SPI1_ERROR
301 #define IRQ_SPI2_ERR            IRQ_SPI2_ERROR
302 #define IRQ_UART1_ERR           IRQ_UART1_ERROR
303 #define IRQ_UART2_ERR           IRQ_UART2_ERROR
304 #define IRQ_CAN0_ERR            IRQ_CAN0_ERROR
305 #define IRQ_MXVR_ERR            IRQ_MXVR_ERROR
306 #define IRQ_EPPI1_ERR           IRQ_EPPI1_ERROR
307 #define IRQ_EPPI2_ERR           IRQ_EPPI2_ERROR
308 #define IRQ_UART3_ERR           IRQ_UART3_ERROR
309 #define IRQ_HOST_ERR            IRQ_HOST_ERROR
310 #define IRQ_PIXC_ERR            IRQ_PIXC_ERROR
311 #define IRQ_NFC_ERR             IRQ_NFC_ERROR
312 #define IRQ_ATAPI_ERR           IRQ_ATAPI_ERROR
313 #define IRQ_CAN1_ERR            IRQ_CAN1_ERROR
314 #define IRQ_HS_DMA_ERR          IRQ_HS_DMA_ERROR
315
316 /* IAR0 BIT FIELDS */
317 #define IRQ_PLL_WAKEUP_POS      0
318 #define IRQ_DMAC0_ERR_POS       4
319 #define IRQ_EPPI0_ERR_POS       8
320 #define IRQ_SPORT0_ERR_POS      12
321 #define IRQ_SPORT1_ERR_POS      16
322 #define IRQ_SPI0_ERR_POS        20
323 #define IRQ_UART0_ERR_POS       24
324 #define IRQ_RTC_POS             28
325
326 /* IAR1 BIT FIELDS */
327 #define IRQ_EPPI0_POS           0
328 #define IRQ_SPORT0_RX_POS       4
329 #define IRQ_SPORT0_TX_POS       8
330 #define IRQ_SPORT1_RX_POS       12
331 #define IRQ_SPORT1_TX_POS       16
332 #define IRQ_SPI0_POS            20
333 #define IRQ_UART0_RX_POS        24
334 #define IRQ_UART0_TX_POS        28
335
336 /* IAR2 BIT FIELDS */
337 #define IRQ_TIMER8_POS          0
338 #define IRQ_TIMER9_POS          4
339 #define IRQ_TIMER10_POS         8
340 #define IRQ_PINT0_POS           12
341 #define IRQ_PINT1_POS           16
342 #define IRQ_MDMAS0_POS          20
343 #define IRQ_MDMAS1_POS          24
344 #define IRQ_WATCH_POS           28
345
346 /* IAR3 BIT FIELDS */
347 #define IRQ_DMAC1_ERR_POS       0
348 #define IRQ_SPORT2_ERR_POS      4
349 #define IRQ_SPORT3_ERR_POS      8
350 #define IRQ_MXVR_DATA_POS       12
351 #define IRQ_SPI1_ERR_POS        16
352 #define IRQ_SPI2_ERR_POS        20
353 #define IRQ_UART1_ERR_POS       24
354 #define IRQ_UART2_ERR_POS       28
355
356 /* IAR4 BIT FILEDS */
357 #define IRQ_CAN0_ERR_POS        0
358 #define IRQ_SPORT2_RX_POS       4
359 #define IRQ_UART2_RX_POS        4
360 #define IRQ_SPORT2_TX_POS       8
361 #define IRQ_UART2_TX_POS        8
362 #define IRQ_SPORT3_RX_POS       12
363 #define IRQ_UART3_RX_POS        12
364 #define IRQ_SPORT3_TX_POS       16
365 #define IRQ_UART3_TX_POS        16
366 #define IRQ_EPPI1_POS           20
367 #define IRQ_EPPI2_POS           24
368 #define IRQ_SPI1_POS            28
369
370 /* IAR5 BIT FIELDS */
371 #define IRQ_SPI2_POS            0
372 #define IRQ_UART1_RX_POS        4
373 #define IRQ_UART1_TX_POS        8
374 #define IRQ_ATAPI_RX_POS        12
375 #define IRQ_ATAPI_TX_POS        16
376 #define IRQ_TWI0_POS            20
377 #define IRQ_TWI1_POS            24
378 #define IRQ_CAN0_RX_POS         28
379
380 /* IAR6 BIT FIELDS */
381 #define IRQ_CAN0_TX_POS         0
382 #define IRQ_MDMAS2_POS          4
383 #define IRQ_MDMAS3_POS          8
384 #define IRQ_MXVR_ERR_POS        12
385 #define IRQ_MXVR_MSG_POS        16
386 #define IRQ_MXVR_PKT_POS        20
387 #define IRQ_EPPI1_ERR_POS       24
388 #define IRQ_EPPI2_ERR_POS       28
389
390 /* IAR7 BIT FIELDS */
391 #define IRQ_UART3_ERR_POS       0
392 #define IRQ_HOST_ERR_POS        4
393 #define IRQ_PIXC_ERR_POS        12
394 #define IRQ_NFC_ERR_POS         16
395 #define IRQ_ATAPI_ERR_POS       20
396 #define IRQ_CAN1_ERR_POS        24
397 #define IRQ_HS_DMA_ERR_POS      28
398
399 /* IAR8 BIT FIELDS */
400 #define IRQ_PIXC_IN0_POS        0
401 #define IRQ_PIXC_IN1_POS        4
402 #define IRQ_PIXC_OUT_POS        8
403 #define IRQ_SDH_POS             12
404 #define IRQ_CNT_POS             16
405 #define IRQ_KEY_POS             20
406 #define IRQ_CAN1_RX_POS         24
407 #define IRQ_CAN1_TX_POS         28
408
409 /* IAR9 BIT FIELDS */
410 #define IRQ_SDH_MASK0_POS       0
411 #define IRQ_SDH_MASK1_POS       4
412 #define IRQ_USB_INT0_POS        12
413 #define IRQ_USB_INT1_POS        16
414 #define IRQ_USB_INT2_POS        20
415 #define IRQ_USB_DMA_POS         24
416 #define IRQ_OTPSEC_POS          28
417
418 /* IAR10 BIT FIELDS */
419 #define IRQ_TIMER0_POS          24
420 #define IRQ_TIMER1_POS          28
421
422 /* IAR11 BIT FIELDS */
423 #define IRQ_TIMER2_POS          0
424 #define IRQ_TIMER3_POS          4
425 #define IRQ_TIMER4_POS          8
426 #define IRQ_TIMER5_POS          12
427 #define IRQ_TIMER6_POS          16
428 #define IRQ_TIMER7_POS          20
429 #define IRQ_PINT2_POS           24
430 #define IRQ_PINT3_POS           28
431
432 #ifndef __ASSEMBLY__
433 #include <linux/types.h>
434
435 /*
436  * bfin pint registers layout
437  */
438 struct bfin_pint_regs {
439         u32 mask_set;
440         u32 mask_clear;
441         u32 request;
442         u32 assign;
443         u32 edge_set;
444         u32 edge_clear;
445         u32 invert_set;
446         u32 invert_clear;
447         u32 pinstate;
448         u32 latch;
449         u32 __pad0[2];
450 };
451
452 #endif
453
454 #endif