xref: /rk3399_rockchip-uboot/include/irq-platform.h (revision 10adce6ab7d0e77e93532d48d086965391446d25)
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_RK3506)
277 #define GPIO0_PHYS			0xff940000
278 #define GPIO1_PHYS			0xff870000
279 #define GPIO2_PHYS			0xff1c0000
280 #define GPIO3_PHYS			0xff1d0000
281 #define GPIO4_PHYS			0xff1e0000
282 
283 #define GIC_IRQS_NR			185
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			IRQ_TIMER0_0
290 #define IRQ_TIMER0_0			126
291 #define IRQ_TIMER0_1			127
292 #define IRQ_TIMER0_2			128
293 #define IRQ_TIMER0_3			129
294 #define IRQ_TIMER0_4			130
295 #define IRQ_TIMER0_5			131
296 
297 #define IRQ_GPIO0			IRQ_GPIO0_0
298 #define IRQ_GPIO0_0			32
299 #define IRQ_GPIO0_1			33
300 #define IRQ_GPIO0_2			34
301 #define IRQ_GPIO0_3			35
302 
303 #define IRQ_GPIO1			IRQ_GPIO1_0
304 #define IRQ_GPIO1_0			36
305 #define IRQ_GPIO1_1			37
306 #define IRQ_GPIO1_2			38
307 #define IRQ_GPIO1_3			39
308 
309 #define IRQ_GPIO2			IRQ_GPIO2_0
310 #define IRQ_GPIO2_0			40
311 #define IRQ_GPIO2_1			41
312 #define IRQ_GPIO2_2			42
313 #define IRQ_GPIO2_3			43
314 
315 #define IRQ_GPIO3			IRQ_GPIO3_0
316 #define IRQ_GPIO3_0			44
317 #define IRQ_GPIO3_1			45
318 #define IRQ_GPIO3_2			46
319 #define IRQ_GPIO3_3			47
320 
321 #define IRQ_GPIO4			IRQ_GPIO4_0
322 #define IRQ_GPIO4_0			48
323 #define IRQ_GPIO4_1			49
324 #define IRQ_GPIO4_2			50
325 #define IRQ_GPIO4_3			51
326 
327 #elif defined(CONFIG_ROCKCHIP_RK3528)
328 #define GPIO0_PHYS			0xff610000
329 #define GPIO1_PHYS			0xffaf0000
330 #define GPIO2_PHYS			0xffb00000
331 #define GPIO3_PHYS			0xffb10000
332 #define GPIO4_PHYS			0xffb20000
333 
334 #define GIC_IRQS_NR			(5 * 32)
335 #define GPIO_IRQS_NR			(5 * 32)
336 
337 #define GPIO_BANK_NUM			5
338 #define GPIO_BANK_PINS			32
339 
340 #define IRQ_TIMER0			63
341 #define IRQ_GPIO0			103
342 #define IRQ_GPIO1			105
343 #define IRQ_GPIO2			107
344 #define IRQ_GPIO3			108
345 #define IRQ_GPIO4			110
346 
347 #elif defined(CONFIG_ROCKCHIP_RK3562)
348 #define GPIO0_PHYS			0xff260000
349 #define GPIO1_PHYS			0xff620000
350 #define GPIO2_PHYS			0xff630000
351 #define GPIO3_PHYS			0xffac0000
352 #define GPIO4_PHYS			0xffad0000
353 
354 #define GIC_IRQS_NR			(5 * 32)
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			77
361 #define IRQ_GPIO0			32
362 #define IRQ_GPIO1			34
363 #define IRQ_GPIO2			36
364 #define IRQ_GPIO3			38
365 #define IRQ_GPIO4			40
366 
367 #elif defined(CONFIG_ROCKCHIP_RK3568)
368 #define GPIO0_PHYS			0xfdd60000
369 #define GPIO1_PHYS			0xfe740000
370 #define GPIO2_PHYS			0xfe750000
371 #define GPIO3_PHYS			0xfe760000
372 #define GPIO4_PHYS			0xfe770000
373 
374 #define GIC_IRQS_NR			(5 * 32)
375 #define GPIO_IRQS_NR			(5 * 32)
376 
377 #define GPIO_BANK_NUM			5
378 #define GPIO_BANK_PINS			32
379 
380 #define IRQ_TIMER0			141
381 #define IRQ_GPIO0			65
382 #define IRQ_GPIO1			66
383 #define IRQ_GPIO2			67
384 #define IRQ_GPIO3			68
385 #define IRQ_GPIO4			69
386 
387 #elif defined(CONFIG_ROCKCHIP_RK3576)
388 #define GPIO0_PHYS			0x27320000
389 #define GPIO1_PHYS			0x2ae10000
390 #define GPIO2_PHYS			0x2ae20000
391 #define GPIO3_PHYS			0x2ae30000
392 #define GPIO4_PHYS			0x2ae40000
393 
394 #define GIC_IRQS_NR			(420)
395 #define GPIO_IRQS_NR			(5 * 32)
396 
397 #define GPIO_BANK_NUM			5
398 #define GPIO_BANK_PINS			32
399 
400 #define IRQ_TIMER0			77
401 
402 #define IRQ_GPIO0			IRQ_GPIO0_0
403 #define IRQ_GPIO0_0			185
404 #define IRQ_GPIO0_1			186
405 #define IRQ_GPIO0_2			187
406 #define IRQ_GPIO0_3			188
407 
408 #define IRQ_GPIO1			IRQ_GPIO1_0
409 #define IRQ_GPIO1_0			189
410 #define IRQ_GPIO1_1			190
411 #define IRQ_GPIO1_2			191
412 #define IRQ_GPIO1_3			192
413 
414 #define IRQ_GPIO2			IRQ_GPIO2_0
415 #define IRQ_GPIO2_0			193
416 #define IRQ_GPIO2_1			194
417 #define IRQ_GPIO2_2			195
418 #define IRQ_GPIO2_3			196
419 
420 #define IRQ_GPIO3			IRQ_GPIO3_0
421 #define IRQ_GPIO3_0			197
422 #define IRQ_GPIO3_1			198
423 #define IRQ_GPIO3_2			199
424 #define IRQ_GPIO3_3			200
425 
426 #define IRQ_GPIO4			IRQ_GPIO4_0
427 #define IRQ_GPIO4_0			201
428 #define IRQ_GPIO4_1			202
429 #define IRQ_GPIO4_2			203
430 #define IRQ_GPIO4_3			204
431 
432 #elif defined(CONFIG_ROCKCHIP_RK3588)
433 #define GPIO0_PHYS			0xfd8a0000
434 #define GPIO1_PHYS			0xfec20000
435 #define GPIO2_PHYS			0xfec30000
436 #define GPIO3_PHYS			0xfec40000
437 #define GPIO4_PHYS			0xfec50000
438 
439 #define GIC_IRQS_NR			(455)
440 #define GPIO_IRQS_NR			(5 * 32)
441 
442 #define GPIO_BANK_NUM			5
443 #define GPIO_BANK_PINS			32
444 
445 #define IRQ_TIMER0			321
446 #define IRQ_GPIO0			309
447 #define IRQ_GPIO1			310
448 #define IRQ_GPIO2			311
449 #define IRQ_GPIO3			312
450 #define IRQ_GPIO4			313
451 #else
452 "Missing define RIQ relative things"
453 #endif
454 
455 #endif /* _ROCKCHIP_PLAT_IRQ_H_ */
456