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