xref: /rk3399_rockchip-uboot/include/irq-platform.h (revision edbf2db2657c2d32af85569cab702995505b2d66)
1 /*
2  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 
7 #ifndef _ROCKCHIP_PLAT_IRQ_H_
8 #define _ROCKCHIP_PLAT_IRQ_H_
9 
10 #if defined(CONFIG_ROCKCHIP_RK3128)
11 #define GPIO0_PHYS			0x2007C000
12 #define GPIO1_PHYS			0x20080000
13 #define GPIO2_PHYS			0x20084000
14 #define GPIO3_PHYS			0x20088000
15 
16 #define GIC_IRQS_NR			(4 * 32)
17 #define GPIO_IRQS_NR			(4 * 32)
18 
19 #define GPIO_BANK_NUM			4
20 #define GPIO_BANK_PINS			32
21 
22 #define IRQ_USB_OTG			42
23 #define IRQ_TIMER1			61
24 #define IRQ_GPIO0			68
25 #define IRQ_GPIO1			69
26 #define IRQ_GPIO2			70
27 #define IRQ_GPIO3			71
28 
29 #elif defined(CONFIG_ROCKCHIP_RK322X)
30 #define GPIO0_PHYS			0x11110000
31 #define GPIO1_PHYS			0x11120000
32 #define GPIO2_PHYS			0x11130000
33 #define GPIO3_PHYS			0x11140000
34 
35 #define GIC_IRQS_NR			(4 * 32)
36 #define GPIO_IRQS_NR			(4 * 32)
37 
38 #define GPIO_BANK_NUM			4
39 #define GPIO_BANK_PINS			32
40 
41 #define IRQ_USB_OTG			55
42 #define IRQ_TIMER1			76
43 #define IRQ_PWM				82
44 #define IRQ_GPIO0			83
45 #define IRQ_GPIO1			84
46 #define IRQ_GPIO2			85
47 #define IRQ_GPIO3			86
48 
49 #elif defined(CONFIG_ROCKCHIP_RK3288)
50 #define GPIO0_PHYS			0xFF750000
51 #define GPIO1_PHYS			0xFF780000
52 #define GPIO2_PHYS			0xFF790000
53 #define GPIO3_PHYS			0xFF7A0000
54 #define GPIO4_PHYS			0xFF7B0000
55 #define GPIO5_PHYS			0xFF7C0000
56 #define GPIO6_PHYS			0xFF7D0000
57 #define GPIO7_PHYS			0xFF7E0000
58 #define GPIO8_PHYS			0xFF7F0000
59 
60 #define GIC_IRQS_NR			(5 * 32)
61 #define GPIO_IRQS_NR			(9 * 32)
62 
63 #define GPIO_BANK_NUM			9
64 #define GPIO_BANK_PINS			32
65 
66 #define IRQ_USB_OTG			55
67 #define IRQ_TIMER1			99
68 #define IRQ_PWM				110
69 #define IRQ_GPIO0			113
70 #define IRQ_GPIO1			114
71 #define IRQ_GPIO2			115
72 #define IRQ_GPIO3			116
73 #define IRQ_GPIO4			117
74 #define IRQ_GPIO5			118
75 #define IRQ_GPIO6			119
76 #define IRQ_GPIO7			120
77 #define IRQ_GPIO8			121
78 
79 #elif defined(CONFIG_ROCKCHIP_RK3328)
80 #define	GPIO0_PHYS			0xFF210000
81 #define	GPIO1_PHYS			0xFF220000
82 #define	GPIO2_PHYS			0xFF230000
83 #define	GPIO3_PHYS			0xFF240000
84 
85 #define GIC_IRQS_NR			(4 * 32)
86 #define GPIO_IRQS_NR			(4 * 32)
87 
88 #define GPIO_BANK_NUM			4
89 #define GPIO_BANK_PINS			32
90 
91 #define IRQ_TIMER1			76
92 #define IRQ_PWM				82
93 #define IRQ_GPIO0			83
94 #define IRQ_GPIO1			84
95 #define IRQ_GPIO2			85
96 #define IRQ_GPIO3			86
97 
98 #elif defined(CONFIG_ROCKCHIP_RK3368)
99 #define GPIO0_PHYS			0xFF750000
100 #define GPIO1_PHYS			0xFF780000
101 #define GPIO2_PHYS			0xFF790000
102 #define GPIO3_PHYS			0xFF7A0000
103 
104 #define GIC_IRQS_NR                     (5 * 32)
105 #define GPIO_IRQS_NR                    (4 * 32)
106 
107 #define GPIO_BANK_NUM			4
108 #define GPIO_BANK_PINS			32
109 
110 #define IRQ_TIMER0			98
111 #define IRQ_TIMER1			99
112 #define IRQ_PWM				110
113 #define IRQ_GPIO0			113
114 #define IRQ_GPIO1			114
115 #define IRQ_GPIO2			115
116 #define IRQ_GPIO3			116
117 
118 #elif defined(CONFIG_ROCKCHIP_RK3399)
119 #define GPIO0_PHYS			0xFF720000
120 #define GPIO1_PHYS			0xFF730000
121 #define GPIO2_PHYS			0xFF780000
122 #define GPIO3_PHYS			0xFF788000
123 #define GPIO4_PHYS			0xFF790000
124 
125 #define IRQ_GPIO0			46
126 #define IRQ_GPIO1			47
127 #define IRQ_GPIO2			48
128 #define IRQ_GPIO3			49
129 #define IRQ_GPIO4			50
130 #define IRQ_PWM				93
131 #define IRQ_TIMER1			114	/* non-secure */
132 
133 #define GIC_IRQS_NR			(6 * 32)
134 #define GPIO_IRQS_NR			(5 * 32)
135 
136 #define GPIO_BANK_NUM			5
137 #define GPIO_BANK_PINS			32
138 
139 #elif defined(CONFIG_ROCKCHIP_PX30)
140 #define GPIO0_PHYS			0xff040000
141 #define GPIO1_PHYS			0xff250000
142 #define GPIO2_PHYS			0xff260000
143 #define GPIO3_PHYS			0xff270000
144 
145 #define IRQ_GPIO0			35
146 #define IRQ_GPIO1			36
147 #define IRQ_GPIO2			37
148 #define IRQ_GPIO3			38
149 #define IRQ_PWM0			56
150 #define IRQ_PWM1			57
151 #define IRQ_TIMER0			62	/* non-secure */
152 #define IRQ_TIMER1			63	/* non-secure */
153 
154 #define GIC_IRQS_NR			(4 * 32)
155 #define GPIO_IRQS_NR			(4 * 32)
156 
157 #define GPIO_BANK_NUM			4
158 #define GPIO_BANK_PINS			32
159 
160 #elif defined(CONFIG_ROCKCHIP_RK3308)
161 #define GPIO0_PHYS			0xff220000
162 #define GPIO1_PHYS			0xff230000
163 #define GPIO2_PHYS			0xff240000
164 #define GPIO3_PHYS			0xff250000
165 #define GPIO4_PHYS			0xff260000
166 
167 #define IRQ_TIMER1			58	/* ch0 ns timer1 */
168 #define IRQ_GPIO0			72
169 #define IRQ_GPIO1			73
170 #define IRQ_GPIO2			74
171 #define IRQ_GPIO3			75
172 #define IRQ_GPIO4			76
173 
174 #define GIC_IRQS_NR			(5 * 32)
175 #define GPIO_IRQS_NR			(5 * 32)
176 
177 #define GPIO_BANK_NUM			5
178 #define GPIO_BANK_PINS			32
179 
180 #elif defined(CONFIG_ROCKCHIP_RK1808)
181 #define GPIO0_PHYS			0xff4c0000
182 #define GPIO1_PHYS			0xff690000
183 #define GPIO2_PHYS			0xff6a0000
184 #define GPIO3_PHYS			0xff6b0000
185 #define GPIO4_PHYS			0xff6c0000
186 
187 #define IRQ_GPIO0			35
188 #define IRQ_GPIO1			36
189 #define IRQ_GPIO2			37
190 #define IRQ_GPIO3			38
191 #define IRQ_GPIO4			114
192 
193 #define IRQ_TIMER0			58
194 #define IRQ_TIMER1			59
195 
196 #define GIC_IRQS_NR			(5 * 32)
197 #define GPIO_IRQS_NR			(5 * 32)
198 
199 #define GPIO_BANK_NUM			5
200 #define GPIO_BANK_PINS			32
201 
202 #elif defined(CONFIG_ROCKCHIP_RV1103B)
203 #define GPIO0_PHYS			0x20520000
204 #define GPIO1_PHYS			0x20d80000
205 #define GPIO2_PHYS			0x20840000
206 
207 #define GIC_IRQS_NR			159
208 #define GPIO_IRQS_NR			(3 * 32)
209 
210 #define GPIO_BANK_NUM			3
211 #define GPIO_BANK_PINS			32
212 
213 #define IRQ_USB_OTG			47
214 #define IRQ_TIMER1			65
215 
216 #define IRQ_GPIO0			IRQ_GPIO0_0
217 #define IRQ_GPIO0_0			107
218 #define IRQ_GPIO0_1			108
219 #define IRQ_GPIO0_2			109
220 #define IRQ_GPIO0_3			110
221 
222 #define IRQ_GPIO1			IRQ_GPIO1_0
223 #define IRQ_GPIO1_0			111
224 #define IRQ_GPIO1_1			112
225 #define IRQ_GPIO1_2			113
226 #define IRQ_GPIO1_3			114
227 
228 #define IRQ_GPIO2			IRQ_GPIO2_0
229 #define IRQ_GPIO2_0			115
230 #define IRQ_GPIO2_1			116
231 #define IRQ_GPIO2_2			117
232 #define IRQ_GPIO2_3			118
233 
234 #elif defined(CONFIG_ROCKCHIP_RV1106)
235 #define GPIO0_PHYS			0xff460000
236 #define GPIO1_PHYS			0xff620000
237 #define GPIO2_PHYS			0xff630000
238 #define GPIO3_PHYS			0xff640000
239 #define GPIO4_PHYS			0xff650000
240 
241 #define GIC_IRQS_NR			(5 * 32)
242 #define GPIO_IRQS_NR			(5 * 32)
243 
244 #define GPIO_BANK_NUM			5
245 #define GPIO_BANK_PINS			32
246 
247 #define IRQ_USB_OTG			117
248 #define IRQ_TIMER1			57
249 #define IRQ_GPIO0			66
250 #define IRQ_GPIO1			67
251 #define IRQ_GPIO2			68
252 #define IRQ_GPIO3			69
253 #define IRQ_GPIO4			70
254 
255 #elif defined(CONFIG_ROCKCHIP_RV1126)
256 #define GPIO0_PHYS			0xff460000
257 #define GPIO1_PHYS			0xff620000
258 #define GPIO2_PHYS			0xff630000
259 #define GPIO3_PHYS			0xff640000
260 #define GPIO4_PHYS			0xff650000
261 
262 #define GIC_IRQS_NR			(5 * 32)
263 #define GPIO_IRQS_NR			(5 * 32)
264 
265 #define GPIO_BANK_NUM			5
266 #define GPIO_BANK_PINS			32
267 
268 #define IRQ_USB_OTG			117
269 #define IRQ_TIMER1			57
270 #define IRQ_GPIO0			66
271 #define IRQ_GPIO1			67
272 #define IRQ_GPIO2			68
273 #define IRQ_GPIO3			69
274 #define IRQ_GPIO4			70
275 
276 #elif defined(CONFIG_ROCKCHIP_RK3528)
277 #define GPIO0_PHYS			0xff610000
278 #define GPIO1_PHYS			0xffaf0000
279 #define GPIO2_PHYS			0xffb00000
280 #define GPIO3_PHYS			0xffb10000
281 #define GPIO4_PHYS			0xffb20000
282 
283 #define GIC_IRQS_NR			(5 * 32)
284 #define GPIO_IRQS_NR			(5 * 32)
285 
286 #define GPIO_BANK_NUM			5
287 #define GPIO_BANK_PINS			32
288 
289 #define IRQ_TIMER0			63
290 #define IRQ_GPIO0			103
291 #define IRQ_GPIO1			105
292 #define IRQ_GPIO2			107
293 #define IRQ_GPIO3			108
294 #define IRQ_GPIO4			110
295 
296 #elif defined(CONFIG_ROCKCHIP_RK3562)
297 #define GPIO0_PHYS			0xff260000
298 #define GPIO1_PHYS			0xff620000
299 #define GPIO2_PHYS			0xff630000
300 #define GPIO3_PHYS			0xffac0000
301 #define GPIO4_PHYS			0xffad0000
302 
303 #define GIC_IRQS_NR			(5 * 32)
304 #define GPIO_IRQS_NR			(5 * 32)
305 
306 #define GPIO_BANK_NUM			5
307 #define GPIO_BANK_PINS			32
308 
309 #define IRQ_TIMER0			77
310 #define IRQ_GPIO0			32
311 #define IRQ_GPIO1			34
312 #define IRQ_GPIO2			36
313 #define IRQ_GPIO3			38
314 #define IRQ_GPIO4			40
315 
316 #elif defined(CONFIG_ROCKCHIP_RK3568)
317 #define GPIO0_PHYS			0xfdd60000
318 #define GPIO1_PHYS			0xfe740000
319 #define GPIO2_PHYS			0xfe750000
320 #define GPIO3_PHYS			0xfe760000
321 #define GPIO4_PHYS			0xfe770000
322 
323 #define GIC_IRQS_NR			(5 * 32)
324 #define GPIO_IRQS_NR			(5 * 32)
325 
326 #define GPIO_BANK_NUM			5
327 #define GPIO_BANK_PINS			32
328 
329 #define IRQ_TIMER0			141
330 #define IRQ_GPIO0			65
331 #define IRQ_GPIO1			66
332 #define IRQ_GPIO2			67
333 #define IRQ_GPIO3			68
334 #define IRQ_GPIO4			69
335 
336 #elif defined(CONFIG_ROCKCHIP_RK3576)
337 #define GPIO0_PHYS			0x27320000
338 #define GPIO1_PHYS			0x2ae10000
339 #define GPIO2_PHYS			0x2ae20000
340 #define GPIO3_PHYS			0x2ae30000
341 #define GPIO4_PHYS			0x2ae40000
342 
343 #define GIC_IRQS_NR			(420)
344 #define GPIO_IRQS_NR			(5 * 32)
345 
346 #define GPIO_BANK_NUM			5
347 #define GPIO_BANK_PINS			32
348 
349 #define IRQ_TIMER0			77
350 
351 #define IRQ_GPIO0			IRQ_GPIO0_0
352 #define IRQ_GPIO0_0			185
353 #define IRQ_GPIO0_1			186
354 #define IRQ_GPIO0_2			187
355 #define IRQ_GPIO0_3			188
356 
357 #define IRQ_GPIO1			IRQ_GPIO1_0
358 #define IRQ_GPIO1_0			189
359 #define IRQ_GPIO1_1			190
360 #define IRQ_GPIO1_2			191
361 #define IRQ_GPIO1_3			192
362 
363 #define IRQ_GPIO2			IRQ_GPIO2_0
364 #define IRQ_GPIO2_0			193
365 #define IRQ_GPIO2_1			194
366 #define IRQ_GPIO2_2			195
367 #define IRQ_GPIO2_3			196
368 
369 #define IRQ_GPIO3			IRQ_GPIO3_0
370 #define IRQ_GPIO3_0			197
371 #define IRQ_GPIO3_1			198
372 #define IRQ_GPIO3_2			199
373 #define IRQ_GPIO3_3			200
374 
375 #define IRQ_GPIO4			IRQ_GPIO4_0
376 #define IRQ_GPIO4_0			201
377 #define IRQ_GPIO4_1			202
378 #define IRQ_GPIO4_2			203
379 #define IRQ_GPIO4_3			204
380 
381 #elif defined(CONFIG_ROCKCHIP_RK3588)
382 #define GPIO0_PHYS			0xfd8a0000
383 #define GPIO1_PHYS			0xfec20000
384 #define GPIO2_PHYS			0xfec30000
385 #define GPIO3_PHYS			0xfec40000
386 #define GPIO4_PHYS			0xfec50000
387 
388 #define GIC_IRQS_NR			(455)
389 #define GPIO_IRQS_NR			(5 * 32)
390 
391 #define GPIO_BANK_NUM			5
392 #define GPIO_BANK_PINS			32
393 
394 #define IRQ_TIMER0			321
395 #define IRQ_GPIO0			309
396 #define IRQ_GPIO1			310
397 #define IRQ_GPIO2			311
398 #define IRQ_GPIO3			312
399 #define IRQ_GPIO4			313
400 #else
401 "Missing define RIQ relative things"
402 #endif
403 
404 #endif /* _ROCKCHIP_PLAT_IRQ_H_ */
405