• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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