14e6670feSJoseph Chen /* 24e6670feSJoseph Chen * (C) Copyright 2017 Rockchip Electronics Co., Ltd 34e6670feSJoseph Chen * 44e6670feSJoseph Chen * SPDX-License-Identifier: GPL-2.0+ 54e6670feSJoseph Chen */ 64e6670feSJoseph Chen 74e6670feSJoseph Chen #ifndef _ROCKCHIP_PLAT_IRQ_H_ 84e6670feSJoseph Chen #define _ROCKCHIP_PLAT_IRQ_H_ 94e6670feSJoseph Chen 10778da45fSJoseph Chen #if defined(CONFIG_ROCKCHIP_RK3128) 11778da45fSJoseph Chen #define GPIO0_PHYS 0x2007C000 12778da45fSJoseph Chen #define GPIO1_PHYS 0x20080000 13778da45fSJoseph Chen #define GPIO2_PHYS 0x20084000 14778da45fSJoseph Chen #define GPIO3_PHYS 0x20088000 15778da45fSJoseph Chen 16778da45fSJoseph Chen #define GIC_IRQS_NR (4 * 32) 17778da45fSJoseph Chen #define GPIO_IRQS_NR (4 * 32) 18778da45fSJoseph Chen 19778da45fSJoseph Chen #define GPIO_BANK_NUM 4 20778da45fSJoseph Chen #define GPIO_BANK_PINS 32 21778da45fSJoseph Chen 22b073251dSJoseph Chen #define IRQ_USB_OTG 42 236d0f6303SJoseph Chen #define IRQ_TIMER1 61 24778da45fSJoseph Chen #define IRQ_GPIO0 68 25778da45fSJoseph Chen #define IRQ_GPIO1 69 26a1b32c24SJoseph Chen #define IRQ_GPIO2 70 27778da45fSJoseph Chen #define IRQ_GPIO3 71 28778da45fSJoseph Chen 29778da45fSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK322X) 304e6670feSJoseph Chen #define GPIO0_PHYS 0x11110000 314e6670feSJoseph Chen #define GPIO1_PHYS 0x11120000 324e6670feSJoseph Chen #define GPIO2_PHYS 0x11130000 334e6670feSJoseph Chen #define GPIO3_PHYS 0x11140000 344e6670feSJoseph Chen 354e6670feSJoseph Chen #define GIC_IRQS_NR (4 * 32) 364e6670feSJoseph Chen #define GPIO_IRQS_NR (4 * 32) 374e6670feSJoseph Chen 384e6670feSJoseph Chen #define GPIO_BANK_NUM 4 394e6670feSJoseph Chen #define GPIO_BANK_PINS 32 404e6670feSJoseph Chen 41b073251dSJoseph Chen #define IRQ_USB_OTG 55 426d0f6303SJoseph Chen #define IRQ_TIMER1 76 43b0deaf68SZhangbin Tong #define IRQ_PWM 82 444e6670feSJoseph Chen #define IRQ_GPIO0 83 454e6670feSJoseph Chen #define IRQ_GPIO1 84 464e6670feSJoseph Chen #define IRQ_GPIO2 85 474e6670feSJoseph Chen #define IRQ_GPIO3 86 484e6670feSJoseph Chen 494e6670feSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3288) 504e6670feSJoseph Chen #define GPIO0_PHYS 0xFF750000 514e6670feSJoseph Chen #define GPIO1_PHYS 0xFF780000 524e6670feSJoseph Chen #define GPIO2_PHYS 0xFF790000 534e6670feSJoseph Chen #define GPIO3_PHYS 0xFF7A0000 544e6670feSJoseph Chen #define GPIO4_PHYS 0xFF7B0000 554e6670feSJoseph Chen #define GPIO5_PHYS 0xFF7C0000 564e6670feSJoseph Chen #define GPIO6_PHYS 0xFF7D0000 574e6670feSJoseph Chen #define GPIO7_PHYS 0xFF7E0000 584e6670feSJoseph Chen #define GPIO8_PHYS 0xFF7F0000 594e6670feSJoseph Chen 604e6670feSJoseph Chen #define GIC_IRQS_NR (5 * 32) 614e6670feSJoseph Chen #define GPIO_IRQS_NR (9 * 32) 624e6670feSJoseph Chen 634e6670feSJoseph Chen #define GPIO_BANK_NUM 9 644e6670feSJoseph Chen #define GPIO_BANK_PINS 32 654e6670feSJoseph Chen 66b073251dSJoseph Chen #define IRQ_USB_OTG 55 676d0f6303SJoseph Chen #define IRQ_TIMER1 99 68b0deaf68SZhangbin Tong #define IRQ_PWM 110 694e6670feSJoseph Chen #define IRQ_GPIO0 113 704e6670feSJoseph Chen #define IRQ_GPIO1 114 714e6670feSJoseph Chen #define IRQ_GPIO2 115 724e6670feSJoseph Chen #define IRQ_GPIO3 116 734e6670feSJoseph Chen #define IRQ_GPIO4 117 744e6670feSJoseph Chen #define IRQ_GPIO5 118 754e6670feSJoseph Chen #define IRQ_GPIO6 119 764e6670feSJoseph Chen #define IRQ_GPIO7 120 774e6670feSJoseph Chen #define IRQ_GPIO8 121 784e6670feSJoseph Chen 794e6670feSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3328) 804e6670feSJoseph Chen #define GPIO0_PHYS 0xFF210000 814e6670feSJoseph Chen #define GPIO1_PHYS 0xFF220000 824e6670feSJoseph Chen #define GPIO2_PHYS 0xFF230000 834e6670feSJoseph Chen #define GPIO3_PHYS 0xFF240000 844e6670feSJoseph Chen 854e6670feSJoseph Chen #define GIC_IRQS_NR (4 * 32) 864e6670feSJoseph Chen #define GPIO_IRQS_NR (4 * 32) 874e6670feSJoseph Chen 884e6670feSJoseph Chen #define GPIO_BANK_NUM 4 894e6670feSJoseph Chen #define GPIO_BANK_PINS 32 904e6670feSJoseph Chen 916d0f6303SJoseph Chen #define IRQ_TIMER1 76 92b0deaf68SZhangbin Tong #define IRQ_PWM 82 934e6670feSJoseph Chen #define IRQ_GPIO0 83 944e6670feSJoseph Chen #define IRQ_GPIO1 84 954e6670feSJoseph Chen #define IRQ_GPIO2 85 964e6670feSJoseph Chen #define IRQ_GPIO3 86 974e6670feSJoseph Chen 984e6670feSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3368) 994e6670feSJoseph Chen #define GPIO0_PHYS 0xFF750000 1004e6670feSJoseph Chen #define GPIO1_PHYS 0xFF780000 1014e6670feSJoseph Chen #define GPIO2_PHYS 0xFF790000 1024e6670feSJoseph Chen #define GPIO3_PHYS 0xFF7A0000 1034e6670feSJoseph Chen 1044e6670feSJoseph Chen #define GIC_IRQS_NR (5 * 32) 1054e6670feSJoseph Chen #define GPIO_IRQS_NR (4 * 32) 1064e6670feSJoseph Chen 1074e6670feSJoseph Chen #define GPIO_BANK_NUM 4 1084e6670feSJoseph Chen #define GPIO_BANK_PINS 32 1094e6670feSJoseph Chen 1101380460aSXiaoDong Huang #define IRQ_TIMER0 98 1111380460aSXiaoDong Huang #define IRQ_TIMER1 99 112b0deaf68SZhangbin Tong #define IRQ_PWM 110 1134e6670feSJoseph Chen #define IRQ_GPIO0 113 1144e6670feSJoseph Chen #define IRQ_GPIO1 114 1154e6670feSJoseph Chen #define IRQ_GPIO2 115 1164e6670feSJoseph Chen #define IRQ_GPIO3 116 1174e6670feSJoseph Chen 1184e6670feSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3399) 1194e6670feSJoseph Chen #define GPIO0_PHYS 0xFF720000 1204e6670feSJoseph Chen #define GPIO1_PHYS 0xFF730000 1214e6670feSJoseph Chen #define GPIO2_PHYS 0xFF780000 1224e6670feSJoseph Chen #define GPIO3_PHYS 0xFF788000 1234e6670feSJoseph Chen #define GPIO4_PHYS 0xFF790000 1244e6670feSJoseph Chen 1254e6670feSJoseph Chen #define IRQ_GPIO0 46 1264e6670feSJoseph Chen #define IRQ_GPIO1 47 1274e6670feSJoseph Chen #define IRQ_GPIO2 48 1284e6670feSJoseph Chen #define IRQ_GPIO3 49 1294e6670feSJoseph Chen #define IRQ_GPIO4 50 130b0deaf68SZhangbin Tong #define IRQ_PWM 93 1316d0f6303SJoseph Chen #define IRQ_TIMER1 114 /* non-secure */ 1324e6670feSJoseph Chen 1334e6670feSJoseph Chen #define GIC_IRQS_NR (6 * 32) 1344e6670feSJoseph Chen #define GPIO_IRQS_NR (5 * 32) 1354e6670feSJoseph Chen 1364e6670feSJoseph Chen #define GPIO_BANK_NUM 5 1374e6670feSJoseph Chen #define GPIO_BANK_PINS 32 13860848109SJoseph Chen 13960848109SJoseph Chen #elif defined(CONFIG_ROCKCHIP_PX30) 14060848109SJoseph Chen #define GPIO0_PHYS 0xff040000 14160848109SJoseph Chen #define GPIO1_PHYS 0xff250000 14260848109SJoseph Chen #define GPIO2_PHYS 0xff260000 14360848109SJoseph Chen #define GPIO3_PHYS 0xff270000 14460848109SJoseph Chen 14560848109SJoseph Chen #define IRQ_GPIO0 35 14660848109SJoseph Chen #define IRQ_GPIO1 36 14760848109SJoseph Chen #define IRQ_GPIO2 37 14860848109SJoseph Chen #define IRQ_GPIO3 38 14960848109SJoseph Chen #define IRQ_PWM0 56 15060848109SJoseph Chen #define IRQ_PWM1 57 15149f812ddSJoseph Chen #define IRQ_TIMER0 62 /* non-secure */ 15260848109SJoseph Chen #define IRQ_TIMER1 63 /* non-secure */ 15360848109SJoseph Chen 15460848109SJoseph Chen #define GIC_IRQS_NR (4 * 32) 15560848109SJoseph Chen #define GPIO_IRQS_NR (4 * 32) 15660848109SJoseph Chen 15760848109SJoseph Chen #define GPIO_BANK_NUM 4 15860848109SJoseph Chen #define GPIO_BANK_PINS 32 15960848109SJoseph Chen 1600b4bf976SJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3308) 1610b4bf976SJoseph Chen #define GPIO0_PHYS 0xff220000 1620b4bf976SJoseph Chen #define GPIO1_PHYS 0xff230000 1630b4bf976SJoseph Chen #define GPIO2_PHYS 0xff240000 1640b4bf976SJoseph Chen #define GPIO3_PHYS 0xff250000 1650b4bf976SJoseph Chen #define GPIO4_PHYS 0xff260000 1660b4bf976SJoseph Chen 1670b4bf976SJoseph Chen #define IRQ_TIMER1 58 /* ch0 ns timer1 */ 1680b4bf976SJoseph Chen #define IRQ_GPIO0 72 1690b4bf976SJoseph Chen #define IRQ_GPIO1 73 1700b4bf976SJoseph Chen #define IRQ_GPIO2 74 1710b4bf976SJoseph Chen #define IRQ_GPIO3 75 1720b4bf976SJoseph Chen #define IRQ_GPIO4 76 1730b4bf976SJoseph Chen 1740b4bf976SJoseph Chen #define GIC_IRQS_NR (5 * 32) 1750b4bf976SJoseph Chen #define GPIO_IRQS_NR (5 * 32) 1760b4bf976SJoseph Chen 1770b4bf976SJoseph Chen #define GPIO_BANK_NUM 5 1780b4bf976SJoseph Chen #define GPIO_BANK_PINS 32 17947ad8107SJoseph Chen 18047ad8107SJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK1808) 18147ad8107SJoseph Chen #define GPIO0_PHYS 0xff4c0000 18247ad8107SJoseph Chen #define GPIO1_PHYS 0xff690000 18347ad8107SJoseph Chen #define GPIO2_PHYS 0xff6a0000 18447ad8107SJoseph Chen #define GPIO3_PHYS 0xff6b0000 18547ad8107SJoseph Chen #define GPIO4_PHYS 0xff6c0000 18647ad8107SJoseph Chen 18747ad8107SJoseph Chen #define IRQ_GPIO0 35 18847ad8107SJoseph Chen #define IRQ_GPIO1 36 18947ad8107SJoseph Chen #define IRQ_GPIO2 37 19047ad8107SJoseph Chen #define IRQ_GPIO3 38 19147ad8107SJoseph Chen #define IRQ_GPIO4 114 19247ad8107SJoseph Chen 19347ad8107SJoseph Chen #define IRQ_TIMER0 58 19447ad8107SJoseph Chen #define IRQ_TIMER1 59 19547ad8107SJoseph Chen 19647ad8107SJoseph Chen #define GIC_IRQS_NR (5 * 32) 19747ad8107SJoseph Chen #define GPIO_IRQS_NR (5 * 32) 19847ad8107SJoseph Chen 19947ad8107SJoseph Chen #define GPIO_BANK_NUM 5 20047ad8107SJoseph Chen #define GPIO_BANK_PINS 32 20147ad8107SJoseph Chen 202066e9bcbSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RV1126) 203066e9bcbSJoseph Chen #define GPIO0_PHYS 0xff460000 204066e9bcbSJoseph Chen #define GPIO1_PHYS 0xff620000 205066e9bcbSJoseph Chen #define GPIO2_PHYS 0xff630000 206066e9bcbSJoseph Chen #define GPIO3_PHYS 0xff640000 207066e9bcbSJoseph Chen #define GPIO4_PHYS 0xff650000 208066e9bcbSJoseph Chen 209066e9bcbSJoseph Chen #define GIC_IRQS_NR (5 * 32) 210066e9bcbSJoseph Chen #define GPIO_IRQS_NR (5 * 32) 211066e9bcbSJoseph Chen 212066e9bcbSJoseph Chen #define GPIO_BANK_NUM 5 213066e9bcbSJoseph Chen #define GPIO_BANK_PINS 32 214066e9bcbSJoseph Chen 215066e9bcbSJoseph Chen #define IRQ_USB_OTG 117 216066e9bcbSJoseph Chen #define IRQ_TIMER1 57 217066e9bcbSJoseph Chen #define IRQ_GPIO0 66 218066e9bcbSJoseph Chen #define IRQ_GPIO1 67 219066e9bcbSJoseph Chen #define IRQ_GPIO2 68 220066e9bcbSJoseph Chen #define IRQ_GPIO3 69 221066e9bcbSJoseph Chen #define IRQ_GPIO4 70 222066e9bcbSJoseph Chen 2235033f049SJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3568) 2245033f049SJoseph Chen #define GPIO0_PHYS 0xfdd60000 2255033f049SJoseph Chen #define GPIO1_PHYS 0xfe740000 2265033f049SJoseph Chen #define GPIO2_PHYS 0xfe750000 2275033f049SJoseph Chen #define GPIO3_PHYS 0xfe760000 2285033f049SJoseph Chen #define GPIO4_PHYS 0xfe770000 2295033f049SJoseph Chen 2305033f049SJoseph Chen #define GIC_IRQS_NR (5 * 32) 2315033f049SJoseph Chen #define GPIO_IRQS_NR (5 * 32) 2325033f049SJoseph Chen 2335033f049SJoseph Chen #define GPIO_BANK_NUM 5 2345033f049SJoseph Chen #define GPIO_BANK_PINS 32 2355033f049SJoseph Chen 2365033f049SJoseph Chen #define IRQ_TIMER0 141 2375033f049SJoseph Chen #define IRQ_GPIO0 65 2385033f049SJoseph Chen #define IRQ_GPIO1 66 2395033f049SJoseph Chen #define IRQ_GPIO2 67 2405033f049SJoseph Chen #define IRQ_GPIO3 68 2415033f049SJoseph Chen #define IRQ_GPIO4 69 2425033f049SJoseph Chen 243*c20dcaebSJoseph Chen #elif defined(CONFIG_ROCKCHIP_RK3588) 244*c20dcaebSJoseph Chen #define GPIO0_PHYS 0xfd8a0000 245*c20dcaebSJoseph Chen #define GPIO1_PHYS 0xfec20000 246*c20dcaebSJoseph Chen #define GPIO2_PHYS 0xfec30000 247*c20dcaebSJoseph Chen #define GPIO3_PHYS 0xfec40000 248*c20dcaebSJoseph Chen #define GPIO4_PHYS 0xfec50000 249*c20dcaebSJoseph Chen 250*c20dcaebSJoseph Chen #define GIC_IRQS_NR (455) 251*c20dcaebSJoseph Chen #define GPIO_IRQS_NR (5 * 32) 252*c20dcaebSJoseph Chen 253*c20dcaebSJoseph Chen #define GPIO_BANK_NUM 5 254*c20dcaebSJoseph Chen #define GPIO_BANK_PINS 32 255*c20dcaebSJoseph Chen 256*c20dcaebSJoseph Chen #define IRQ_TIMER0 321 257*c20dcaebSJoseph Chen #define IRQ_GPIO0 309 258*c20dcaebSJoseph Chen #define IRQ_GPIO1 310 259*c20dcaebSJoseph Chen #define IRQ_GPIO2 311 260*c20dcaebSJoseph Chen #define IRQ_GPIO3 312 261*c20dcaebSJoseph Chen #define IRQ_GPIO4 313 2624e6670feSJoseph Chen #else 2634e6670feSJoseph Chen "Missing define RIQ relative things" 2644e6670feSJoseph Chen #endif 2654e6670feSJoseph Chen 2664e6670feSJoseph Chen #endif /* _ROCKCHIP_PLAT_IRQ_H_ */ 267