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