blob: 895c5780e45473150ad02217a860e254b7fac648 [file] [log] [blame]
Paul Mundtbf3a00f2006-01-16 22:14:14 -08001#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
Paul Mundtbf3a00f2006-01-16 22:14:14 -0800148/* 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
Paul Mundtbf3a00f2006-01-16 22:14:14 -0800297#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 */