1 /* 2 * arch/arm/mach-versatile/include/mach/irqs.h 3 * 4 * Copyright (C) 2003 ARM Limited 5 * Copyright (C) 2000 Deep Blue Solutions Ltd. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 */ 21 22 #include <mach/platform.h> 23 24 /* 25 * IRQ interrupts definitions are the same as the INT definitions 26 * held within platform.h 27 */ 28 #define IRQ_VIC_START 32 29 #define IRQ_WDOGINT (IRQ_VIC_START + INT_WDOGINT) 30 #define IRQ_SOFTINT (IRQ_VIC_START + INT_SOFTINT) 31 #define IRQ_COMMRx (IRQ_VIC_START + INT_COMMRx) 32 #define IRQ_COMMTx (IRQ_VIC_START + INT_COMMTx) 33 #define IRQ_TIMERINT0_1 (IRQ_VIC_START + INT_TIMERINT0_1) 34 #define IRQ_TIMERINT2_3 (IRQ_VIC_START + INT_TIMERINT2_3) 35 #define IRQ_GPIOINT0 (IRQ_VIC_START + INT_GPIOINT0) 36 #define IRQ_GPIOINT1 (IRQ_VIC_START + INT_GPIOINT1) 37 #define IRQ_GPIOINT2 (IRQ_VIC_START + INT_GPIOINT2) 38 #define IRQ_GPIOINT3 (IRQ_VIC_START + INT_GPIOINT3) 39 #define IRQ_RTCINT (IRQ_VIC_START + INT_RTCINT) 40 #define IRQ_SSPINT (IRQ_VIC_START + INT_SSPINT) 41 #define IRQ_UARTINT0 (IRQ_VIC_START + INT_UARTINT0) 42 #define IRQ_UARTINT1 (IRQ_VIC_START + INT_UARTINT1) 43 #define IRQ_UARTINT2 (IRQ_VIC_START + INT_UARTINT2) 44 #define IRQ_SCIINT (IRQ_VIC_START + INT_SCIINT) 45 #define IRQ_CLCDINT (IRQ_VIC_START + INT_CLCDINT) 46 #define IRQ_DMAINT (IRQ_VIC_START + INT_DMAINT) 47 #define IRQ_PWRFAILINT (IRQ_VIC_START + INT_PWRFAILINT) 48 #define IRQ_MBXINT (IRQ_VIC_START + INT_MBXINT) 49 #define IRQ_GNDINT (IRQ_VIC_START + INT_GNDINT) 50 #define IRQ_VICSOURCE21 (IRQ_VIC_START + INT_VICSOURCE21) 51 #define IRQ_VICSOURCE22 (IRQ_VIC_START + INT_VICSOURCE22) 52 #define IRQ_VICSOURCE23 (IRQ_VIC_START + INT_VICSOURCE23) 53 #define IRQ_VICSOURCE24 (IRQ_VIC_START + INT_VICSOURCE24) 54 #define IRQ_VICSOURCE25 (IRQ_VIC_START + INT_VICSOURCE25) 55 #define IRQ_VICSOURCE26 (IRQ_VIC_START + INT_VICSOURCE26) 56 #define IRQ_VICSOURCE27 (IRQ_VIC_START + INT_VICSOURCE27) 57 #define IRQ_VICSOURCE28 (IRQ_VIC_START + INT_VICSOURCE28) 58 #define IRQ_VICSOURCE29 (IRQ_VIC_START + INT_VICSOURCE29) 59 #define IRQ_VICSOURCE30 (IRQ_VIC_START + INT_VICSOURCE30) 60 #define IRQ_VICSOURCE31 (IRQ_VIC_START + INT_VICSOURCE31) 61 #define IRQ_VIC_END (IRQ_VIC_START + 31) 62 63 /* 64 * FIQ interrupts definitions are the same as the INT definitions. 65 */ 66 #define FIQ_WDOGINT INT_WDOGINT 67 #define FIQ_SOFTINT INT_SOFTINT 68 #define FIQ_COMMRx INT_COMMRx 69 #define FIQ_COMMTx INT_COMMTx 70 #define FIQ_TIMERINT0_1 INT_TIMERINT0_1 71 #define FIQ_TIMERINT2_3 INT_TIMERINT2_3 72 #define FIQ_GPIOINT0 INT_GPIOINT0 73 #define FIQ_GPIOINT1 INT_GPIOINT1 74 #define FIQ_GPIOINT2 INT_GPIOINT2 75 #define FIQ_GPIOINT3 INT_GPIOINT3 76 #define FIQ_RTCINT INT_RTCINT 77 #define FIQ_SSPINT INT_SSPINT 78 #define FIQ_UARTINT0 INT_UARTINT0 79 #define FIQ_UARTINT1 INT_UARTINT1 80 #define FIQ_UARTINT2 INT_UARTINT2 81 #define FIQ_SCIINT INT_SCIINT 82 #define FIQ_CLCDINT INT_CLCDINT 83 #define FIQ_DMAINT INT_DMAINT 84 #define FIQ_PWRFAILINT INT_PWRFAILINT 85 #define FIQ_MBXINT INT_MBXINT 86 #define FIQ_GNDINT INT_GNDINT 87 #define FIQ_VICSOURCE21 INT_VICSOURCE21 88 #define FIQ_VICSOURCE22 INT_VICSOURCE22 89 #define FIQ_VICSOURCE23 INT_VICSOURCE23 90 #define FIQ_VICSOURCE24 INT_VICSOURCE24 91 #define FIQ_VICSOURCE25 INT_VICSOURCE25 92 #define FIQ_VICSOURCE26 INT_VICSOURCE26 93 #define FIQ_VICSOURCE27 INT_VICSOURCE27 94 #define FIQ_VICSOURCE28 INT_VICSOURCE28 95 #define FIQ_VICSOURCE29 INT_VICSOURCE29 96 #define FIQ_VICSOURCE30 INT_VICSOURCE30 97 #define FIQ_VICSOURCE31 INT_VICSOURCE31 98 99 100 /* 101 * Secondary interrupt controller 102 */ 103 #define IRQ_SIC_START 64 104 #define IRQ_SIC_MMCI0B (IRQ_SIC_START + SIC_INT_MMCI0B) 105 #define IRQ_SIC_MMCI1B (IRQ_SIC_START + SIC_INT_MMCI1B) 106 #define IRQ_SIC_KMI0 (IRQ_SIC_START + SIC_INT_KMI0) 107 #define IRQ_SIC_KMI1 (IRQ_SIC_START + SIC_INT_KMI1) 108 #define IRQ_SIC_SCI3 (IRQ_SIC_START + SIC_INT_SCI3) 109 #define IRQ_SIC_UART3 (IRQ_SIC_START + SIC_INT_UART3) 110 #define IRQ_SIC_CLCD (IRQ_SIC_START + SIC_INT_CLCD) 111 #define IRQ_SIC_TOUCH (IRQ_SIC_START + SIC_INT_TOUCH) 112 #define IRQ_SIC_KEYPAD (IRQ_SIC_START + SIC_INT_KEYPAD) 113 #define IRQ_SIC_DoC (IRQ_SIC_START + SIC_INT_DoC) 114 #define IRQ_SIC_MMCI0A (IRQ_SIC_START + SIC_INT_MMCI0A) 115 #define IRQ_SIC_MMCI1A (IRQ_SIC_START + SIC_INT_MMCI1A) 116 #define IRQ_SIC_AACI (IRQ_SIC_START + SIC_INT_AACI) 117 #define IRQ_SIC_ETH (IRQ_SIC_START + SIC_INT_ETH) 118 #define IRQ_SIC_USB (IRQ_SIC_START + SIC_INT_USB) 119 #define IRQ_SIC_PCI0 (IRQ_SIC_START + SIC_INT_PCI0) 120 #define IRQ_SIC_PCI1 (IRQ_SIC_START + SIC_INT_PCI1) 121 #define IRQ_SIC_PCI2 (IRQ_SIC_START + SIC_INT_PCI2) 122 #define IRQ_SIC_PCI3 (IRQ_SIC_START + SIC_INT_PCI3) 123 #define IRQ_SIC_END 95 124 125 #define IRQ_GPIO0_START (IRQ_SIC_END + 1) 126 #define IRQ_GPIO0_END (IRQ_GPIO0_START + 31) 127 #define IRQ_GPIO1_START (IRQ_GPIO0_END + 1) 128 #define IRQ_GPIO1_END (IRQ_GPIO1_START + 31) 129 #define IRQ_GPIO2_START (IRQ_GPIO1_END + 1) 130 #define IRQ_GPIO2_END (IRQ_GPIO2_START + 31) 131 #define IRQ_GPIO3_START (IRQ_GPIO2_END + 1) 132 #define IRQ_GPIO3_END (IRQ_GPIO3_START + 31) 133 134 #define NR_IRQS (IRQ_GPIO3_END + 1) 135