xref: /OK3568_Linux_fs/kernel/arch/arm/mach-mmp/irqs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __ASM_MACH_IRQS_H
3*4882a593Smuzhiyun #define __ASM_MACH_IRQS_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun /*
6*4882a593Smuzhiyun  * Interrupt numbers for PXA168
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun #define IRQ_PXA168_NONE			(-1)
9*4882a593Smuzhiyun #define IRQ_PXA168_SSP4			0
10*4882a593Smuzhiyun #define IRQ_PXA168_SSP3			1
11*4882a593Smuzhiyun #define IRQ_PXA168_SSP2			2
12*4882a593Smuzhiyun #define IRQ_PXA168_SSP1			3
13*4882a593Smuzhiyun #define IRQ_PXA168_PMIC_INT		4
14*4882a593Smuzhiyun #define IRQ_PXA168_RTC_INT		5
15*4882a593Smuzhiyun #define IRQ_PXA168_RTC_ALARM		6
16*4882a593Smuzhiyun #define IRQ_PXA168_TWSI0		7
17*4882a593Smuzhiyun #define IRQ_PXA168_GPU			8
18*4882a593Smuzhiyun #define IRQ_PXA168_KEYPAD		9
19*4882a593Smuzhiyun #define IRQ_PXA168_ONEWIRE		12
20*4882a593Smuzhiyun #define IRQ_PXA168_TIMER1		13
21*4882a593Smuzhiyun #define IRQ_PXA168_TIMER2		14
22*4882a593Smuzhiyun #define IRQ_PXA168_TIMER3		15
23*4882a593Smuzhiyun #define IRQ_PXA168_CMU			16
24*4882a593Smuzhiyun #define IRQ_PXA168_SSP5			17
25*4882a593Smuzhiyun #define IRQ_PXA168_MSP_WAKEUP		19
26*4882a593Smuzhiyun #define IRQ_PXA168_CF_WAKEUP		20
27*4882a593Smuzhiyun #define IRQ_PXA168_XD_WAKEUP		21
28*4882a593Smuzhiyun #define IRQ_PXA168_MFU			22
29*4882a593Smuzhiyun #define IRQ_PXA168_MSP			23
30*4882a593Smuzhiyun #define IRQ_PXA168_CF			24
31*4882a593Smuzhiyun #define IRQ_PXA168_XD			25
32*4882a593Smuzhiyun #define IRQ_PXA168_DDR_INT		26
33*4882a593Smuzhiyun #define IRQ_PXA168_UART1		27
34*4882a593Smuzhiyun #define IRQ_PXA168_UART2		28
35*4882a593Smuzhiyun #define IRQ_PXA168_UART3		29
36*4882a593Smuzhiyun #define IRQ_PXA168_WDT			35
37*4882a593Smuzhiyun #define IRQ_PXA168_MAIN_PMU		36
38*4882a593Smuzhiyun #define IRQ_PXA168_FRQ_CHANGE		38
39*4882a593Smuzhiyun #define IRQ_PXA168_SDH1			39
40*4882a593Smuzhiyun #define IRQ_PXA168_SDH2			40
41*4882a593Smuzhiyun #define IRQ_PXA168_LCD			41
42*4882a593Smuzhiyun #define IRQ_PXA168_CI			42
43*4882a593Smuzhiyun #define IRQ_PXA168_USB1			44
44*4882a593Smuzhiyun #define IRQ_PXA168_NAND			45
45*4882a593Smuzhiyun #define IRQ_PXA168_HIFI_DMA		46
46*4882a593Smuzhiyun #define IRQ_PXA168_DMA_INT0		47
47*4882a593Smuzhiyun #define IRQ_PXA168_DMA_INT1		48
48*4882a593Smuzhiyun #define IRQ_PXA168_GPIOX		49
49*4882a593Smuzhiyun #define IRQ_PXA168_USB2			51
50*4882a593Smuzhiyun #define IRQ_PXA168_AC97			57
51*4882a593Smuzhiyun #define IRQ_PXA168_TWSI1		58
52*4882a593Smuzhiyun #define IRQ_PXA168_AP_PMU		60
53*4882a593Smuzhiyun #define IRQ_PXA168_SM_INT		63
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun /*
56*4882a593Smuzhiyun  * Interrupt numbers for PXA910
57*4882a593Smuzhiyun  */
58*4882a593Smuzhiyun #define IRQ_PXA910_NONE			(-1)
59*4882a593Smuzhiyun #define IRQ_PXA910_AIRQ			0
60*4882a593Smuzhiyun #define IRQ_PXA910_SSP3			1
61*4882a593Smuzhiyun #define IRQ_PXA910_SSP2			2
62*4882a593Smuzhiyun #define IRQ_PXA910_SSP1			3
63*4882a593Smuzhiyun #define IRQ_PXA910_PMIC_INT		4
64*4882a593Smuzhiyun #define IRQ_PXA910_RTC_INT		5
65*4882a593Smuzhiyun #define IRQ_PXA910_RTC_ALARM		6
66*4882a593Smuzhiyun #define IRQ_PXA910_TWSI0		7
67*4882a593Smuzhiyun #define IRQ_PXA910_GPU			8
68*4882a593Smuzhiyun #define IRQ_PXA910_KEYPAD		9
69*4882a593Smuzhiyun #define IRQ_PXA910_ROTARY		10
70*4882a593Smuzhiyun #define IRQ_PXA910_TRACKBALL		11
71*4882a593Smuzhiyun #define IRQ_PXA910_ONEWIRE		12
72*4882a593Smuzhiyun #define IRQ_PXA910_AP1_TIMER1		13
73*4882a593Smuzhiyun #define IRQ_PXA910_AP1_TIMER2		14
74*4882a593Smuzhiyun #define IRQ_PXA910_AP1_TIMER3		15
75*4882a593Smuzhiyun #define IRQ_PXA910_IPC_AP0		16
76*4882a593Smuzhiyun #define IRQ_PXA910_IPC_AP1		17
77*4882a593Smuzhiyun #define IRQ_PXA910_IPC_AP2		18
78*4882a593Smuzhiyun #define IRQ_PXA910_IPC_AP3		19
79*4882a593Smuzhiyun #define IRQ_PXA910_IPC_AP4		20
80*4882a593Smuzhiyun #define IRQ_PXA910_IPC_CP0		21
81*4882a593Smuzhiyun #define IRQ_PXA910_IPC_CP1		22
82*4882a593Smuzhiyun #define IRQ_PXA910_IPC_CP2		23
83*4882a593Smuzhiyun #define IRQ_PXA910_IPC_CP3		24
84*4882a593Smuzhiyun #define IRQ_PXA910_IPC_CP4		25
85*4882a593Smuzhiyun #define IRQ_PXA910_L2_DDR		26
86*4882a593Smuzhiyun #define IRQ_PXA910_UART2		27
87*4882a593Smuzhiyun #define IRQ_PXA910_UART3		28
88*4882a593Smuzhiyun #define IRQ_PXA910_AP2_TIMER1		29
89*4882a593Smuzhiyun #define IRQ_PXA910_AP2_TIMER2		30
90*4882a593Smuzhiyun #define IRQ_PXA910_CP2_TIMER1		31
91*4882a593Smuzhiyun #define IRQ_PXA910_CP2_TIMER2		32
92*4882a593Smuzhiyun #define IRQ_PXA910_CP2_TIMER3		33
93*4882a593Smuzhiyun #define IRQ_PXA910_GSSP			34
94*4882a593Smuzhiyun #define IRQ_PXA910_CP2_WDT		35
95*4882a593Smuzhiyun #define IRQ_PXA910_MAIN_PMU		36
96*4882a593Smuzhiyun #define IRQ_PXA910_CP_FREQ_CHG		37
97*4882a593Smuzhiyun #define IRQ_PXA910_AP_FREQ_CHG		38
98*4882a593Smuzhiyun #define IRQ_PXA910_MMC			39
99*4882a593Smuzhiyun #define IRQ_PXA910_AEU			40
100*4882a593Smuzhiyun #define IRQ_PXA910_LCD			41
101*4882a593Smuzhiyun #define IRQ_PXA910_CCIC			42
102*4882a593Smuzhiyun #define IRQ_PXA910_IRE			43
103*4882a593Smuzhiyun #define IRQ_PXA910_USB1			44
104*4882a593Smuzhiyun #define IRQ_PXA910_NAND			45
105*4882a593Smuzhiyun #define IRQ_PXA910_HIFI_DMA		46
106*4882a593Smuzhiyun #define IRQ_PXA910_DMA_INT0		47
107*4882a593Smuzhiyun #define IRQ_PXA910_DMA_INT1		48
108*4882a593Smuzhiyun #define IRQ_PXA910_AP_GPIO		49
109*4882a593Smuzhiyun #define IRQ_PXA910_AP2_TIMER3		50
110*4882a593Smuzhiyun #define IRQ_PXA910_USB2			51
111*4882a593Smuzhiyun #define IRQ_PXA910_TWSI1		54
112*4882a593Smuzhiyun #define IRQ_PXA910_CP_GPIO		55
113*4882a593Smuzhiyun #define IRQ_PXA910_UART1		59	/* Slow UART */
114*4882a593Smuzhiyun #define IRQ_PXA910_AP_PMU		60
115*4882a593Smuzhiyun #define IRQ_PXA910_SM_INT		63	/* from PinMux */
116*4882a593Smuzhiyun 
117*4882a593Smuzhiyun /*
118*4882a593Smuzhiyun  * Interrupt numbers for MMP2
119*4882a593Smuzhiyun  */
120*4882a593Smuzhiyun #define IRQ_MMP2_NONE			(-1)
121*4882a593Smuzhiyun #define IRQ_MMP2_SSP1			0
122*4882a593Smuzhiyun #define IRQ_MMP2_SSP2			1
123*4882a593Smuzhiyun #define IRQ_MMP2_SSPA1			2
124*4882a593Smuzhiyun #define IRQ_MMP2_SSPA2			3
125*4882a593Smuzhiyun #define IRQ_MMP2_PMIC_MUX		4	/* PMIC & Charger */
126*4882a593Smuzhiyun #define IRQ_MMP2_RTC_MUX		5
127*4882a593Smuzhiyun #define IRQ_MMP2_TWSI1			7
128*4882a593Smuzhiyun #define IRQ_MMP2_GPU			8
129*4882a593Smuzhiyun #define IRQ_MMP2_KEYPAD_MUX		9
130*4882a593Smuzhiyun #define IRQ_MMP2_ROTARY			10
131*4882a593Smuzhiyun #define IRQ_MMP2_TRACKBALL		11
132*4882a593Smuzhiyun #define IRQ_MMP2_ONEWIRE		12
133*4882a593Smuzhiyun #define IRQ_MMP2_TIMER1			13
134*4882a593Smuzhiyun #define IRQ_MMP2_TIMER2			14
135*4882a593Smuzhiyun #define IRQ_MMP2_TIMER3			15
136*4882a593Smuzhiyun #define IRQ_MMP2_RIPC			16
137*4882a593Smuzhiyun #define IRQ_MMP2_TWSI_MUX		17	/* TWSI2 ~ TWSI6 */
138*4882a593Smuzhiyun #define IRQ_MMP2_HDMI			19
139*4882a593Smuzhiyun #define IRQ_MMP2_SSP3			20
140*4882a593Smuzhiyun #define IRQ_MMP2_SSP4			21
141*4882a593Smuzhiyun #define IRQ_MMP2_USB_HS1		22
142*4882a593Smuzhiyun #define IRQ_MMP2_USB_HS2		23
143*4882a593Smuzhiyun #define IRQ_MMP2_UART3			24
144*4882a593Smuzhiyun #define IRQ_MMP2_UART1			27
145*4882a593Smuzhiyun #define IRQ_MMP2_UART2			28
146*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_DSI		29
147*4882a593Smuzhiyun #define IRQ_MMP2_CI2			30
148*4882a593Smuzhiyun #define IRQ_MMP2_PMU_TIMER1		31
149*4882a593Smuzhiyun #define IRQ_MMP2_PMU_TIMER2		32
150*4882a593Smuzhiyun #define IRQ_MMP2_PMU_TIMER3		33
151*4882a593Smuzhiyun #define IRQ_MMP2_USB_FS			34
152*4882a593Smuzhiyun #define IRQ_MMP2_MISC_MUX		35
153*4882a593Smuzhiyun #define IRQ_MMP2_WDT1			36
154*4882a593Smuzhiyun #define IRQ_MMP2_NAND_DMA		37
155*4882a593Smuzhiyun #define IRQ_MMP2_USIM			38
156*4882a593Smuzhiyun #define IRQ_MMP2_MMC			39
157*4882a593Smuzhiyun #define IRQ_MMP2_WTM			40
158*4882a593Smuzhiyun #define IRQ_MMP2_LCD			41
159*4882a593Smuzhiyun #define IRQ_MMP2_CI			42
160*4882a593Smuzhiyun #define IRQ_MMP2_IRE			43
161*4882a593Smuzhiyun #define IRQ_MMP2_USB_OTG		44
162*4882a593Smuzhiyun #define IRQ_MMP2_NAND			45
163*4882a593Smuzhiyun #define IRQ_MMP2_UART4			46
164*4882a593Smuzhiyun #define IRQ_MMP2_DMA_FIQ		47
165*4882a593Smuzhiyun #define IRQ_MMP2_DMA_RIQ		48
166*4882a593Smuzhiyun #define IRQ_MMP2_GPIO			49
167*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_HSI1_MUX		51
168*4882a593Smuzhiyun #define IRQ_MMP2_MMC2			52
169*4882a593Smuzhiyun #define IRQ_MMP2_MMC3			53
170*4882a593Smuzhiyun #define IRQ_MMP2_MMC4			54
171*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_HSI0_MUX		55
172*4882a593Smuzhiyun #define IRQ_MMP2_MSP			58
173*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_SLIM_DMA		59
174*4882a593Smuzhiyun #define IRQ_MMP2_PJ4_FREQ_CHG		60
175*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_SLIM		62
176*4882a593Smuzhiyun #define IRQ_MMP2_SM			63
177*4882a593Smuzhiyun 
178*4882a593Smuzhiyun #define IRQ_MMP2_MUX_BASE		64
179*4882a593Smuzhiyun 
180*4882a593Smuzhiyun /* secondary interrupt of INT #4 */
181*4882a593Smuzhiyun #define IRQ_MMP2_PMIC_BASE		(IRQ_MMP2_MUX_BASE)
182*4882a593Smuzhiyun #define IRQ_MMP2_CHARGER		(IRQ_MMP2_PMIC_BASE + 0)
183*4882a593Smuzhiyun #define IRQ_MMP2_PMIC			(IRQ_MMP2_PMIC_BASE + 1)
184*4882a593Smuzhiyun 
185*4882a593Smuzhiyun /* secondary interrupt of INT #5 */
186*4882a593Smuzhiyun #define IRQ_MMP2_RTC_BASE		(IRQ_MMP2_PMIC_BASE + 2)
187*4882a593Smuzhiyun #define IRQ_MMP2_RTC_ALARM		(IRQ_MMP2_RTC_BASE + 0)
188*4882a593Smuzhiyun #define IRQ_MMP2_RTC			(IRQ_MMP2_RTC_BASE + 1)
189*4882a593Smuzhiyun 
190*4882a593Smuzhiyun /* secondary interrupt of INT #9 */
191*4882a593Smuzhiyun #define IRQ_MMP2_KEYPAD_BASE		(IRQ_MMP2_RTC_BASE + 2)
192*4882a593Smuzhiyun #define IRQ_MMP2_KPC			(IRQ_MMP2_KEYPAD_BASE + 0)
193*4882a593Smuzhiyun #define IRQ_MMP2_ROTORY			(IRQ_MMP2_KEYPAD_BASE + 1)
194*4882a593Smuzhiyun #define IRQ_MMP2_TBALL			(IRQ_MMP2_KEYPAD_BASE + 2)
195*4882a593Smuzhiyun 
196*4882a593Smuzhiyun /* secondary interrupt of INT #17 */
197*4882a593Smuzhiyun #define IRQ_MMP2_TWSI_BASE		(IRQ_MMP2_KEYPAD_BASE + 3)
198*4882a593Smuzhiyun #define IRQ_MMP2_TWSI2			(IRQ_MMP2_TWSI_BASE + 0)
199*4882a593Smuzhiyun #define IRQ_MMP2_TWSI3			(IRQ_MMP2_TWSI_BASE + 1)
200*4882a593Smuzhiyun #define IRQ_MMP2_TWSI4			(IRQ_MMP2_TWSI_BASE + 2)
201*4882a593Smuzhiyun #define IRQ_MMP2_TWSI5			(IRQ_MMP2_TWSI_BASE + 3)
202*4882a593Smuzhiyun #define IRQ_MMP2_TWSI6			(IRQ_MMP2_TWSI_BASE + 4)
203*4882a593Smuzhiyun 
204*4882a593Smuzhiyun /* secondary interrupt of INT #35 */
205*4882a593Smuzhiyun #define IRQ_MMP2_MISC_BASE		(IRQ_MMP2_TWSI_BASE + 5)
206*4882a593Smuzhiyun #define IRQ_MMP2_PERF			(IRQ_MMP2_MISC_BASE + 0)
207*4882a593Smuzhiyun #define IRQ_MMP2_L2_PA_ECC		(IRQ_MMP2_MISC_BASE + 1)
208*4882a593Smuzhiyun #define IRQ_MMP2_L2_ECC			(IRQ_MMP2_MISC_BASE + 2)
209*4882a593Smuzhiyun #define IRQ_MMP2_L2_UECC		(IRQ_MMP2_MISC_BASE + 3)
210*4882a593Smuzhiyun #define IRQ_MMP2_DDR			(IRQ_MMP2_MISC_BASE + 4)
211*4882a593Smuzhiyun #define IRQ_MMP2_FAB0_TIMEOUT		(IRQ_MMP2_MISC_BASE + 5)
212*4882a593Smuzhiyun #define IRQ_MMP2_FAB1_TIMEOUT		(IRQ_MMP2_MISC_BASE + 6)
213*4882a593Smuzhiyun #define IRQ_MMP2_FAB2_TIMEOUT		(IRQ_MMP2_MISC_BASE + 7)
214*4882a593Smuzhiyun #define IRQ_MMP2_THERMAL		(IRQ_MMP2_MISC_BASE + 9)
215*4882a593Smuzhiyun #define IRQ_MMP2_MAIN_PMU		(IRQ_MMP2_MISC_BASE + 10)
216*4882a593Smuzhiyun #define IRQ_MMP2_WDT2			(IRQ_MMP2_MISC_BASE + 11)
217*4882a593Smuzhiyun #define IRQ_MMP2_CORESIGHT		(IRQ_MMP2_MISC_BASE + 12)
218*4882a593Smuzhiyun #define IRQ_MMP2_COMMTX			(IRQ_MMP2_MISC_BASE + 13)
219*4882a593Smuzhiyun #define IRQ_MMP2_COMMRX			(IRQ_MMP2_MISC_BASE + 14)
220*4882a593Smuzhiyun 
221*4882a593Smuzhiyun /* secondary interrupt of INT #51 */
222*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_HSI1_BASE		(IRQ_MMP2_MISC_BASE + 15)
223*4882a593Smuzhiyun #define IRQ_MMP2_HSI1_CAWAKE		(IRQ_MMP2_MIPI_HSI1_BASE + 0)
224*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_HSI_INT1		(IRQ_MMP2_MIPI_HSI1_BASE + 1)
225*4882a593Smuzhiyun 
226*4882a593Smuzhiyun /* secondary interrupt of INT #55 */
227*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_HSI0_BASE		(IRQ_MMP2_MIPI_HSI1_BASE + 2)
228*4882a593Smuzhiyun #define IRQ_MMP2_HSI0_CAWAKE		(IRQ_MMP2_MIPI_HSI0_BASE + 0)
229*4882a593Smuzhiyun #define IRQ_MMP2_MIPI_HSI_INT0		(IRQ_MMP2_MIPI_HSI0_BASE + 1)
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun #define IRQ_MMP2_MUX_END		(IRQ_MMP2_MIPI_HSI0_BASE + 2)
232*4882a593Smuzhiyun 
233*4882a593Smuzhiyun #define IRQ_GPIO_START			128
234*4882a593Smuzhiyun #define MMP_NR_BUILTIN_GPIO		192
235*4882a593Smuzhiyun #define MMP_GPIO_TO_IRQ(gpio)		(IRQ_GPIO_START + (gpio))
236*4882a593Smuzhiyun 
237*4882a593Smuzhiyun #define IRQ_BOARD_START			(IRQ_GPIO_START + MMP_NR_BUILTIN_GPIO)
238*4882a593Smuzhiyun #define MMP_NR_IRQS			IRQ_BOARD_START
239*4882a593Smuzhiyun 
240*4882a593Smuzhiyun #endif /* __ASM_MACH_IRQS_H */
241