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