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