Training courses
Kernel and Embedded Linux
Bootlin training courses
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2003-2005 Simtec Electronics * Ben Dooks <ben@simtec.co.uk> */ #ifndef __ASM_ARCH_IRQS_H #define __ASM_ARCH_IRQS_H __FILE__ /* we keep the first set of CPU IRQs out of the range of * the ISA space, so that the PC104 has them to itself * and we don't end up having to do horrible things to the * standard ISA drivers.... */ #define S3C2410_CPUIRQ_OFFSET (16) #define S3C2410_IRQ(x) ((x) + S3C2410_CPUIRQ_OFFSET) /* main cpu interrupts */ #define IRQ_EINT0 S3C2410_IRQ(0) /* 16 */ #define IRQ_EINT1 S3C2410_IRQ(1) #define IRQ_EINT2 S3C2410_IRQ(2) #define IRQ_EINT3 S3C2410_IRQ(3) #define IRQ_EINT4t7 S3C2410_IRQ(4) /* 20 */ #define IRQ_EINT8t23 S3C2410_IRQ(5) #define IRQ_RESERVED6 S3C2410_IRQ(6) /* for s3c2410 */ #define IRQ_CAM S3C2410_IRQ(6) /* for s3c2440,s3c2443 */ #define IRQ_BATT_FLT S3C2410_IRQ(7) #define IRQ_TICK S3C2410_IRQ(8) /* 24 */ #define IRQ_WDT S3C2410_IRQ(9) /* WDT/AC97 for s3c2443 */ #define IRQ_TIMER0 S3C2410_IRQ(10) #define IRQ_TIMER1 S3C2410_IRQ(11) #define IRQ_TIMER2 S3C2410_IRQ(12) #define IRQ_TIMER3 S3C2410_IRQ(13) #define IRQ_TIMER4 S3C2410_IRQ(14) #define IRQ_UART2 S3C2410_IRQ(15) #define IRQ_LCD S3C2410_IRQ(16) /* 32 */ #define IRQ_DMA0 S3C2410_IRQ(17) /* IRQ_DMA for s3c2443 */ #define IRQ_DMA1 S3C2410_IRQ(18) #define IRQ_DMA2 S3C2410_IRQ(19) #define IRQ_DMA3 S3C2410_IRQ(20) #define IRQ_SDI S3C2410_IRQ(21) #define IRQ_SPI0 S3C2410_IRQ(22) #define IRQ_UART1 S3C2410_IRQ(23) #define IRQ_RESERVED24 S3C2410_IRQ(24) /* 40 */ #define IRQ_NFCON S3C2410_IRQ(24) /* for s3c2440 */ #define IRQ_USBD S3C2410_IRQ(25) #define IRQ_USBH S3C2410_IRQ(26) #define IRQ_IIC S3C2410_IRQ(27) #define IRQ_UART0 S3C2410_IRQ(28) /* 44 */ #define IRQ_SPI1 S3C2410_IRQ(29) #define IRQ_RTC S3C2410_IRQ(30) #define IRQ_ADCPARENT S3C2410_IRQ(31) /* interrupts generated from the external interrupts sources */ #define IRQ_EINT0_2412 S3C2410_IRQ(32) #define IRQ_EINT1_2412 S3C2410_IRQ(33) #define IRQ_EINT2_2412 S3C2410_IRQ(34) #define IRQ_EINT3_2412 S3C2410_IRQ(35) #define IRQ_EINT4 S3C2410_IRQ(36) /* 52 */ #define IRQ_EINT5 S3C2410_IRQ(37) #define IRQ_EINT6 S3C2410_IRQ(38) #define IRQ_EINT7 S3C2410_IRQ(39) #define IRQ_EINT8 S3C2410_IRQ(40) #define IRQ_EINT9 S3C2410_IRQ(41) #define IRQ_EINT10 S3C2410_IRQ(42) #define IRQ_EINT11 S3C2410_IRQ(43) #define IRQ_EINT12 S3C2410_IRQ(44) #define IRQ_EINT13 S3C2410_IRQ(45) #define IRQ_EINT14 S3C2410_IRQ(46) #define IRQ_EINT15 S3C2410_IRQ(47) #define IRQ_EINT16 S3C2410_IRQ(48) #define IRQ_EINT17 S3C2410_IRQ(49) #define IRQ_EINT18 S3C2410_IRQ(50) #define IRQ_EINT19 S3C2410_IRQ(51) #define IRQ_EINT20 S3C2410_IRQ(52) /* 68 */ #define IRQ_EINT21 S3C2410_IRQ(53) #define IRQ_EINT22 S3C2410_IRQ(54) #define IRQ_EINT23 S3C2410_IRQ(55) #define IRQ_EINT_BIT(x) ((x) - IRQ_EINT4 + 4) #define IRQ_EINT(x) (((x) >= 4) ? (IRQ_EINT4 + (x) - 4) : (IRQ_EINT0 + (x))) #define IRQ_LCD_FIFO S3C2410_IRQ(56) #define IRQ_LCD_FRAME S3C2410_IRQ(57) /* IRQs for the interal UARTs, and ADC * these need to be ordered in number of appearance in the * SUBSRC mask register */ #define S3C2410_IRQSUB(x) S3C2410_IRQ((x)+58) #define IRQ_S3CUART_RX0 S3C2410_IRQSUB(0) /* 74 */ #define IRQ_S3CUART_TX0 S3C2410_IRQSUB(1) #define IRQ_S3CUART_ERR0 S3C2410_IRQSUB(2) #define IRQ_S3CUART_RX1 S3C2410_IRQSUB(3) /* 77 */ #define IRQ_S3CUART_TX1 S3C2410_IRQSUB(4) #define IRQ_S3CUART_ERR1 S3C2410_IRQSUB(5) #define IRQ_S3CUART_RX2 S3C2410_IRQSUB(6) /* 80 */ #define IRQ_S3CUART_TX2 S3C2410_IRQSUB(7) #define IRQ_S3CUART_ERR2 S3C2410_IRQSUB(8) #define IRQ_TC S3C2410_IRQSUB(9) #define IRQ_ADC S3C2410_IRQSUB(10) /* extra irqs for s3c2412 */ #define IRQ_S3C2412_CFSDI S3C2410_IRQ(21) #define IRQ_S3C2412_SDI S3C2410_IRQSUB(13) #define IRQ_S3C2412_CF S3C2410_IRQSUB(14) #define IRQ_S3C2416_EINT8t15 S3C2410_IRQ(5) #define IRQ_S3C2416_DMA S3C2410_IRQ(17) #define IRQ_S3C2416_UART3 S3C2410_IRQ(18) #define IRQ_S3C2416_SDI1 S3C2410_IRQ(20) #define IRQ_S3C2416_SDI0 S3C2410_IRQ(21) #define IRQ_S3C2416_LCD2 S3C2410_IRQSUB(15) #define IRQ_S3C2416_LCD3 S3C2410_IRQSUB(16) #define IRQ_S3C2416_LCD4 S3C2410_IRQSUB(17) #define IRQ_S3C2416_DMA0 S3C2410_IRQSUB(18) #define IRQ_S3C2416_DMA1 S3C2410_IRQSUB(19) #define IRQ_S3C2416_DMA2 S3C2410_IRQSUB(20) #define IRQ_S3C2416_DMA3 S3C2410_IRQSUB(21) #define IRQ_S3C2416_DMA4 S3C2410_IRQSUB(22) #define IRQ_S3C2416_DMA5 S3C2410_IRQSUB(23) #define IRQ_S32416_WDT S3C2410_IRQSUB(27) #define IRQ_S32416_AC97 S3C2410_IRQSUB(28) /* second interrupt-register of s3c2416/s3c2450 */ #define S3C2416_IRQ(x) S3C2410_IRQ((x) + 58 + 29) #define IRQ_S3C2416_2D S3C2416_IRQ(0) #define IRQ_S3C2416_IIC1 S3C2416_IRQ(1) #define IRQ_S3C2416_RESERVED2 S3C2416_IRQ(2) #define IRQ_S3C2416_RESERVED3 S3C2416_IRQ(3) #define IRQ_S3C2416_PCM0 S3C2416_IRQ(4) #define IRQ_S3C2416_PCM1 S3C2416_IRQ(5) #define IRQ_S3C2416_I2S0 S3C2416_IRQ(6) #define IRQ_S3C2416_I2S1 S3C2416_IRQ(7) /* extra irqs for s3c2440 */ #define IRQ_S3C2440_CAM_C S3C2410_IRQSUB(11) /* S3C2443 too */ #define IRQ_S3C2440_CAM_P S3C2410_IRQSUB(12) /* S3C2443 too */ #define IRQ_S3C2440_WDT S3C2410_IRQSUB(13) #define IRQ_S3C2440_AC97 S3C2410_IRQSUB(14) /* irqs for s3c2443 */ #define IRQ_S3C2443_DMA S3C2410_IRQ(17) /* IRQ_DMA1 */ #define IRQ_S3C2443_UART3 S3C2410_IRQ(18) /* IRQ_DMA2 */ #define IRQ_S3C2443_CFCON S3C2410_IRQ(19) /* IRQ_DMA3 */ #define IRQ_S3C2443_HSMMC S3C2410_IRQ(20) /* IRQ_SDI */ #define IRQ_S3C2443_NAND S3C2410_IRQ(24) /* reserved */ #define IRQ_S3C2416_HSMMC0 S3C2410_IRQ(21) /* S3C2416/S3C2450 */ #define IRQ_HSMMC0 IRQ_S3C2416_HSMMC0 #define IRQ_HSMMC1 IRQ_S3C2443_HSMMC #define IRQ_S3C2443_LCD1 S3C2410_IRQSUB(14) #define IRQ_S3C2443_LCD2 S3C2410_IRQSUB(15) #define IRQ_S3C2443_LCD3 S3C2410_IRQSUB(16) #define IRQ_S3C2443_LCD4 S3C2410_IRQSUB(17) #define IRQ_S3C2443_DMA0 S3C2410_IRQSUB(18) #define IRQ_S3C2443_DMA1 S3C2410_IRQSUB(19) #define IRQ_S3C2443_DMA2 S3C2410_IRQSUB(20) #define IRQ_S3C2443_DMA3 S3C2410_IRQSUB(21) #define IRQ_S3C2443_DMA4 S3C2410_IRQSUB(22) #define IRQ_S3C2443_DMA5 S3C2410_IRQSUB(23) /* UART3 */ #define IRQ_S3C2443_RX3 S3C2410_IRQSUB(24) #define IRQ_S3C2443_TX3 S3C2410_IRQSUB(25) #define IRQ_S3C2443_ERR3 S3C2410_IRQSUB(26) #define IRQ_S3C2443_WDT S3C2410_IRQSUB(27) #define IRQ_S3C2443_AC97 S3C2410_IRQSUB(28) #if defined([31mCONFIG_CPU_S3C2416[0m) #define NR_IRQS (IRQ_S3C2416_I2S1 + 1) #else #define NR_IRQS (IRQ_S3C2443_AC97 + 1) #endif /* compatibility define. */ #define IRQ_UART3 IRQ_S3C2443_UART3 #define IRQ_S3CUART_RX3 IRQ_S3C2443_RX3 #define IRQ_S3CUART_TX3 IRQ_S3C2443_TX3 #define IRQ_S3CUART_ERR3 IRQ_S3C2443_ERR3 #define IRQ_LCD_VSYNC IRQ_S3C2443_LCD3 #define IRQ_LCD_SYSTEM IRQ_S3C2443_LCD2 #ifdef [31mCONFIG_CPU_S3C2440[0m #define IRQ_S3C244X_AC97 IRQ_S3C2440_AC97 #else #define IRQ_S3C244X_AC97 IRQ_S3C2443_AC97 #endif /* Our FIQs are routable from IRQ_EINT0 to IRQ_ADCPARENT */ #define FIQ_START IRQ_EINT0 #endif /* __ASM_ARCH_IRQ_H */