xref: /rk3399_rockchip-uboot/include/irq-platform.h (revision 2f96fde52db8dd705f6c1efc8530684405024993)
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_RV1126B)
277 #define GPIO0_PHYS			0x20600000
278 #define GPIO1_PHYS			0x21300000
279 #define GPIO2_PHYS			0x21700000
280 #define GPIO3_PHYS			0x21e00000
281 #define GPIO4_PHYS			0x21800000
282 #define GPIO5_PHYS			0x21900000
283 #define GPIO6_PHYS			0x21a00000
284 #define GPIO7_PHYS			0x21b00000
285 
286 #define GIC_IRQS_NR			287
287 #define GPIO_IRQS_NR			(8 * 32)
288 
289 #define GPIO_BANK_NUM			8
290 #define GPIO_BANK_PINS			32
291 
292 #define IRQ_TIMER0			99
293 #define IRQ_TIMER1			100
294 #define IRQ_TIMER2			101
295 #define IRQ_TIMER3			102
296 #define IRQ_TIMER4			103
297 #define IRQ_TIMER5			104
298 
299 #define IRQ_GPIO0			IRQ_GPIO0_0
300 #define IRQ_GPIO0_0			32
301 #define IRQ_GPIO0_1			33
302 #define IRQ_GPIO0_2			34
303 #define IRQ_GPIO0_3			35
304 
305 #define IRQ_GPIO1			IRQ_GPIO1_0
306 #define IRQ_GPIO1_0			36
307 #define IRQ_GPIO1_1			37
308 #define IRQ_GPIO1_2			38
309 #define IRQ_GPIO1_3			39
310 
311 #define IRQ_GPIO2			IRQ_GPIO2_0
312 #define IRQ_GPIO2_0			40
313 #define IRQ_GPIO2_1			41
314 #define IRQ_GPIO2_2			42
315 #define IRQ_GPIO2_3			43
316 
317 #define IRQ_GPIO3			IRQ_GPIO3_0
318 #define IRQ_GPIO3_0			44
319 #define IRQ_GPIO3_1			45
320 #define IRQ_GPIO3_2			46
321 #define IRQ_GPIO3_3			47
322 
323 #define IRQ_GPIO4			IRQ_GPIO4_0
324 #define IRQ_GPIO4_0			48
325 #define IRQ_GPIO4_1			49
326 #define IRQ_GPIO4_2			50
327 #define IRQ_GPIO4_3			51
328 
329 #define IRQ_GPIO5			IRQ_GPIO5_0
330 #define IRQ_GPIO5_0			52
331 #define IRQ_GPIO5_1			53
332 #define IRQ_GPIO5_2			54
333 #define IRQ_GPIO5_3			55
334 
335 #define IRQ_GPIO6			IRQ_GPIO6_0
336 #define IRQ_GPIO6_0			56
337 #define IRQ_GPIO6_1			57
338 #define IRQ_GPIO6_2			58
339 #define IRQ_GPIO6_3			59
340 
341 #define IRQ_GPIO7			IRQ_GPIO7_0
342 #define IRQ_GPIO7_0			60
343 #define IRQ_GPIO7_1			61
344 #define IRQ_GPIO7_2			62
345 #define IRQ_GPIO7_3			63
346 
347 #elif defined(CONFIG_ROCKCHIP_RK3506)
348 #define GPIO0_PHYS			0xff940000
349 #define GPIO1_PHYS			0xff870000
350 #define GPIO2_PHYS			0xff1c0000
351 #define GPIO3_PHYS			0xff1d0000
352 #define GPIO4_PHYS			0xff1e0000
353 
354 #define GIC_IRQS_NR			185
355 #define GPIO_IRQS_NR			(5 * 32)
356 
357 #define GPIO_BANK_NUM			5
358 #define GPIO_BANK_PINS			32
359 
360 #define IRQ_TIMER0			IRQ_TIMER0_0
361 #define IRQ_TIMER0_0			126
362 #define IRQ_TIMER0_1			127
363 #define IRQ_TIMER0_2			128
364 #define IRQ_TIMER0_3			129
365 #define IRQ_TIMER0_4			130
366 #define IRQ_TIMER0_5			131
367 
368 #define IRQ_GPIO0			IRQ_GPIO0_0
369 #define IRQ_GPIO0_0			32
370 #define IRQ_GPIO0_1			33
371 #define IRQ_GPIO0_2			34
372 #define IRQ_GPIO0_3			35
373 
374 #define IRQ_GPIO1			IRQ_GPIO1_0
375 #define IRQ_GPIO1_0			36
376 #define IRQ_GPIO1_1			37
377 #define IRQ_GPIO1_2			38
378 #define IRQ_GPIO1_3			39
379 
380 #define IRQ_GPIO2			IRQ_GPIO2_0
381 #define IRQ_GPIO2_0			40
382 #define IRQ_GPIO2_1			41
383 #define IRQ_GPIO2_2			42
384 #define IRQ_GPIO2_3			43
385 
386 #define IRQ_GPIO3			IRQ_GPIO3_0
387 #define IRQ_GPIO3_0			44
388 #define IRQ_GPIO3_1			45
389 #define IRQ_GPIO3_2			46
390 #define IRQ_GPIO3_3			47
391 
392 #define IRQ_GPIO4			IRQ_GPIO4_0
393 #define IRQ_GPIO4_0			48
394 #define IRQ_GPIO4_1			49
395 #define IRQ_GPIO4_2			50
396 #define IRQ_GPIO4_3			51
397 
398 #elif defined(CONFIG_ROCKCHIP_RK3528)
399 #define GPIO0_PHYS			0xff610000
400 #define GPIO1_PHYS			0xffaf0000
401 #define GPIO2_PHYS			0xffb00000
402 #define GPIO3_PHYS			0xffb10000
403 #define GPIO4_PHYS			0xffb20000
404 
405 #define GIC_IRQS_NR			(5 * 32)
406 #define GPIO_IRQS_NR			(5 * 32)
407 
408 #define GPIO_BANK_NUM			5
409 #define GPIO_BANK_PINS			32
410 
411 #define IRQ_TIMER0			63
412 #define IRQ_GPIO0			103
413 #define IRQ_GPIO1			105
414 #define IRQ_GPIO2			107
415 #define IRQ_GPIO3			108
416 #define IRQ_GPIO4			110
417 
418 #elif defined(CONFIG_ROCKCHIP_RK3562)
419 #define GPIO0_PHYS			0xff260000
420 #define GPIO1_PHYS			0xff620000
421 #define GPIO2_PHYS			0xff630000
422 #define GPIO3_PHYS			0xffac0000
423 #define GPIO4_PHYS			0xffad0000
424 
425 #define GIC_IRQS_NR			(5 * 32)
426 #define GPIO_IRQS_NR			(5 * 32)
427 
428 #define GPIO_BANK_NUM			5
429 #define GPIO_BANK_PINS			32
430 
431 #define IRQ_TIMER0			77
432 #define IRQ_GPIO0			32
433 #define IRQ_GPIO1			34
434 #define IRQ_GPIO2			36
435 #define IRQ_GPIO3			38
436 #define IRQ_GPIO4			40
437 
438 #elif defined(CONFIG_ROCKCHIP_RK3568)
439 #define GPIO0_PHYS			0xfdd60000
440 #define GPIO1_PHYS			0xfe740000
441 #define GPIO2_PHYS			0xfe750000
442 #define GPIO3_PHYS			0xfe760000
443 #define GPIO4_PHYS			0xfe770000
444 
445 #define GIC_IRQS_NR			(5 * 32)
446 #define GPIO_IRQS_NR			(5 * 32)
447 
448 #define GPIO_BANK_NUM			5
449 #define GPIO_BANK_PINS			32
450 
451 #define IRQ_TIMER0			141
452 #define IRQ_GPIO0			65
453 #define IRQ_GPIO1			66
454 #define IRQ_GPIO2			67
455 #define IRQ_GPIO3			68
456 #define IRQ_GPIO4			69
457 
458 #elif defined(CONFIG_ROCKCHIP_RK3576)
459 #define GPIO0_PHYS			0x27320000
460 #define GPIO1_PHYS			0x2ae10000
461 #define GPIO2_PHYS			0x2ae20000
462 #define GPIO3_PHYS			0x2ae30000
463 #define GPIO4_PHYS			0x2ae40000
464 
465 #define GIC_IRQS_NR			(420)
466 #define GPIO_IRQS_NR			(5 * 32)
467 
468 #define GPIO_BANK_NUM			5
469 #define GPIO_BANK_PINS			32
470 
471 #define IRQ_TIMER0			77
472 
473 #define IRQ_GPIO0			IRQ_GPIO0_0
474 #define IRQ_GPIO0_0			185
475 #define IRQ_GPIO0_1			186
476 #define IRQ_GPIO0_2			187
477 #define IRQ_GPIO0_3			188
478 
479 #define IRQ_GPIO1			IRQ_GPIO1_0
480 #define IRQ_GPIO1_0			189
481 #define IRQ_GPIO1_1			190
482 #define IRQ_GPIO1_2			191
483 #define IRQ_GPIO1_3			192
484 
485 #define IRQ_GPIO2			IRQ_GPIO2_0
486 #define IRQ_GPIO2_0			193
487 #define IRQ_GPIO2_1			194
488 #define IRQ_GPIO2_2			195
489 #define IRQ_GPIO2_3			196
490 
491 #define IRQ_GPIO3			IRQ_GPIO3_0
492 #define IRQ_GPIO3_0			197
493 #define IRQ_GPIO3_1			198
494 #define IRQ_GPIO3_2			199
495 #define IRQ_GPIO3_3			200
496 
497 #define IRQ_GPIO4			IRQ_GPIO4_0
498 #define IRQ_GPIO4_0			201
499 #define IRQ_GPIO4_1			202
500 #define IRQ_GPIO4_2			203
501 #define IRQ_GPIO4_3			204
502 
503 #elif defined(CONFIG_ROCKCHIP_RK3588)
504 #define GPIO0_PHYS			0xfd8a0000
505 #define GPIO1_PHYS			0xfec20000
506 #define GPIO2_PHYS			0xfec30000
507 #define GPIO3_PHYS			0xfec40000
508 #define GPIO4_PHYS			0xfec50000
509 
510 #define GIC_IRQS_NR			(455)
511 #define GPIO_IRQS_NR			(5 * 32)
512 
513 #define GPIO_BANK_NUM			5
514 #define GPIO_BANK_PINS			32
515 
516 #define IRQ_TIMER0			321
517 #define IRQ_GPIO0			309
518 #define IRQ_GPIO1			310
519 #define IRQ_GPIO2			311
520 #define IRQ_GPIO3			312
521 #define IRQ_GPIO4			313
522 #else
523 "Missing define RIQ relative things"
524 #endif
525 
526 #endif /* _ROCKCHIP_PLAT_IRQ_H_ */
527