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