1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd. 4 */ 5 6#include <dt-bindings/clock/rockchip,rv1126-cru.h> 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/interrupt-controller/arm-gic.h> 9#include <dt-bindings/interrupt-controller/irq.h> 10#include <dt-bindings/pinctrl/rockchip.h> 11#include <dt-bindings/power/rockchip,rv1126-power.h> 12#include <dt-bindings/soc/rockchip,boot-mode.h> 13 14/ { 15 #address-cells = <1>; 16 #size-cells = <1>; 17 18 compatible = "rockchip,rv1126"; 19 20 interrupt-parent = <&gic>; 21 22 aliases { 23 i2c0 = &i2c0; 24 }; 25 26 cpus { 27 #address-cells = <1>; 28 #size-cells = <0>; 29 30 cpu0: cpu@f00 { 31 device_type = "cpu"; 32 compatible = "arm,cortex-a7"; 33 reg = <0xf00>; 34 enable-method = "psci"; 35 clocks = <&cru ARMCLK>; 36 }; 37 38 cpu1: cpu@f01 { 39 device_type = "cpu"; 40 compatible = "arm,cortex-a7"; 41 reg = <0xf01>; 42 enable-method = "psci"; 43 clocks = <&cru ARMCLK>; 44 }; 45 46 cpu2: cpu@f02 { 47 device_type = "cpu"; 48 compatible = "arm,cortex-a7"; 49 reg = <0xf02>; 50 enable-method = "psci"; 51 clocks = <&cru ARMCLK>; 52 }; 53 54 cpu3: cpu@f03 { 55 device_type = "cpu"; 56 compatible = "arm,cortex-a7"; 57 reg = <0xf03>; 58 enable-method = "psci"; 59 clocks = <&cru ARMCLK>; 60 }; 61 }; 62 63 arm-pmu { 64 compatible = "arm,cortex-a7-pmu"; 65 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 66 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 67 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 68 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 69 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 70 }; 71 72 psci { 73 compatible = "arm,psci-1.0"; 74 method = "smc"; 75 }; 76 77 timer { 78 compatible = "arm,armv7-timer"; 79 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 80 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 81 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 82 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 83 clock-frequency = <24000000>; 84 }; 85 86 display_subsystem { 87 compatible = "rockchip,display-subsystem"; 88 ports = <&vop_out>; 89 }; 90 91 xin24m: oscillator { 92 compatible = "fixed-clock"; 93 clock-frequency = <24000000>; 94 clock-output-names = "xin24m"; 95 #clock-cells = <0>; 96 }; 97 98 grf: syscon@fe000000 { 99 compatible = "rockchip,rv1126-grf", "syscon", "simple-mfd"; 100 reg = <0xfe000000 0x20000>; 101 }; 102 103 pmugrf: syscon@fe020000 { 104 compatible = "rockchip,rv1126-pmugrf", "syscon", "simple-mfd"; 105 reg = <0xfe020000 0x1000>; 106 107 pmu_io_domains: io-domains { 108 compatible = "rockchip,rv1126-pmu-io-voltage-domain"; 109 status = "disabled"; 110 }; 111 }; 112 113 qos_emmc: qos@fe860000 { 114 compatible = "rockchip,rv1126-qos", "syscon"; 115 reg = <0xfe860000 0x20>; 116 }; 117 118 qos_nandc: qos@fe860080 { 119 compatible = "rockchip,rv1126-qos", "syscon"; 120 reg = <0xfe860080 0x20>; 121 }; 122 123 qos_sfc: qos@fe860200 { 124 compatible = "rockchip,rv1126-qos", "syscon"; 125 reg = <0xfe860200 0x20>; 126 }; 127 128 qos_sdio: qos@fe86c000 { 129 compatible = "rockchip,rv1126-qos", "syscon"; 130 reg = <0xfe86c000 0x20>; 131 }; 132 133 qos_iep: qos@fe8a0000 { 134 compatible = "rockchip,rv1126-qos", "syscon"; 135 reg = <0xfe8a0000 0x20>; 136 }; 137 138 qos_rga_rd: qos@fe8a0080 { 139 compatible = "rockchip,rv1126-qos", "syscon"; 140 reg = <0xfe8a0080 0x20>; 141 }; 142 143 qos_rga_wr: qos@fe8a0100 { 144 compatible = "rockchip,rv1126-qos", "syscon"; 145 reg = <0xfe8a0100 0x20>; 146 }; 147 148 qos_vop: qos@fe8a0180 { 149 compatible = "rockchip,rv1126-qos", "syscon"; 150 reg = <0xfe8a0180 0x20>; 151 }; 152 153 gic: interrupt-controller@feff0000 { 154 compatible = "arm,gic-400"; 155 interrupt-controller; 156 #interrupt-cells = <3>; 157 #address-cells = <0>; 158 159 reg = <0xfeff1000 0x1000>, 160 <0xfeff2000 0x2000>, 161 <0xfeff4000 0x2000>, 162 <0xfeff6000 0x2000>; 163 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 164 }; 165 166 pmu: power-management@ff3e0000 { 167 compatible = "rockchip,rv1126-pmu", "syscon", "simple-mfd"; 168 reg = <0xff3e0000 0x1000>; 169 170 power: power-controller { 171 compatible = "rockchip,rv1126-power-controller"; 172 #power-domain-cells = <1>; 173 #address-cells = <1>; 174 #size-cells = <0>; 175 176 power-domain@RV1126_PD_NVM { 177 reg = <RV1126_PD_NVM>; 178 clocks = <&cru HCLK_EMMC>, 179 <&cru CLK_EMMC>, 180 <&cru HCLK_NANDC>, 181 <&cru CLK_NANDC>, 182 <&cru HCLK_SFC>, 183 <&cru HCLK_SFCXIP>, 184 <&cru SCLK_SFC>; 185 pm_qos = <&qos_emmc>, 186 <&qos_nandc>, 187 <&qos_sfc>; 188 #power-domain-cells = <0>; 189 }; 190 191 power-domain@RV1126_PD_SDIO { 192 reg = <RV1126_PD_SDIO>; 193 clocks = <&cru HCLK_SDIO>, 194 <&cru CLK_SDIO>; 195 pm_qos = <&qos_sdio>; 196 #power-domain-cells = <0>; 197 }; 198 199 power-domain@RV1126_PD_VO { 200 reg = <RV1126_PD_VO>; 201 clocks = <&cru ACLK_RGA>, 202 <&cru HCLK_RGA>, 203 <&cru CLK_RGA_CORE>, 204 <&cru ACLK_VOP>, 205 <&cru HCLK_VOP>, 206 <&cru DCLK_VOP>, 207 <&cru PCLK_DSIHOST>, 208 <&cru ACLK_IEP>, 209 <&cru HCLK_IEP>, 210 <&cru CLK_IEP_CORE>; 211 pm_qos = <&qos_rga_rd>, 212 <&qos_rga_wr>, 213 <&qos_vop>, 214 <&qos_iep>; 215 #power-domain-cells = <0>; 216 }; 217 }; 218 }; 219 220 i2c0: i2c@ff3f0000 { 221 compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 222 reg = <0xff3f0000 0x1000>; 223 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 224 rockchip,grf = <&pmugrf>; 225 clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>; 226 clock-names = "i2c", "pclk"; 227 pinctrl-names = "default"; 228 pinctrl-0 = <&i2c0_xfer>; 229 #address-cells = <1>; 230 #size-cells = <0>; 231 status = "disabled"; 232 }; 233 234 uart1: serial@ff410000 { 235 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 236 reg = <0xff410000 0x100>; 237 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 238 clock-frequency = <24000000>; 239 clocks = <&pmucru SCLK_UART1>, <&pmucru PCLK_UART1>; 240 clock-names = "baudclk", "apb_pclk"; 241 dmas = <&dmac 7>, <&dmac 6>; 242 dma-names = "tx", "rx"; 243 pinctrl-names = "default"; 244 pinctrl-0 = <&uart1m0_xfer>; 245 reg-shift = <2>; 246 reg-io-width = <4>; 247 status = "disabled"; 248 }; 249 250 pwm2: pwm@ff430020 { 251 compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 252 reg = <0xff430020 0x10>; 253 clock-names = "pwm", "pclk"; 254 clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 255 pinctrl-names = "default"; 256 pinctrl-0 = <&pwm2m0_pins>; 257 #pwm-cells = <3>; 258 status = "disabled"; 259 }; 260 261 pmucru: clock-controller@ff480000 { 262 compatible = "rockchip,rv1126-pmucru"; 263 reg = <0xff480000 0x1000>; 264 rockchip,grf = <&grf>; 265 #clock-cells = <1>; 266 #reset-cells = <1>; 267 }; 268 269 cru: clock-controller@ff490000 { 270 compatible = "rockchip,rv1126-cru"; 271 reg = <0xff490000 0x1000>; 272 clocks = <&xin24m>; 273 clock-names = "xin24m"; 274 rockchip,grf = <&grf>; 275 #clock-cells = <1>; 276 #reset-cells = <1>; 277 }; 278 279 dmac: dma-controller@ff4e0000 { 280 compatible = "arm,pl330", "arm,primecell"; 281 reg = <0xff4e0000 0x4000>; 282 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 283 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 284 #dma-cells = <1>; 285 arm,pl330-periph-burst; 286 clocks = <&cru ACLK_DMAC>; 287 clock-names = "apb_pclk"; 288 }; 289 290 uart0: serial@ff560000 { 291 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 292 reg = <0xff560000 0x100>; 293 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 294 clock-frequency = <24000000>; 295 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 296 clock-names = "baudclk", "apb_pclk"; 297 dmas = <&dmac 5>, <&dmac 4>; 298 dma-names = "tx", "rx"; 299 pinctrl-names = "default"; 300 pinctrl-0 = <&uart0_xfer>; 301 reg-shift = <2>; 302 reg-io-width = <4>; 303 status = "disabled"; 304 }; 305 306 uart2: serial@ff570000 { 307 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 308 reg = <0xff570000 0x100>; 309 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 310 clock-frequency = <24000000>; 311 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 312 clock-names = "baudclk", "apb_pclk"; 313 dmas = <&dmac 9>, <&dmac 8>; 314 dma-names = "tx", "rx"; 315 pinctrl-names = "default"; 316 pinctrl-0 = <&uart2m1_xfer>; 317 reg-shift = <2>; 318 reg-io-width = <4>; 319 status = "disabled"; 320 }; 321 322 uart3: serial@ff580000 { 323 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 324 reg = <0xff580000 0x100>; 325 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 326 clock-frequency = <24000000>; 327 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 328 clock-names = "baudclk", "apb_pclk"; 329 dmas = <&dmac 11>, <&dmac 10>; 330 dma-names = "tx", "rx"; 331 pinctrl-names = "default"; 332 pinctrl-0 = <&uart3m0_xfer>; 333 reg-shift = <2>; 334 reg-io-width = <4>; 335 status = "disabled"; 336 }; 337 338 uart4: serial@ff590000 { 339 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 340 reg = <0xff590000 0x100>; 341 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 342 clock-frequency = <24000000>; 343 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 344 clock-names = "baudclk", "apb_pclk"; 345 dmas = <&dmac 13>, <&dmac 12>; 346 dma-names = "tx", "rx"; 347 pinctrl-names = "default"; 348 pinctrl-0 = <&uart4m0_xfer>; 349 reg-shift = <2>; 350 reg-io-width = <4>; 351 status = "disabled"; 352 }; 353 354 uart5: serial@ff5a0000 { 355 compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 356 reg = <0xff5a0000 0x100>; 357 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 358 clock-frequency = <24000000>; 359 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 360 clock-names = "baudclk", "apb_pclk"; 361 dmas = <&dmac 15>, <&dmac 14>; 362 dma-names = "tx", "rx"; 363 pinctrl-names = "default"; 364 pinctrl-0 = <&uart5m0_xfer>; 365 reg-shift = <2>; 366 reg-io-width = <4>; 367 status = "disabled"; 368 }; 369 370 saradc: adc@ff5e0000 { 371 compatible = "rockchip,rv1126-saradc", "rockchip,rk3399-saradc"; 372 reg = <0xff5e0000 0x100>; 373 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 374 #io-channel-cells = <1>; 375 clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 376 clock-names = "saradc", "apb_pclk"; 377 resets = <&cru SRST_SARADC_P>; 378 reset-names = "saradc-apb"; 379 status = "disabled"; 380 }; 381 382 timer0: timer@ff660000 { 383 compatible = "rockchip,rv1126-timer", "rockchip,rk3288-timer"; 384 reg = <0xff660000 0x20>; 385 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 386 clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>; 387 clock-names = "pclk", "timer"; 388 }; 389 390 vop: vop@ffb00000 { 391 compatible = "rockchip,rv1126-vop"; 392 reg = <0xffb00000 0x200>, <0xffb00a00 0x400>; 393 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 394 clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 395 clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 396 reset-names = "axi", "ahb", "dclk"; 397 resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; 398 iommus = <&vop_mmu>; 399 power-domains = <&power RV1126_PD_VO>; 400 status = "disabled"; 401 402 vop_out: port { 403 #address-cells = <1>; 404 #size-cells = <0>; 405 406 vop_out_rgb: endpoint@0 { 407 reg = <0>; 408 }; 409 410 vop_out_dsi: endpoint@1 { 411 reg = <1>; 412 }; 413 }; 414 }; 415 416 vop_mmu: iommu@ffb00f00 { 417 compatible = "rockchip,iommu"; 418 reg = <0xffb00f00 0x100>; 419 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 420 clock-names = "aclk", "iface"; 421 clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 422 #iommu-cells = <0>; 423 power-domains = <&power RV1126_PD_VO>; 424 status = "disabled"; 425 }; 426 427 gmac: ethernet@ffc40000 { 428 compatible = "rockchip,rv1126-gmac", "snps,dwmac-4.20a"; 429 reg = <0xffc40000 0x4000>; 430 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 431 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 432 interrupt-names = "macirq", "eth_wake_irq"; 433 rockchip,grf = <&grf>; 434 clocks = <&cru CLK_GMAC_SRC>, <&cru CLK_GMAC_TX_RX>, 435 <&cru CLK_GMAC_TX_RX>, <&cru CLK_GMAC_REF>, 436 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>, 437 <&cru CLK_GMAC_TX_RX>, <&cru CLK_GMAC_PTPREF>; 438 clock-names = "stmmaceth", "mac_clk_rx", 439 "mac_clk_tx", "clk_mac_ref", 440 "aclk_mac", "pclk_mac", 441 "clk_mac_speed", "ptp_ref"; 442 resets = <&cru SRST_GMAC_A>; 443 reset-names = "stmmaceth"; 444 445 snps,mixed-burst; 446 snps,tso; 447 448 snps,axi-config = <&stmmac_axi_setup>; 449 snps,mtl-rx-config = <&mtl_rx_setup>; 450 snps,mtl-tx-config = <&mtl_tx_setup>; 451 status = "disabled"; 452 453 mdio: mdio { 454 compatible = "snps,dwmac-mdio"; 455 #address-cells = <0x1>; 456 #size-cells = <0x0>; 457 }; 458 459 stmmac_axi_setup: stmmac-axi-config { 460 snps,wr_osr_lmt = <4>; 461 snps,rd_osr_lmt = <8>; 462 snps,blen = <0 0 0 0 16 8 4>; 463 }; 464 465 mtl_rx_setup: rx-queues-config { 466 snps,rx-queues-to-use = <1>; 467 queue0 {}; 468 }; 469 470 mtl_tx_setup: tx-queues-config { 471 snps,tx-queues-to-use = <1>; 472 queue0 {}; 473 }; 474 }; 475 476 emmc: mmc@ffc50000 { 477 compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 478 reg = <0xffc50000 0x4000>; 479 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 480 clocks = <&cru HCLK_EMMC>, <&cru CLK_EMMC>, 481 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 482 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 483 fifo-depth = <0x100>; 484 max-frequency = <200000000>; 485 power-domains = <&power RV1126_PD_NVM>; 486 status = "disabled"; 487 }; 488 489 sdmmc: mmc@ffc60000 { 490 compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 491 reg = <0xffc60000 0x4000>; 492 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 493 clocks = <&cru HCLK_SDMMC>, <&cru CLK_SDMMC>, 494 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 495 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 496 fifo-depth = <0x100>; 497 max-frequency = <200000000>; 498 status = "disabled"; 499 }; 500 501 sdio: mmc@ffc70000 { 502 compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 503 reg = <0xffc70000 0x4000>; 504 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 505 clocks = <&cru HCLK_SDIO>, <&cru CLK_SDIO>, 506 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 507 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 508 fifo-depth = <0x100>; 509 max-frequency = <200000000>; 510 power-domains = <&power RV1126_PD_SDIO>; 511 status = "disabled"; 512 }; 513 514 sfc: spi@ffc90000 { 515 compatible = "rockchip,sfc"; 516 reg = <0xffc90000 0x4000>; 517 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 518 assigned-clocks = <&cru SCLK_SFC>; 519 assigned-clock-rates = <80000000>; 520 clock-names = "clk_sfc", "hclk_sfc"; 521 clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 522 power-domains = <&power RV1126_PD_NVM>; 523 status = "disabled"; 524 }; 525 526 pinctrl: pinctrl { 527 compatible = "rockchip,rv1126-pinctrl"; 528 rockchip,grf = <&grf>; 529 rockchip,pmu = <&pmugrf>; 530 #address-cells = <1>; 531 #size-cells = <1>; 532 ranges; 533 534 gpio0: gpio@ff460000 { 535 compatible = "rockchip,gpio-bank"; 536 reg = <0xff460000 0x100>; 537 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 538 clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; 539 gpio-controller; 540 #gpio-cells = <2>; 541 interrupt-controller; 542 #interrupt-cells = <2>; 543 }; 544 545 gpio1: gpio@ff620000 { 546 compatible = "rockchip,gpio-bank"; 547 reg = <0xff620000 0x100>; 548 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 549 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 550 gpio-controller; 551 #gpio-cells = <2>; 552 interrupt-controller; 553 #interrupt-cells = <2>; 554 }; 555 556 gpio2: gpio@ff630000 { 557 compatible = "rockchip,gpio-bank"; 558 reg = <0xff630000 0x100>; 559 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 560 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 561 gpio-controller; 562 #gpio-cells = <2>; 563 interrupt-controller; 564 #interrupt-cells = <2>; 565 }; 566 567 gpio3: gpio@ff640000 { 568 compatible = "rockchip,gpio-bank"; 569 reg = <0xff640000 0x100>; 570 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 571 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 572 gpio-controller; 573 #gpio-cells = <2>; 574 interrupt-controller; 575 #interrupt-cells = <2>; 576 }; 577 578 gpio4: gpio@ff650000 { 579 compatible = "rockchip,gpio-bank"; 580 reg = <0xff650000 0x100>; 581 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 582 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 583 gpio-controller; 584 #gpio-cells = <2>; 585 interrupt-controller; 586 #interrupt-cells = <2>; 587 }; 588 }; 589}; 590 591#include "rv1126-pinctrl.dtsi" 592