4dc6466e843dac105cb99ffe342c2b27c568ea00
[openwrt/svn-archive/archive.git] / target / linux / lantiq / files / arch / mips / include / asm / mach-lantiq / falcon / falcon_irq.h
1 /*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License version 2 as published
4 * by the Free Software Foundation.
5 *
6 * Copyright (C) 2010 Thomas Langer <thomas.langer@lantiq.com>
7 */
8
9 #ifndef _FALCON_IRQ__
10 #define _FALCON_IRQ__
11
12 #define INT_NUM_IRQ0 8
13 #define INT_NUM_IM0_IRL0 (INT_NUM_IRQ0 + 0)
14 #define INT_NUM_IM1_IRL0 (INT_NUM_IM0_IRL0 + 32)
15 #define INT_NUM_IM2_IRL0 (INT_NUM_IM1_IRL0 + 32)
16 #define INT_NUM_IM3_IRL0 (INT_NUM_IM2_IRL0 + 32)
17 #define INT_NUM_IM4_IRL0 (INT_NUM_IM3_IRL0 + 32)
18 #define INT_NUM_EXTRA_START (INT_NUM_IM4_IRL0 + 32)
19 #define INT_NUM_IM_OFFSET (INT_NUM_IM1_IRL0 - INT_NUM_IM0_IRL0)
20
21 #define MIPS_CPU_TIMER_IRQ 7
22
23 /* HOST IF Event Interrupt */
24 #define FALCON_IRQ_HOST (INT_NUM_IM0_IRL0 + 0)
25 /* HOST IF Mailbox0 Receive Interrupt */
26 #define FALCON_IRQ_HOST_MB0_RX (INT_NUM_IM0_IRL0 + 1)
27 /* HOST IF Mailbox0 Transmit Interrupt */
28 #define FALCON_IRQ_HOST_MB0_TX (INT_NUM_IM0_IRL0 + 2)
29 /* HOST IF Mailbox1 Receive Interrupt */
30 #define FALCON_IRQ_HOST_MB1_RX (INT_NUM_IM0_IRL0 + 3)
31 /* HOST IF Mailbox1 Transmit Interrupt */
32 #define FALCON_IRQ_HOST_MB1_TX (INT_NUM_IM0_IRL0 + 4)
33 /* I2C Last Single Data Transfer Request */
34 #define FALCON_IRQ_I2C_LSREQ (INT_NUM_IM0_IRL0 + 8)
35 /* I2C Single Data Transfer Request */
36 #define FALCON_IRQ_I2C_SREQ (INT_NUM_IM0_IRL0 + 9)
37 /* I2C Last Burst Data Transfer Request */
38 #define FALCON_IRQ_I2C_LBREQ (INT_NUM_IM0_IRL0 + 10)
39 /* I2C Burst Data Transfer Request */
40 #define FALCON_IRQ_I2C_BREQ (INT_NUM_IM0_IRL0 + 11)
41 /* I2C Error Interrupt */
42 #define FALCON_IRQ_I2C_I2C_ERR (INT_NUM_IM0_IRL0 + 12)
43 /* I2C Protocol Interrupt */
44 #define FALCON_IRQ_I2C_I2C_P (INT_NUM_IM0_IRL0 + 13)
45 /* SSC Transmit Interrupt */
46 #define FALCON_IRQ_SSC_T (INT_NUM_IM0_IRL0 + 14)
47 /* SSC Receive Interrupt */
48 #define FALCON_IRQ_SSC_R (INT_NUM_IM0_IRL0 + 15)
49 /* SSC Error Interrupt */
50 #define FALCON_IRQ_SSC_E (INT_NUM_IM0_IRL0 + 16)
51 /* SSC Frame Interrupt */
52 #define FALCON_IRQ_SSC_F (INT_NUM_IM0_IRL0 + 17)
53 /* Advanced Encryption Standard Interrupt */
54 #define FALCON_IRQ_AES_AES (INT_NUM_IM0_IRL0 + 27)
55 /* Secure Hash Algorithm Interrupt */
56 #define FALCON_IRQ_SHA_HASH (INT_NUM_IM0_IRL0 + 28)
57 /* PCM Receive Interrupt */
58 #define FALCON_IRQ_PCM_RX (INT_NUM_IM0_IRL0 + 29)
59 /* PCM Transmit Interrupt */
60 #define FALCON_IRQ_PCM_TX (INT_NUM_IM0_IRL0 + 30)
61 /* PCM Transmit Crash Interrupt */
62 #define FALCON_IRQ_PCM_HW2_CRASH (INT_NUM_IM0_IRL0 + 31)
63
64 /* EBU Serial Flash Command Error */
65 #define FALCON_IRQ_EBU_SF_CMDERR (INT_NUM_IM1_IRL0 + 0)
66 /* EBU Serial Flash Command Overwrite Error */
67 #define FALCON_IRQ_EBU_SF_COVERR (INT_NUM_IM1_IRL0 + 1)
68 /* EBU Serial Flash Busy */
69 #define FALCON_IRQ_EBU_SF_BUSY (INT_NUM_IM1_IRL0 + 2)
70 /* External Interrupt from GPIO P0 */
71 #define FALCON_IRQ_GPIO_P0 (INT_NUM_IM1_IRL0 + 4)
72 /* External Interrupt from GPIO P1 */
73 #define FALCON_IRQ_GPIO_P1 (INT_NUM_IM1_IRL0 + 5)
74 /* External Interrupt from GPIO P2 */
75 #define FALCON_IRQ_GPIO_P2 (INT_NUM_IM1_IRL0 + 6)
76 /* External Interrupt from GPIO P3 */
77 #define FALCON_IRQ_GPIO_P3 (INT_NUM_IM1_IRL0 + 7)
78 /* External Interrupt from GPIO P4 */
79 #define FALCON_IRQ_GPIO_P4 (INT_NUM_IM1_IRL0 + 8)
80 /* 8kHz backup interrupt derived from core-PLL */
81 #define FALCON_IRQ_FSC_BKP (INT_NUM_IM1_IRL0 + 10)
82 /* FSC Timer Interrupt 0 */
83 #define FALCON_IRQ_FSCT_CMP0 (INT_NUM_IM1_IRL0 + 11)
84 /* FSC Timer Interrupt 1 */
85 #define FALCON_IRQ_FSCT_CMP1 (INT_NUM_IM1_IRL0 + 12)
86 /* 8kHz root interrupt derived from GPON interface */
87 #define FALCON_IRQ_FSC_ROOT (INT_NUM_IM1_IRL0 + 13)
88 /* Time of Day */
89 #define FALCON_IRQ_TOD (INT_NUM_IM1_IRL0 + 14)
90 /* PMA Interrupt from IntNode of the 200MHz Domain */
91 #define FALCON_IRQ_PMA_200M (INT_NUM_IM1_IRL0 + 15)
92 /* PMA Interrupt from IntNode of the TX Clk Domain */
93 #define FALCON_IRQ_PMA_TX (INT_NUM_IM1_IRL0 + 16)
94 /* PMA Interrupt from IntNode of the RX Clk Domain */
95 #define FALCON_IRQ_PMA_RX (INT_NUM_IM1_IRL0 + 17)
96 /* SYS1 Interrupt */
97 #define FALCON_IRQ_SYS1 (INT_NUM_IM1_IRL0 + 20)
98 /* SYS GPE Interrupt */
99 #define FALCON_IRQ_SYS_GPE (INT_NUM_IM1_IRL0 + 21)
100 /* Watchdog Access Error Interrupt */
101 #define FALCON_IRQ_WDT_AEIR (INT_NUM_IM1_IRL0 + 24)
102 /* Watchdog Prewarning Interrupt */
103 #define FALCON_IRQ_WDT_PIR (INT_NUM_IM1_IRL0 + 25)
104 /* SBIU interrupt */
105 #define FALCON_IRQ_SBIU0 (INT_NUM_IM1_IRL0 + 27)
106 /* FPI Bus Control Unit Interrupt */
107 #define FALCON_IRQ_BCU0 (INT_NUM_IM1_IRL0 + 29)
108 /* DDR Controller Interrupt */
109 #define FALCON_IRQ_DDR (INT_NUM_IM1_IRL0 + 30)
110 /* Crossbar Error Interrupt */
111 #define FALCON_IRQ_XBAR_ERROR (INT_NUM_IM1_IRL0 + 31)
112
113 /* ICTRLL 0 Interrupt */
114 #define FALCON_IRQ_ICTRLL0 (INT_NUM_IM2_IRL0 + 0)
115 /* ICTRLL 1 Interrupt */
116 #define FALCON_IRQ_ICTRLL1 (INT_NUM_IM2_IRL0 + 1)
117 /* ICTRLL 2 Interrupt */
118 #define FALCON_IRQ_ICTRLL2 (INT_NUM_IM2_IRL0 + 2)
119 /* ICTRLL 3 Interrupt */
120 #define FALCON_IRQ_ICTRLL3 (INT_NUM_IM2_IRL0 + 3)
121 /* OCTRLL 0 Interrupt */
122 #define FALCON_IRQ_OCTRLL0 (INT_NUM_IM2_IRL0 + 4)
123 /* OCTRLL 1 Interrupt */
124 #define FALCON_IRQ_OCTRLL1 (INT_NUM_IM2_IRL0 + 5)
125 /* OCTRLL 2 Interrupt */
126 #define FALCON_IRQ_OCTRLL2 (INT_NUM_IM2_IRL0 + 6)
127 /* OCTRLL 3 Interrupt */
128 #define FALCON_IRQ_OCTRLL3 (INT_NUM_IM2_IRL0 + 7)
129 /* OCTRLG Interrupt */
130 #define FALCON_IRQ_OCTRLG (INT_NUM_IM2_IRL0 + 9)
131 /* IQM Interrupt */
132 #define FALCON_IRQ_IQM (INT_NUM_IM2_IRL0 + 10)
133 /* FSQM Interrupt */
134 #define FALCON_IRQ_FSQM (INT_NUM_IM2_IRL0 + 11)
135 /* TMU Interrupt */
136 #define FALCON_IRQ_TMU (INT_NUM_IM2_IRL0 + 12)
137 /* LINK1 Interrupt */
138 #define FALCON_IRQ_LINK1 (INT_NUM_IM2_IRL0 + 14)
139 /* ICTRLC 0 Interrupt */
140 #define FALCON_IRQ_ICTRLC0 (INT_NUM_IM2_IRL0 + 16)
141 /* ICTRLC 1 Interrupt */
142 #define FALCON_IRQ_ICTRLC1 (INT_NUM_IM2_IRL0 + 17)
143 /* OCTRLC Interrupt */
144 #define FALCON_IRQ_OCTRLC (INT_NUM_IM2_IRL0 + 18)
145 /* CONFIG Break Interrupt */
146 #define FALCON_IRQ_CONFIG_BREAK (INT_NUM_IM2_IRL0 + 19)
147 /* CONFIG Interrupt */
148 #define FALCON_IRQ_CONFIG (INT_NUM_IM2_IRL0 + 20)
149 /* Dispatcher Interrupt */
150 #define FALCON_IRQ_DISP (INT_NUM_IM2_IRL0 + 21)
151 /* TBM Interrupt */
152 #define FALCON_IRQ_TBM (INT_NUM_IM2_IRL0 + 22)
153 /* GTC Downstream Interrupt */
154 #define FALCON_IRQ_GTC_DS (INT_NUM_IM2_IRL0 + 29)
155 /* GTC Upstream Interrupt */
156 #define FALCON_IRQ_GTC_US (INT_NUM_IM2_IRL0 + 30)
157 /* EIM Interrupt */
158 #define FALCON_IRQ_EIM (INT_NUM_IM2_IRL0 + 31)
159
160 /* ASC0 Transmit Interrupt */
161 #define FALCON_IRQ_ASC0_T (INT_NUM_IM3_IRL0 + 0)
162 /* ASC0 Receive Interrupt */
163 #define FALCON_IRQ_ASC0_R (INT_NUM_IM3_IRL0 + 1)
164 /* ASC0 Error Interrupt */
165 #define FALCON_IRQ_ASC0_E (INT_NUM_IM3_IRL0 + 2)
166 /* ASC0 Transmit Buffer Interrupt */
167 #define FALCON_IRQ_ASC0_TB (INT_NUM_IM3_IRL0 + 3)
168 /* ASC0 Autobaud Start Interrupt */
169 #define FALCON_IRQ_ASC0_ABST (INT_NUM_IM3_IRL0 + 4)
170 /* ASC0 Autobaud Detection Interrupt */
171 #define FALCON_IRQ_ASC0_ABDET (INT_NUM_IM3_IRL0 + 5)
172 /* ASC1 Modem Status Interrupt */
173 #define FALCON_IRQ_ASC0_MS (INT_NUM_IM3_IRL0 + 6)
174 /* ASC0 Soft Flow Control Interrupt */
175 #define FALCON_IRQ_ASC0_SFC (INT_NUM_IM3_IRL0 + 7)
176 /* ASC1 Transmit Interrupt */
177 #define FALCON_IRQ_ASC1_T (INT_NUM_IM3_IRL0 + 8)
178 /* ASC1 Receive Interrupt */
179 #define FALCON_IRQ_ASC1_R (INT_NUM_IM3_IRL0 + 9)
180 /* ASC1 Error Interrupt */
181 #define FALCON_IRQ_ASC1_E (INT_NUM_IM3_IRL0 + 10)
182 /* ASC1 Transmit Buffer Interrupt */
183 #define FALCON_IRQ_ASC1_TB (INT_NUM_IM3_IRL0 + 11)
184 /* ASC1 Autobaud Start Interrupt */
185 #define FALCON_IRQ_ASC1_ABST (INT_NUM_IM3_IRL0 + 12)
186 /* ASC1 Autobaud Detection Interrupt */
187 #define FALCON_IRQ_ASC1_ABDET (INT_NUM_IM3_IRL0 + 13)
188 /* ASC1 Modem Status Interrupt */
189 #define FALCON_IRQ_ASC1_MS (INT_NUM_IM3_IRL0 + 14)
190 /* ASC1 Soft Flow Control Interrupt */
191 #define FALCON_IRQ_ASC1_SFC (INT_NUM_IM3_IRL0 + 15)
192 /* GPTC Timer/Counter 1A Interrupt */
193 #define FALCON_IRQ_GPTC_TC1A (INT_NUM_IM3_IRL0 + 16)
194 /* GPTC Timer/Counter 1B Interrupt */
195 #define FALCON_IRQ_GPTC_TC1B (INT_NUM_IM3_IRL0 + 17)
196 /* GPTC Timer/Counter 2A Interrupt */
197 #define FALCON_IRQ_GPTC_TC2A (INT_NUM_IM3_IRL0 + 18)
198 /* GPTC Timer/Counter 2B Interrupt */
199 #define FALCON_IRQ_GPTC_TC2B (INT_NUM_IM3_IRL0 + 19)
200 /* GPTC Timer/Counter 3A Interrupt */
201 #define FALCON_IRQ_GPTC_TC3A (INT_NUM_IM3_IRL0 + 20)
202 /* GPTC Timer/Counter 3B Interrupt */
203 #define FALCON_IRQ_GPTC_TC3B (INT_NUM_IM3_IRL0 + 21)
204 /* DFEV0, Channel 1 Transmit Interrupt */
205 #define FALCON_IRQ_DFEV0_2TX (INT_NUM_IM3_IRL0 + 26)
206 /* DFEV0, Channel 1 Receive Interrupt */
207 #define FALCON_IRQ_DFEV0_2RX (INT_NUM_IM3_IRL0 + 27)
208 /* DFEV0, Channel 1 General Purpose Interrupt */
209 #define FALCON_IRQ_DFEV0_2GP (INT_NUM_IM3_IRL0 + 28)
210 /* DFEV0, Channel 0 Transmit Interrupt */
211 #define FALCON_IRQ_DFEV0_1TX (INT_NUM_IM3_IRL0 + 29)
212 /* DFEV0, Channel 0 Receive Interrupt */
213 #define FALCON_IRQ_DFEV0_1RX (INT_NUM_IM3_IRL0 + 30)
214 /* DFEV0, Channel 0 General Purpose Interrupt */
215 #define FALCON_IRQ_DFEV0_1GP (INT_NUM_IM3_IRL0 + 31)
216
217 /* ICTRLL 0 Error */
218 #define FALCON_IRQ_ICTRLL0_ERR (INT_NUM_IM4_IRL0 + 0)
219 /* ICTRLL 1 Error */
220 #define FALCON_IRQ_ICTRLL1_ERR (INT_NUM_IM4_IRL0 + 1)
221 /* ICTRLL 2 Error */
222 #define FALCON_IRQ_ICTRLL2_ERR (INT_NUM_IM4_IRL0 + 2)
223 /* ICTRLL 3 Error */
224 #define FALCON_IRQ_ICTRLL3_ERR (INT_NUM_IM4_IRL0 + 3)
225 /* OCTRLL 0 Error */
226 #define FALCON_IRQ_OCTRLL0_ERR (INT_NUM_IM4_IRL0 + 4)
227 /* OCTRLL 1 Error */
228 #define FALCON_IRQ_OCTRLL1_ERR (INT_NUM_IM4_IRL0 + 5)
229 /* OCTRLL 2 Error */
230 #define FALCON_IRQ_OCTRLL2_ERR (INT_NUM_IM4_IRL0 + 6)
231 /* OCTRLL 3 Error */
232 #define FALCON_IRQ_OCTRLL3_ERR (INT_NUM_IM4_IRL0 + 7)
233 /* ICTRLG Error */
234 #define FALCON_IRQ_ICTRLG_ERR (INT_NUM_IM4_IRL0 + 8)
235 /* OCTRLG Error */
236 #define FALCON_IRQ_OCTRLG_ERR (INT_NUM_IM4_IRL0 + 9)
237 /* IQM Error */
238 #define FALCON_IRQ_IQM_ERR (INT_NUM_IM4_IRL0 + 10)
239 /* FSQM Error */
240 #define FALCON_IRQ_FSQM_ERR (INT_NUM_IM4_IRL0 + 11)
241 /* TMU Error */
242 #define FALCON_IRQ_TMU_ERR (INT_NUM_IM4_IRL0 + 12)
243 /* MPS Status Interrupt #0 (VPE1 to VPE0) */
244 #define FALCON_IRQ_MPS_IR0 (INT_NUM_IM4_IRL0 + 14)
245 /* MPS Status Interrupt #1 (VPE1 to VPE0) */
246 #define FALCON_IRQ_MPS_IR1 (INT_NUM_IM4_IRL0 + 15)
247 /* MPS Status Interrupt #2 (VPE1 to VPE0) */
248 #define FALCON_IRQ_MPS_IR2 (INT_NUM_IM4_IRL0 + 16)
249 /* MPS Status Interrupt #3 (VPE1 to VPE0) */
250 #define FALCON_IRQ_MPS_IR3 (INT_NUM_IM4_IRL0 + 17)
251 /* MPS Status Interrupt #4 (VPE1 to VPE0) */
252 #define FALCON_IRQ_MPS_IR4 (INT_NUM_IM4_IRL0 + 18)
253 /* MPS Status Interrupt #5 (VPE1 to VPE0) */
254 #define FALCON_IRQ_MPS_IR5 (INT_NUM_IM4_IRL0 + 19)
255 /* MPS Status Interrupt #6 (VPE1 to VPE0) */
256 #define FALCON_IRQ_MPS_IR6 (INT_NUM_IM4_IRL0 + 20)
257 /* MPS Status Interrupt #7 (VPE1 to VPE0) */
258 #define FALCON_IRQ_MPS_IR7 (INT_NUM_IM4_IRL0 + 21)
259 /* MPS Status Interrupt #8 (VPE1 to VPE0) */
260 #define FALCON_IRQ_MPS_IR8 (INT_NUM_IM4_IRL0 + 22)
261 /* VPE0 Exception Level Flag Interrupt */
262 #define FALCON_IRQ_VPE0_EXL (INT_NUM_IM4_IRL0 + 29)
263 /* VPE0 Error Level Flag Interrupt */
264 #define FALCON_IRQ_VPE0_ERL (INT_NUM_IM4_IRL0 + 30)
265 /* VPE0 Performance Monitoring Counter Interrupt */
266 #define FALCON_IRQ_VPE0_PMCIR (INT_NUM_IM4_IRL0 + 31)
267
268 #endif /* _FALCON_IRQ__ */