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