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_RK3528) 277 #define GPIO0_PHYS 0xff610000 278 #define GPIO1_PHYS 0xffaf0000 279 #define GPIO2_PHYS 0xffb00000 280 #define GPIO3_PHYS 0xffb10000 281 #define GPIO4_PHYS 0xffb20000 282 283 #define GIC_IRQS_NR (5 * 32) 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 63 290 #define IRQ_GPIO0 103 291 #define IRQ_GPIO1 105 292 #define IRQ_GPIO2 107 293 #define IRQ_GPIO3 108 294 #define IRQ_GPIO4 110 295 296 #elif defined(CONFIG_ROCKCHIP_RK3562) 297 #define GPIO0_PHYS 0xff260000 298 #define GPIO1_PHYS 0xff620000 299 #define GPIO2_PHYS 0xff630000 300 #define GPIO3_PHYS 0xffac0000 301 #define GPIO4_PHYS 0xffad0000 302 303 #define GIC_IRQS_NR (5 * 32) 304 #define GPIO_IRQS_NR (5 * 32) 305 306 #define GPIO_BANK_NUM 5 307 #define GPIO_BANK_PINS 32 308 309 #define IRQ_TIMER0 77 310 #define IRQ_GPIO0 32 311 #define IRQ_GPIO1 34 312 #define IRQ_GPIO2 36 313 #define IRQ_GPIO3 38 314 #define IRQ_GPIO4 40 315 316 #elif defined(CONFIG_ROCKCHIP_RK3568) 317 #define GPIO0_PHYS 0xfdd60000 318 #define GPIO1_PHYS 0xfe740000 319 #define GPIO2_PHYS 0xfe750000 320 #define GPIO3_PHYS 0xfe760000 321 #define GPIO4_PHYS 0xfe770000 322 323 #define GIC_IRQS_NR (5 * 32) 324 #define GPIO_IRQS_NR (5 * 32) 325 326 #define GPIO_BANK_NUM 5 327 #define GPIO_BANK_PINS 32 328 329 #define IRQ_TIMER0 141 330 #define IRQ_GPIO0 65 331 #define IRQ_GPIO1 66 332 #define IRQ_GPIO2 67 333 #define IRQ_GPIO3 68 334 #define IRQ_GPIO4 69 335 336 #elif defined(CONFIG_ROCKCHIP_RK3576) 337 #define GPIO0_PHYS 0x27320000 338 #define GPIO1_PHYS 0x2ae10000 339 #define GPIO2_PHYS 0x2ae20000 340 #define GPIO3_PHYS 0x2ae30000 341 #define GPIO4_PHYS 0x2ae40000 342 343 #define GIC_IRQS_NR (420) 344 #define GPIO_IRQS_NR (5 * 32) 345 346 #define GPIO_BANK_NUM 5 347 #define GPIO_BANK_PINS 32 348 349 #define IRQ_TIMER0 77 350 351 #define IRQ_GPIO0 IRQ_GPIO0_0 352 #define IRQ_GPIO0_0 185 353 #define IRQ_GPIO0_1 186 354 #define IRQ_GPIO0_2 187 355 #define IRQ_GPIO0_3 188 356 357 #define IRQ_GPIO1 IRQ_GPIO1_0 358 #define IRQ_GPIO1_0 189 359 #define IRQ_GPIO1_1 190 360 #define IRQ_GPIO1_2 191 361 #define IRQ_GPIO1_3 192 362 363 #define IRQ_GPIO2 IRQ_GPIO2_0 364 #define IRQ_GPIO2_0 193 365 #define IRQ_GPIO2_1 194 366 #define IRQ_GPIO2_2 195 367 #define IRQ_GPIO2_3 196 368 369 #define IRQ_GPIO3 IRQ_GPIO3_0 370 #define IRQ_GPIO3_0 197 371 #define IRQ_GPIO3_1 198 372 #define IRQ_GPIO3_2 199 373 #define IRQ_GPIO3_3 200 374 375 #define IRQ_GPIO4 IRQ_GPIO4_0 376 #define IRQ_GPIO4_0 201 377 #define IRQ_GPIO4_1 202 378 #define IRQ_GPIO4_2 203 379 #define IRQ_GPIO4_3 204 380 381 #elif defined(CONFIG_ROCKCHIP_RK3588) 382 #define GPIO0_PHYS 0xfd8a0000 383 #define GPIO1_PHYS 0xfec20000 384 #define GPIO2_PHYS 0xfec30000 385 #define GPIO3_PHYS 0xfec40000 386 #define GPIO4_PHYS 0xfec50000 387 388 #define GIC_IRQS_NR (455) 389 #define GPIO_IRQS_NR (5 * 32) 390 391 #define GPIO_BANK_NUM 5 392 #define GPIO_BANK_PINS 32 393 394 #define IRQ_TIMER0 321 395 #define IRQ_GPIO0 309 396 #define IRQ_GPIO1 310 397 #define IRQ_GPIO2 311 398 #define IRQ_GPIO3 312 399 #define IRQ_GPIO4 313 400 #else 401 "Missing define RIQ relative things" 402 #endif 403 404 #endif /* _ROCKCHIP_PLAT_IRQ_H_ */ 405