MOXA linux-2.6.x / linux-2.6.19-uc1 from UC-7110-LX-BOOTLOADER-1.9_VERSION-4.2.tgz
[linux-2.6.19-moxart.git] / include / asm-arm / arch-s3c24a0 / irqs.h
blobca6a3ea66be6723bfd8cfd7b75621d648bf39c24
1 /*
2 * include/asm-arm/arch-s3c24a0/irqs.h
3 *
4 * $Id: irqs.h,v 1.2 2005/11/28 03:55:11 gerg Exp $
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
11 /* +-+
12 * |m| +---------+
13 * sub-irq ------\ |a|--> | sub-irq |
14 * sources ------/ |s| | status |\
15 * |k| +---------+ \
16 * +-+ \
17 * \
18 * +-+ \ +-+
19 * |m| +---------+ +---> |m| +--------+
20 * external irq ----\ |a|--> | ext-irq |---------> |a|--\ |main-irq|
21 * sources ----/ |s| | status | +-> |s|--/ | status |
22 * |k| +---------+ / |k| +--------+
23 * +-+ / +-+
24 * /
25 * /
26 * /
27 * irq sources -------------------------/
33 * We have three groups.
34 * #0 : Normal (or Main) IRQs
35 * #1 : Sub-IRQs
36 * #2 : External IRQs
38 #define NR_IRQ_GRP (32) /* number of irqs in group */
39 #define IRQ_GRP0_START (0)
40 #define IRQ_GRP1_START (IRQ_GRP0_START + NR_IRQ_GRP)
41 #define IRQ_GRP2_START (IRQ_GRP1_START + NR_IRQ_GRP)
43 #define NR_IRQS (NR_IRQ_GRP * 3)
45 #define SUBIRQ_ENC(x) ((x) + IRQ_GRP1_START)
46 #define SUBIRQ_DEC(x) ((x) - IRQ_GRP1_START)
47 #define EINTIRQ_ENC(x) ((x) + IRQ_GRP2_START)
48 #define EINTIRQ_DEC(x) ((x) - IRQ_GRP2_START)
50 /* Interrupt controller */
51 #define IRQ_EINT0_2 (0) /* External interrupt 0 ~ 2 */
52 #define IRQ_EINT3_6 (1) /* External interrupt 3 ~ 6 */
53 #define IRQ_EINT7_10 (2) /* External interrupt 7 ~ 10 */
54 #define IRQ_EINT11_14 (3) /* External interrupt 11 ~ 14 */
55 #define IRQ_EINT15_18 (4) /* External interrupt 15 ~ 18 */
56 #define IRQ_TIC (5) /* RTC time tick */
57 #define IRQ_DCTQ (6) /* DCTQ */
58 #define IRQ_MC (7) /* MC */
59 #define IRQ_ME (8) /* ME */
60 #define IRQ_KEYPAD (9) /* Keypad */
61 #define IRQ_TIMER0 (10) /* Timer 0 */
62 #define IRQ_TIMER1 (11) /* Timer 1 */
63 #define IRQ_TIMER2 (12) /* Timer 2 */
64 #define IRQ_TIMER3_4 (13) /* Timer 3, 4 */
65 #define IRQ_LCD_POST (14) /* LCD/POST */
66 #define IRQ_CAM_C (15) /* Camera Codec */
67 #define IRQ_WDT_BATFLT (16) /* WDT/BATFLT */
68 #define IRQ_UART0 (17) /* UART 0 */
69 #define IRQ_CAM_P (18) /* Camera Preview */
70 #define IRQ_MODEM (19) /* Modem */
71 #define IRQ_DMA (20) /* DMA channels for S-bus */
72 #define IRQ_SDI (21) /* SDI MMC */
73 #define IRQ_SPI0 (22) /* SPI 0 */
74 #define IRQ_UART1 (23) /* UART 1 */
75 #define IRQ_AC97_NFLASH (24) /* AC97/NFALASH */
76 #define IRQ_USBD (25) /* USB device */
77 #define IRQ_USBH (26) /* USB host */
78 #define IRQ_IIC (27) /* IIC */
79 #define IRQ_IRDA_MSTICK (28) /* IrDA/MSTICK */
80 #define IRQ_VLX_SPI1 (29) /* SPI 1 */
81 #define IRQ_RTC (30) /* RTC alaram */
82 #define IRQ_ADC_PENUPDN (31) /* ADC EOC/Pen up/Pen down */
84 /* SUB IRQ */
85 #define IRQ_RXD0 SUBIRQ_ENC(0)
86 #define IRQ_TXD0 SUBIRQ_ENC(1)
87 #define IRQ_ERR0 SUBIRQ_ENC(2)
88 #define IRQ_RXD1 SUBIRQ_ENC(3)
89 #define IRQ_TXD1 SUBIRQ_ENC(4)
90 #define IRQ_ERR1 SUBIRQ_ENC(5)
91 #define IRQ_IRDA SUBIRQ_ENC(6)
92 #define IRQ_MSTICK SUBIRQ_ENC(7)
93 #define IRQ_TIMER3 SUBIRQ_ENC(11)
94 #define IRQ_TIMER4 SUBIRQ_ENC(12)
95 #define IRQ_WDT SUBIRQ_ENC(13)
96 #define IRQ_BATFLT SUBIRQ_ENC(14)
97 #define IRQ_POST SUBIRQ_ENC(15)
98 #define IRQ_DISP_FIFO SUBIRQ_ENC(16)
99 #define IRQ_PENUP SUBIRQ_ENC(17)
100 #define IRQ_PENDN SUBIRQ_ENC(18)
101 #define IRQ_ADC SUBIRQ_ENC(19)
102 #define IRQ_DISP_FRAME SUBIRQ_ENC(20)
103 #define IRQ_NFLASH SUBIRQ_ENC(21)
104 #define IRQ_AC97 SUBIRQ_ENC(22)
105 #define IRQ_SPI1 SUBIRQ_ENC(23)
106 #define IRQ_VLX SUBIRQ_ENC(24)
107 #define IRQ_DMA0 SUBIRQ_ENC(25)
108 #define IRQ_DMA1 SUBIRQ_ENC(26)
109 #define IRQ_DMA2 SUBIRQ_ENC(27)
110 #define IRQ_DMA3 SUBIRQ_ENC(28)
112 /* External IRQ */
113 #define IRQ_EINT0 EINTIRQ_ENC(0)
114 #define IRQ_EINT1 EINTIRQ_ENC(1)
115 #define IRQ_EINT2 EINTIRQ_ENC(2)
116 #define IRQ_EINT3 EINTIRQ_ENC(3)
117 #define IRQ_EINT4 EINTIRQ_ENC(4)
118 #define IRQ_EINT5 EINTIRQ_ENC(5)
119 #define IRQ_EINT6 EINTIRQ_ENC(6)
120 #define IRQ_EINT7 EINTIRQ_ENC(7)
121 #define IRQ_EINT8 EINTIRQ_ENC(8)
122 #define IRQ_EINT9 EINTIRQ_ENC(9)
123 #define IRQ_EINT10 EINTIRQ_ENC(10)
124 #define IRQ_EINT11 EINTIRQ_ENC(11)
125 #define IRQ_EINT12 EINTIRQ_ENC(12)
126 #define IRQ_EINT13 EINTIRQ_ENC(13)
127 #define IRQ_EINT14 EINTIRQ_ENC(14)
128 #define IRQ_EINT15 EINTIRQ_ENC(15)
129 #define IRQ_EINT16 EINTIRQ_ENC(16)
130 #define IRQ_EINT17 EINTIRQ_ENC(17)
131 #define IRQ_EINT18 EINTIRQ_ENC(18)
132 #define IRQ_EINT19 EINTIRQ_ENC(19)
133 #define IRQ_EINT20 EINTIRQ_ENC(20)
134 #define IRQ_EINT21 EINTIRQ_ENC(21)
135 #define IRQ_EINT22 EINTIRQ_ENC(22)
136 #define IRQ_EINT23 EINTIRQ_ENC(23)
137 #define IRQ_EINT24 EINTIRQ_ENC(24)
138 #define IRQ_EINT25 EINTIRQ_ENC(25)
139 #define IRQ_EINT26 EINTIRQ_ENC(26)
140 #define IRQ_EINT27 EINTIRQ_ENC(27)
141 #define IRQ_EINT28 EINTIRQ_ENC(28)
142 #define IRQ_EINT29 EINTIRQ_ENC(29)
143 #define IRQ_EINT30 EINTIRQ_ENC(30)
144 #define IRQ_EINT31 EINTIRQ_ENC(31)