1*c9211fa2SKever Yang// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*c9211fa2SKever Yang/* 3*c9211fa2SKever Yang * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4*c9211fa2SKever Yang */ 5*c9211fa2SKever Yang 6*c9211fa2SKever Yang#include <dt-bindings/clock/rockchip,rk3588-cru.h> 7*c9211fa2SKever Yang#include <dt-bindings/interrupt-controller/arm-gic.h> 8*c9211fa2SKever Yang#include <dt-bindings/interrupt-controller/irq.h> 9*c9211fa2SKever Yang#include <dt-bindings/power/rk3588-power.h> 10*c9211fa2SKever Yang#include <dt-bindings/reset/rockchip,rk3588-cru.h> 11*c9211fa2SKever Yang 12*c9211fa2SKever Yang/ { 13*c9211fa2SKever Yang compatible = "rockchip,rk3588"; 14*c9211fa2SKever Yang 15*c9211fa2SKever Yang interrupt-parent = <&gic>; 16*c9211fa2SKever Yang #address-cells = <2>; 17*c9211fa2SKever Yang #size-cells = <2>; 18*c9211fa2SKever Yang 19*c9211fa2SKever Yang cpus { 20*c9211fa2SKever Yang #address-cells = <1>; 21*c9211fa2SKever Yang #size-cells = <0>; 22*c9211fa2SKever Yang 23*c9211fa2SKever Yang cpu-map { 24*c9211fa2SKever Yang cluster0 { 25*c9211fa2SKever Yang core0 { 26*c9211fa2SKever Yang cpu = <&cpu_l0>; 27*c9211fa2SKever Yang }; 28*c9211fa2SKever Yang core1 { 29*c9211fa2SKever Yang cpu = <&cpu_l1>; 30*c9211fa2SKever Yang }; 31*c9211fa2SKever Yang core2 { 32*c9211fa2SKever Yang cpu = <&cpu_l2>; 33*c9211fa2SKever Yang }; 34*c9211fa2SKever Yang core3 { 35*c9211fa2SKever Yang cpu = <&cpu_l3>; 36*c9211fa2SKever Yang }; 37*c9211fa2SKever Yang }; 38*c9211fa2SKever Yang cluster1 { 39*c9211fa2SKever Yang core0 { 40*c9211fa2SKever Yang cpu = <&cpu_b0>; 41*c9211fa2SKever Yang }; 42*c9211fa2SKever Yang core1 { 43*c9211fa2SKever Yang cpu = <&cpu_b1>; 44*c9211fa2SKever Yang }; 45*c9211fa2SKever Yang }; 46*c9211fa2SKever Yang cluster2 { 47*c9211fa2SKever Yang core0 { 48*c9211fa2SKever Yang cpu = <&cpu_b2>; 49*c9211fa2SKever Yang }; 50*c9211fa2SKever Yang core1 { 51*c9211fa2SKever Yang cpu = <&cpu_b3>; 52*c9211fa2SKever Yang }; 53*c9211fa2SKever Yang }; 54*c9211fa2SKever Yang }; 55*c9211fa2SKever Yang 56*c9211fa2SKever Yang cpu_l0: cpu@0 { 57*c9211fa2SKever Yang device_type = "cpu"; 58*c9211fa2SKever Yang compatible = "arm,cortex-a55"; 59*c9211fa2SKever Yang reg = <0x0>; 60*c9211fa2SKever Yang enable-method = "psci"; 61*c9211fa2SKever Yang capacity-dmips-mhz = <530>; 62*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUL>; 63*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 64*c9211fa2SKever Yang i-cache-size = <32768>; 65*c9211fa2SKever Yang i-cache-line-size = <64>; 66*c9211fa2SKever Yang i-cache-sets = <128>; 67*c9211fa2SKever Yang d-cache-size = <32768>; 68*c9211fa2SKever Yang d-cache-line-size = <64>; 69*c9211fa2SKever Yang d-cache-sets = <128>; 70*c9211fa2SKever Yang next-level-cache = <&l2_cache_l0>; 71*c9211fa2SKever Yang dynamic-power-coefficient = <228>; 72*c9211fa2SKever Yang #cooling-cells = <2>; 73*c9211fa2SKever Yang }; 74*c9211fa2SKever Yang 75*c9211fa2SKever Yang cpu_l1: cpu@100 { 76*c9211fa2SKever Yang device_type = "cpu"; 77*c9211fa2SKever Yang compatible = "arm,cortex-a55"; 78*c9211fa2SKever Yang reg = <0x100>; 79*c9211fa2SKever Yang enable-method = "psci"; 80*c9211fa2SKever Yang capacity-dmips-mhz = <530>; 81*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUL>; 82*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 83*c9211fa2SKever Yang i-cache-size = <32768>; 84*c9211fa2SKever Yang i-cache-line-size = <64>; 85*c9211fa2SKever Yang i-cache-sets = <128>; 86*c9211fa2SKever Yang d-cache-size = <32768>; 87*c9211fa2SKever Yang d-cache-line-size = <64>; 88*c9211fa2SKever Yang d-cache-sets = <128>; 89*c9211fa2SKever Yang next-level-cache = <&l2_cache_l1>; 90*c9211fa2SKever Yang dynamic-power-coefficient = <228>; 91*c9211fa2SKever Yang #cooling-cells = <2>; 92*c9211fa2SKever Yang }; 93*c9211fa2SKever Yang 94*c9211fa2SKever Yang cpu_l2: cpu@200 { 95*c9211fa2SKever Yang device_type = "cpu"; 96*c9211fa2SKever Yang compatible = "arm,cortex-a55"; 97*c9211fa2SKever Yang reg = <0x200>; 98*c9211fa2SKever Yang enable-method = "psci"; 99*c9211fa2SKever Yang capacity-dmips-mhz = <530>; 100*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUL>; 101*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 102*c9211fa2SKever Yang i-cache-size = <32768>; 103*c9211fa2SKever Yang i-cache-line-size = <64>; 104*c9211fa2SKever Yang i-cache-sets = <128>; 105*c9211fa2SKever Yang d-cache-size = <32768>; 106*c9211fa2SKever Yang d-cache-line-size = <64>; 107*c9211fa2SKever Yang d-cache-sets = <128>; 108*c9211fa2SKever Yang next-level-cache = <&l2_cache_l2>; 109*c9211fa2SKever Yang dynamic-power-coefficient = <228>; 110*c9211fa2SKever Yang #cooling-cells = <2>; 111*c9211fa2SKever Yang }; 112*c9211fa2SKever Yang 113*c9211fa2SKever Yang cpu_l3: cpu@300 { 114*c9211fa2SKever Yang device_type = "cpu"; 115*c9211fa2SKever Yang compatible = "arm,cortex-a55"; 116*c9211fa2SKever Yang reg = <0x300>; 117*c9211fa2SKever Yang enable-method = "psci"; 118*c9211fa2SKever Yang capacity-dmips-mhz = <530>; 119*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUL>; 120*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 121*c9211fa2SKever Yang i-cache-size = <32768>; 122*c9211fa2SKever Yang i-cache-line-size = <64>; 123*c9211fa2SKever Yang i-cache-sets = <128>; 124*c9211fa2SKever Yang d-cache-size = <32768>; 125*c9211fa2SKever Yang d-cache-line-size = <64>; 126*c9211fa2SKever Yang d-cache-sets = <128>; 127*c9211fa2SKever Yang next-level-cache = <&l2_cache_l3>; 128*c9211fa2SKever Yang dynamic-power-coefficient = <228>; 129*c9211fa2SKever Yang #cooling-cells = <2>; 130*c9211fa2SKever Yang }; 131*c9211fa2SKever Yang 132*c9211fa2SKever Yang cpu_b0: cpu@400 { 133*c9211fa2SKever Yang device_type = "cpu"; 134*c9211fa2SKever Yang compatible = "arm,cortex-a76"; 135*c9211fa2SKever Yang reg = <0x400>; 136*c9211fa2SKever Yang enable-method = "psci"; 137*c9211fa2SKever Yang capacity-dmips-mhz = <1024>; 138*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUB01>; 139*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 140*c9211fa2SKever Yang i-cache-size = <65536>; 141*c9211fa2SKever Yang i-cache-line-size = <64>; 142*c9211fa2SKever Yang i-cache-sets = <256>; 143*c9211fa2SKever Yang d-cache-size = <65536>; 144*c9211fa2SKever Yang d-cache-line-size = <64>; 145*c9211fa2SKever Yang d-cache-sets = <256>; 146*c9211fa2SKever Yang next-level-cache = <&l2_cache_b0>; 147*c9211fa2SKever Yang dynamic-power-coefficient = <416>; 148*c9211fa2SKever Yang #cooling-cells = <2>; 149*c9211fa2SKever Yang }; 150*c9211fa2SKever Yang 151*c9211fa2SKever Yang cpu_b1: cpu@500 { 152*c9211fa2SKever Yang device_type = "cpu"; 153*c9211fa2SKever Yang compatible = "arm,cortex-a76"; 154*c9211fa2SKever Yang reg = <0x500>; 155*c9211fa2SKever Yang enable-method = "psci"; 156*c9211fa2SKever Yang capacity-dmips-mhz = <1024>; 157*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUB01>; 158*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 159*c9211fa2SKever Yang i-cache-size = <65536>; 160*c9211fa2SKever Yang i-cache-line-size = <64>; 161*c9211fa2SKever Yang i-cache-sets = <256>; 162*c9211fa2SKever Yang d-cache-size = <65536>; 163*c9211fa2SKever Yang d-cache-line-size = <64>; 164*c9211fa2SKever Yang d-cache-sets = <256>; 165*c9211fa2SKever Yang next-level-cache = <&l2_cache_b1>; 166*c9211fa2SKever Yang dynamic-power-coefficient = <416>; 167*c9211fa2SKever Yang #cooling-cells = <2>; 168*c9211fa2SKever Yang }; 169*c9211fa2SKever Yang 170*c9211fa2SKever Yang cpu_b2: cpu@600 { 171*c9211fa2SKever Yang device_type = "cpu"; 172*c9211fa2SKever Yang compatible = "arm,cortex-a76"; 173*c9211fa2SKever Yang reg = <0x600>; 174*c9211fa2SKever Yang enable-method = "psci"; 175*c9211fa2SKever Yang capacity-dmips-mhz = <1024>; 176*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUB23>; 177*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 178*c9211fa2SKever Yang i-cache-size = <65536>; 179*c9211fa2SKever Yang i-cache-line-size = <64>; 180*c9211fa2SKever Yang i-cache-sets = <256>; 181*c9211fa2SKever Yang d-cache-size = <65536>; 182*c9211fa2SKever Yang d-cache-line-size = <64>; 183*c9211fa2SKever Yang d-cache-sets = <256>; 184*c9211fa2SKever Yang next-level-cache = <&l2_cache_b2>; 185*c9211fa2SKever Yang dynamic-power-coefficient = <416>; 186*c9211fa2SKever Yang #cooling-cells = <2>; 187*c9211fa2SKever Yang }; 188*c9211fa2SKever Yang 189*c9211fa2SKever Yang cpu_b3: cpu@700 { 190*c9211fa2SKever Yang device_type = "cpu"; 191*c9211fa2SKever Yang compatible = "arm,cortex-a76"; 192*c9211fa2SKever Yang reg = <0x700>; 193*c9211fa2SKever Yang enable-method = "psci"; 194*c9211fa2SKever Yang capacity-dmips-mhz = <1024>; 195*c9211fa2SKever Yang clocks = <&scmi_clk SCMI_CLK_CPUB23>; 196*c9211fa2SKever Yang cpu-idle-states = <&CPU_SLEEP>; 197*c9211fa2SKever Yang i-cache-size = <65536>; 198*c9211fa2SKever Yang i-cache-line-size = <64>; 199*c9211fa2SKever Yang i-cache-sets = <256>; 200*c9211fa2SKever Yang d-cache-size = <65536>; 201*c9211fa2SKever Yang d-cache-line-size = <64>; 202*c9211fa2SKever Yang d-cache-sets = <256>; 203*c9211fa2SKever Yang next-level-cache = <&l2_cache_b3>; 204*c9211fa2SKever Yang dynamic-power-coefficient = <416>; 205*c9211fa2SKever Yang #cooling-cells = <2>; 206*c9211fa2SKever Yang }; 207*c9211fa2SKever Yang 208*c9211fa2SKever Yang idle-states { 209*c9211fa2SKever Yang entry-method = "psci"; 210*c9211fa2SKever Yang CPU_SLEEP: cpu-sleep { 211*c9211fa2SKever Yang compatible = "arm,idle-state"; 212*c9211fa2SKever Yang local-timer-stop; 213*c9211fa2SKever Yang arm,psci-suspend-param = <0x0010000>; 214*c9211fa2SKever Yang entry-latency-us = <100>; 215*c9211fa2SKever Yang exit-latency-us = <120>; 216*c9211fa2SKever Yang min-residency-us = <1000>; 217*c9211fa2SKever Yang }; 218*c9211fa2SKever Yang }; 219*c9211fa2SKever Yang 220*c9211fa2SKever Yang l2_cache_l0: l2-cache-l0 { 221*c9211fa2SKever Yang compatible = "cache"; 222*c9211fa2SKever Yang cache-size = <131072>; 223*c9211fa2SKever Yang cache-line-size = <64>; 224*c9211fa2SKever Yang cache-sets = <512>; 225*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 226*c9211fa2SKever Yang }; 227*c9211fa2SKever Yang 228*c9211fa2SKever Yang l2_cache_l1: l2-cache-l1 { 229*c9211fa2SKever Yang compatible = "cache"; 230*c9211fa2SKever Yang cache-size = <131072>; 231*c9211fa2SKever Yang cache-line-size = <64>; 232*c9211fa2SKever Yang cache-sets = <512>; 233*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 234*c9211fa2SKever Yang }; 235*c9211fa2SKever Yang 236*c9211fa2SKever Yang l2_cache_l2: l2-cache-l2 { 237*c9211fa2SKever Yang compatible = "cache"; 238*c9211fa2SKever Yang cache-size = <131072>; 239*c9211fa2SKever Yang cache-line-size = <64>; 240*c9211fa2SKever Yang cache-sets = <512>; 241*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 242*c9211fa2SKever Yang }; 243*c9211fa2SKever Yang 244*c9211fa2SKever Yang l2_cache_l3: l2-cache-l3 { 245*c9211fa2SKever Yang compatible = "cache"; 246*c9211fa2SKever Yang cache-size = <131072>; 247*c9211fa2SKever Yang cache-line-size = <64>; 248*c9211fa2SKever Yang cache-sets = <512>; 249*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 250*c9211fa2SKever Yang }; 251*c9211fa2SKever Yang 252*c9211fa2SKever Yang l2_cache_b0: l2-cache-b0 { 253*c9211fa2SKever Yang compatible = "cache"; 254*c9211fa2SKever Yang cache-size = <524288>; 255*c9211fa2SKever Yang cache-line-size = <64>; 256*c9211fa2SKever Yang cache-sets = <1024>; 257*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 258*c9211fa2SKever Yang }; 259*c9211fa2SKever Yang 260*c9211fa2SKever Yang l2_cache_b1: l2-cache-b1 { 261*c9211fa2SKever Yang compatible = "cache"; 262*c9211fa2SKever Yang cache-size = <524288>; 263*c9211fa2SKever Yang cache-line-size = <64>; 264*c9211fa2SKever Yang cache-sets = <1024>; 265*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 266*c9211fa2SKever Yang }; 267*c9211fa2SKever Yang 268*c9211fa2SKever Yang l2_cache_b2: l2-cache-b2 { 269*c9211fa2SKever Yang compatible = "cache"; 270*c9211fa2SKever Yang cache-size = <524288>; 271*c9211fa2SKever Yang cache-line-size = <64>; 272*c9211fa2SKever Yang cache-sets = <1024>; 273*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 274*c9211fa2SKever Yang }; 275*c9211fa2SKever Yang 276*c9211fa2SKever Yang l2_cache_b3: l2-cache-b3 { 277*c9211fa2SKever Yang compatible = "cache"; 278*c9211fa2SKever Yang cache-size = <524288>; 279*c9211fa2SKever Yang cache-line-size = <64>; 280*c9211fa2SKever Yang cache-sets = <1024>; 281*c9211fa2SKever Yang next-level-cache = <&l3_cache>; 282*c9211fa2SKever Yang }; 283*c9211fa2SKever Yang 284*c9211fa2SKever Yang l3_cache: l3-cache { 285*c9211fa2SKever Yang compatible = "cache"; 286*c9211fa2SKever Yang cache-size = <3145728>; 287*c9211fa2SKever Yang cache-line-size = <64>; 288*c9211fa2SKever Yang cache-sets = <4096>; 289*c9211fa2SKever Yang }; 290*c9211fa2SKever Yang }; 291*c9211fa2SKever Yang 292*c9211fa2SKever Yang firmware { 293*c9211fa2SKever Yang optee: optee { 294*c9211fa2SKever Yang compatible = "linaro,optee-tz"; 295*c9211fa2SKever Yang method = "smc"; 296*c9211fa2SKever Yang }; 297*c9211fa2SKever Yang 298*c9211fa2SKever Yang scmi: scmi { 299*c9211fa2SKever Yang compatible = "arm,scmi-smc"; 300*c9211fa2SKever Yang arm,smc-id = <0x82000010>; 301*c9211fa2SKever Yang shmem = <&scmi_shmem>; 302*c9211fa2SKever Yang #address-cells = <1>; 303*c9211fa2SKever Yang #size-cells = <0>; 304*c9211fa2SKever Yang 305*c9211fa2SKever Yang scmi_clk: protocol@14 { 306*c9211fa2SKever Yang reg = <0x14>; 307*c9211fa2SKever Yang assigned-clocks = <&scmi_clk SCMI_CLK_CPUB01>, 308*c9211fa2SKever Yang <&scmi_clk SCMI_CLK_CPUB23>; 309*c9211fa2SKever Yang assigned-clock-rates = <1200000000>, 310*c9211fa2SKever Yang <1200000000>; 311*c9211fa2SKever Yang #clock-cells = <1>; 312*c9211fa2SKever Yang }; 313*c9211fa2SKever Yang 314*c9211fa2SKever Yang scmi_reset: protocol@16 { 315*c9211fa2SKever Yang reg = <0x16>; 316*c9211fa2SKever Yang #reset-cells = <1>; 317*c9211fa2SKever Yang }; 318*c9211fa2SKever Yang }; 319*c9211fa2SKever Yang }; 320*c9211fa2SKever Yang 321*c9211fa2SKever Yang pmu-a55 { 322*c9211fa2SKever Yang compatible = "arm,cortex-a55-pmu"; 323*c9211fa2SKever Yang interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition0>; 324*c9211fa2SKever Yang }; 325*c9211fa2SKever Yang 326*c9211fa2SKever Yang pmu-a76 { 327*c9211fa2SKever Yang compatible = "arm,cortex-a76-pmu"; 328*c9211fa2SKever Yang interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition1>; 329*c9211fa2SKever Yang }; 330*c9211fa2SKever Yang 331*c9211fa2SKever Yang psci { 332*c9211fa2SKever Yang compatible = "arm,psci-1.0"; 333*c9211fa2SKever Yang method = "smc"; 334*c9211fa2SKever Yang }; 335*c9211fa2SKever Yang 336*c9211fa2SKever Yang spll: clock-0 { 337*c9211fa2SKever Yang compatible = "fixed-clock"; 338*c9211fa2SKever Yang clock-frequency = <702000000>; 339*c9211fa2SKever Yang clock-output-names = "spll"; 340*c9211fa2SKever Yang #clock-cells = <0>; 341*c9211fa2SKever Yang }; 342*c9211fa2SKever Yang 343*c9211fa2SKever Yang timer { 344*c9211fa2SKever Yang compatible = "arm,armv8-timer"; 345*c9211fa2SKever Yang interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>, 346*c9211fa2SKever Yang <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>, 347*c9211fa2SKever Yang <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>, 348*c9211fa2SKever Yang <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>, 349*c9211fa2SKever Yang <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH 0>; 350*c9211fa2SKever Yang interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt"; 351*c9211fa2SKever Yang }; 352*c9211fa2SKever Yang 353*c9211fa2SKever Yang xin24m: clock-1 { 354*c9211fa2SKever Yang compatible = "fixed-clock"; 355*c9211fa2SKever Yang clock-frequency = <24000000>; 356*c9211fa2SKever Yang clock-output-names = "xin24m"; 357*c9211fa2SKever Yang #clock-cells = <0>; 358*c9211fa2SKever Yang }; 359*c9211fa2SKever Yang 360*c9211fa2SKever Yang xin32k: clock-2 { 361*c9211fa2SKever Yang compatible = "fixed-clock"; 362*c9211fa2SKever Yang clock-frequency = <32768>; 363*c9211fa2SKever Yang clock-output-names = "xin32k"; 364*c9211fa2SKever Yang #clock-cells = <0>; 365*c9211fa2SKever Yang }; 366*c9211fa2SKever Yang 367*c9211fa2SKever Yang pmu_sram: sram@10f000 { 368*c9211fa2SKever Yang compatible = "mmio-sram"; 369*c9211fa2SKever Yang reg = <0x0 0x0010f000 0x0 0x100>; 370*c9211fa2SKever Yang ranges = <0 0x0 0x0010f000 0x100>; 371*c9211fa2SKever Yang #address-cells = <1>; 372*c9211fa2SKever Yang #size-cells = <1>; 373*c9211fa2SKever Yang 374*c9211fa2SKever Yang scmi_shmem: sram@0 { 375*c9211fa2SKever Yang compatible = "arm,scmi-shmem"; 376*c9211fa2SKever Yang reg = <0x0 0x100>; 377*c9211fa2SKever Yang }; 378*c9211fa2SKever Yang }; 379*c9211fa2SKever Yang 380*c9211fa2SKever Yang sys_grf: syscon@fd58c000 { 381*c9211fa2SKever Yang compatible = "rockchip,rk3588-sys-grf", "syscon"; 382*c9211fa2SKever Yang reg = <0x0 0xfd58c000 0x0 0x1000>; 383*c9211fa2SKever Yang }; 384*c9211fa2SKever Yang 385*c9211fa2SKever Yang php_grf: syscon@fd5b0000 { 386*c9211fa2SKever Yang compatible = "rockchip,rk3588-php-grf", "syscon"; 387*c9211fa2SKever Yang reg = <0x0 0xfd5b0000 0x0 0x1000>; 388*c9211fa2SKever Yang }; 389*c9211fa2SKever Yang 390*c9211fa2SKever Yang ioc: syscon@fd5f0000 { 391*c9211fa2SKever Yang compatible = "rockchip,rk3588-ioc", "syscon"; 392*c9211fa2SKever Yang reg = <0x0 0xfd5f0000 0x0 0x10000>; 393*c9211fa2SKever Yang }; 394*c9211fa2SKever Yang 395*c9211fa2SKever Yang system_sram1: sram@fd600000 { 396*c9211fa2SKever Yang compatible = "mmio-sram"; 397*c9211fa2SKever Yang reg = <0x0 0xfd600000 0x0 0x100000>; 398*c9211fa2SKever Yang ranges = <0x0 0x0 0xfd600000 0x100000>; 399*c9211fa2SKever Yang #address-cells = <1>; 400*c9211fa2SKever Yang #size-cells = <1>; 401*c9211fa2SKever Yang }; 402*c9211fa2SKever Yang 403*c9211fa2SKever Yang cru: clock-controller@fd7c0000 { 404*c9211fa2SKever Yang compatible = "rockchip,rk3588-cru"; 405*c9211fa2SKever Yang reg = <0x0 0xfd7c0000 0x0 0x5c000>; 406*c9211fa2SKever Yang assigned-clocks = 407*c9211fa2SKever Yang <&cru PLL_PPLL>, <&cru PLL_AUPLL>, 408*c9211fa2SKever Yang <&cru PLL_NPLL>, <&cru PLL_GPLL>, 409*c9211fa2SKever Yang <&cru ACLK_CENTER_ROOT>, 410*c9211fa2SKever Yang <&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>, 411*c9211fa2SKever Yang <&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>, 412*c9211fa2SKever Yang <&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>, 413*c9211fa2SKever Yang <&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>, 414*c9211fa2SKever Yang <&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>, 415*c9211fa2SKever Yang <&cru CLK_GPU>; 416*c9211fa2SKever Yang assigned-clock-rates = 417*c9211fa2SKever Yang <100000000>, <786432000>, 418*c9211fa2SKever Yang <850000000>, <1188000000>, 419*c9211fa2SKever Yang <702000000>, 420*c9211fa2SKever Yang <400000000>, <500000000>, 421*c9211fa2SKever Yang <800000000>, <100000000>, 422*c9211fa2SKever Yang <400000000>, <100000000>, 423*c9211fa2SKever Yang <200000000>, <500000000>, 424*c9211fa2SKever Yang <375000000>, <150000000>, 425*c9211fa2SKever Yang <200000000>; 426*c9211fa2SKever Yang rockchip,grf = <&php_grf>; 427*c9211fa2SKever Yang #clock-cells = <1>; 428*c9211fa2SKever Yang #reset-cells = <1>; 429*c9211fa2SKever Yang }; 430*c9211fa2SKever Yang 431*c9211fa2SKever Yang i2c0: i2c@fd880000 { 432*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 433*c9211fa2SKever Yang reg = <0x0 0xfd880000 0x0 0x1000>; 434*c9211fa2SKever Yang interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>; 435*c9211fa2SKever Yang clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 436*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 437*c9211fa2SKever Yang pinctrl-0 = <&i2c0m0_xfer>; 438*c9211fa2SKever Yang pinctrl-names = "default"; 439*c9211fa2SKever Yang #address-cells = <1>; 440*c9211fa2SKever Yang #size-cells = <0>; 441*c9211fa2SKever Yang status = "disabled"; 442*c9211fa2SKever Yang }; 443*c9211fa2SKever Yang 444*c9211fa2SKever Yang uart0: serial@fd890000 { 445*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 446*c9211fa2SKever Yang reg = <0x0 0xfd890000 0x0 0x100>; 447*c9211fa2SKever Yang interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>; 448*c9211fa2SKever Yang clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 449*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 450*c9211fa2SKever Yang dmas = <&dmac0 6>, <&dmac0 7>; 451*c9211fa2SKever Yang dma-names = "tx", "rx"; 452*c9211fa2SKever Yang pinctrl-0 = <&uart0m1_xfer>; 453*c9211fa2SKever Yang pinctrl-names = "default"; 454*c9211fa2SKever Yang reg-shift = <2>; 455*c9211fa2SKever Yang reg-io-width = <4>; 456*c9211fa2SKever Yang status = "disabled"; 457*c9211fa2SKever Yang }; 458*c9211fa2SKever Yang 459*c9211fa2SKever Yang pwm0: pwm@fd8b0000 { 460*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 461*c9211fa2SKever Yang reg = <0x0 0xfd8b0000 0x0 0x10>; 462*c9211fa2SKever Yang clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 463*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 464*c9211fa2SKever Yang pinctrl-0 = <&pwm0m0_pins>; 465*c9211fa2SKever Yang pinctrl-names = "default"; 466*c9211fa2SKever Yang #pwm-cells = <3>; 467*c9211fa2SKever Yang status = "disabled"; 468*c9211fa2SKever Yang }; 469*c9211fa2SKever Yang 470*c9211fa2SKever Yang pwm1: pwm@fd8b0010 { 471*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 472*c9211fa2SKever Yang reg = <0x0 0xfd8b0010 0x0 0x10>; 473*c9211fa2SKever Yang clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 474*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 475*c9211fa2SKever Yang pinctrl-0 = <&pwm1m0_pins>; 476*c9211fa2SKever Yang pinctrl-names = "default"; 477*c9211fa2SKever Yang #pwm-cells = <3>; 478*c9211fa2SKever Yang status = "disabled"; 479*c9211fa2SKever Yang }; 480*c9211fa2SKever Yang 481*c9211fa2SKever Yang pwm2: pwm@fd8b0020 { 482*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 483*c9211fa2SKever Yang reg = <0x0 0xfd8b0020 0x0 0x10>; 484*c9211fa2SKever Yang clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 485*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 486*c9211fa2SKever Yang pinctrl-0 = <&pwm2m0_pins>; 487*c9211fa2SKever Yang pinctrl-names = "default"; 488*c9211fa2SKever Yang #pwm-cells = <3>; 489*c9211fa2SKever Yang status = "disabled"; 490*c9211fa2SKever Yang }; 491*c9211fa2SKever Yang 492*c9211fa2SKever Yang pwm3: pwm@fd8b0030 { 493*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 494*c9211fa2SKever Yang reg = <0x0 0xfd8b0030 0x0 0x10>; 495*c9211fa2SKever Yang clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 496*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 497*c9211fa2SKever Yang pinctrl-0 = <&pwm3m0_pins>; 498*c9211fa2SKever Yang pinctrl-names = "default"; 499*c9211fa2SKever Yang #pwm-cells = <3>; 500*c9211fa2SKever Yang status = "disabled"; 501*c9211fa2SKever Yang }; 502*c9211fa2SKever Yang 503*c9211fa2SKever Yang pmu: power-management@fd8d8000 { 504*c9211fa2SKever Yang compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd"; 505*c9211fa2SKever Yang reg = <0x0 0xfd8d8000 0x0 0x400>; 506*c9211fa2SKever Yang 507*c9211fa2SKever Yang power: power-controller { 508*c9211fa2SKever Yang compatible = "rockchip,rk3588-power-controller"; 509*c9211fa2SKever Yang #address-cells = <1>; 510*c9211fa2SKever Yang #power-domain-cells = <1>; 511*c9211fa2SKever Yang #size-cells = <0>; 512*c9211fa2SKever Yang status = "okay"; 513*c9211fa2SKever Yang 514*c9211fa2SKever Yang /* These power domains are grouped by VD_NPU */ 515*c9211fa2SKever Yang power-domain@RK3588_PD_NPU { 516*c9211fa2SKever Yang reg = <RK3588_PD_NPU>; 517*c9211fa2SKever Yang #power-domain-cells = <0>; 518*c9211fa2SKever Yang #address-cells = <1>; 519*c9211fa2SKever Yang #size-cells = <0>; 520*c9211fa2SKever Yang 521*c9211fa2SKever Yang power-domain@RK3588_PD_NPUTOP { 522*c9211fa2SKever Yang reg = <RK3588_PD_NPUTOP>; 523*c9211fa2SKever Yang clocks = <&cru HCLK_NPU_ROOT>, 524*c9211fa2SKever Yang <&cru PCLK_NPU_ROOT>, 525*c9211fa2SKever Yang <&cru CLK_NPU_DSU0>, 526*c9211fa2SKever Yang <&cru HCLK_NPU_CM0_ROOT>; 527*c9211fa2SKever Yang pm_qos = <&qos_npu0_mwr>, 528*c9211fa2SKever Yang <&qos_npu0_mro>, 529*c9211fa2SKever Yang <&qos_mcu_npu>; 530*c9211fa2SKever Yang #power-domain-cells = <0>; 531*c9211fa2SKever Yang #address-cells = <1>; 532*c9211fa2SKever Yang #size-cells = <0>; 533*c9211fa2SKever Yang 534*c9211fa2SKever Yang power-domain@RK3588_PD_NPU1 { 535*c9211fa2SKever Yang reg = <RK3588_PD_NPU1>; 536*c9211fa2SKever Yang clocks = <&cru HCLK_NPU_ROOT>, 537*c9211fa2SKever Yang <&cru PCLK_NPU_ROOT>, 538*c9211fa2SKever Yang <&cru CLK_NPU_DSU0>; 539*c9211fa2SKever Yang pm_qos = <&qos_npu1>; 540*c9211fa2SKever Yang #power-domain-cells = <0>; 541*c9211fa2SKever Yang }; 542*c9211fa2SKever Yang power-domain@RK3588_PD_NPU2 { 543*c9211fa2SKever Yang reg = <RK3588_PD_NPU2>; 544*c9211fa2SKever Yang clocks = <&cru HCLK_NPU_ROOT>, 545*c9211fa2SKever Yang <&cru PCLK_NPU_ROOT>, 546*c9211fa2SKever Yang <&cru CLK_NPU_DSU0>; 547*c9211fa2SKever Yang pm_qos = <&qos_npu2>; 548*c9211fa2SKever Yang #power-domain-cells = <0>; 549*c9211fa2SKever Yang }; 550*c9211fa2SKever Yang }; 551*c9211fa2SKever Yang }; 552*c9211fa2SKever Yang /* These power domains are grouped by VD_GPU */ 553*c9211fa2SKever Yang power-domain@RK3588_PD_GPU { 554*c9211fa2SKever Yang reg = <RK3588_PD_GPU>; 555*c9211fa2SKever Yang clocks = <&cru CLK_GPU>, 556*c9211fa2SKever Yang <&cru CLK_GPU_COREGROUP>, 557*c9211fa2SKever Yang <&cru CLK_GPU_STACKS>; 558*c9211fa2SKever Yang pm_qos = <&qos_gpu_m0>, 559*c9211fa2SKever Yang <&qos_gpu_m1>, 560*c9211fa2SKever Yang <&qos_gpu_m2>, 561*c9211fa2SKever Yang <&qos_gpu_m3>; 562*c9211fa2SKever Yang #power-domain-cells = <0>; 563*c9211fa2SKever Yang }; 564*c9211fa2SKever Yang /* These power domains are grouped by VD_VCODEC */ 565*c9211fa2SKever Yang power-domain@RK3588_PD_VCODEC { 566*c9211fa2SKever Yang reg = <RK3588_PD_VCODEC>; 567*c9211fa2SKever Yang #address-cells = <1>; 568*c9211fa2SKever Yang #size-cells = <0>; 569*c9211fa2SKever Yang #power-domain-cells = <0>; 570*c9211fa2SKever Yang 571*c9211fa2SKever Yang power-domain@RK3588_PD_RKVDEC0 { 572*c9211fa2SKever Yang reg = <RK3588_PD_RKVDEC0>; 573*c9211fa2SKever Yang clocks = <&cru HCLK_RKVDEC0>, 574*c9211fa2SKever Yang <&cru HCLK_VDPU_ROOT>, 575*c9211fa2SKever Yang <&cru ACLK_VDPU_ROOT>, 576*c9211fa2SKever Yang <&cru ACLK_RKVDEC0>, 577*c9211fa2SKever Yang <&cru ACLK_RKVDEC_CCU>; 578*c9211fa2SKever Yang pm_qos = <&qos_rkvdec0>; 579*c9211fa2SKever Yang #power-domain-cells = <0>; 580*c9211fa2SKever Yang }; 581*c9211fa2SKever Yang power-domain@RK3588_PD_RKVDEC1 { 582*c9211fa2SKever Yang reg = <RK3588_PD_RKVDEC1>; 583*c9211fa2SKever Yang clocks = <&cru HCLK_RKVDEC1>, 584*c9211fa2SKever Yang <&cru HCLK_VDPU_ROOT>, 585*c9211fa2SKever Yang <&cru ACLK_VDPU_ROOT>, 586*c9211fa2SKever Yang <&cru ACLK_RKVDEC1>; 587*c9211fa2SKever Yang pm_qos = <&qos_rkvdec1>; 588*c9211fa2SKever Yang #power-domain-cells = <0>; 589*c9211fa2SKever Yang }; 590*c9211fa2SKever Yang power-domain@RK3588_PD_VENC0 { 591*c9211fa2SKever Yang reg = <RK3588_PD_VENC0>; 592*c9211fa2SKever Yang clocks = <&cru HCLK_RKVENC0>, 593*c9211fa2SKever Yang <&cru ACLK_RKVENC0>; 594*c9211fa2SKever Yang pm_qos = <&qos_rkvenc0_m0ro>, 595*c9211fa2SKever Yang <&qos_rkvenc0_m1ro>, 596*c9211fa2SKever Yang <&qos_rkvenc0_m2wo>; 597*c9211fa2SKever Yang #address-cells = <1>; 598*c9211fa2SKever Yang #size-cells = <0>; 599*c9211fa2SKever Yang #power-domain-cells = <0>; 600*c9211fa2SKever Yang 601*c9211fa2SKever Yang power-domain@RK3588_PD_VENC1 { 602*c9211fa2SKever Yang reg = <RK3588_PD_VENC1>; 603*c9211fa2SKever Yang clocks = <&cru HCLK_RKVENC1>, 604*c9211fa2SKever Yang <&cru HCLK_RKVENC0>, 605*c9211fa2SKever Yang <&cru ACLK_RKVENC0>, 606*c9211fa2SKever Yang <&cru ACLK_RKVENC1>; 607*c9211fa2SKever Yang pm_qos = <&qos_rkvenc1_m0ro>, 608*c9211fa2SKever Yang <&qos_rkvenc1_m1ro>, 609*c9211fa2SKever Yang <&qos_rkvenc1_m2wo>; 610*c9211fa2SKever Yang #power-domain-cells = <0>; 611*c9211fa2SKever Yang }; 612*c9211fa2SKever Yang }; 613*c9211fa2SKever Yang }; 614*c9211fa2SKever Yang /* These power domains are grouped by VD_LOGIC */ 615*c9211fa2SKever Yang power-domain@RK3588_PD_VDPU { 616*c9211fa2SKever Yang reg = <RK3588_PD_VDPU>; 617*c9211fa2SKever Yang clocks = <&cru HCLK_VDPU_ROOT>, 618*c9211fa2SKever Yang <&cru ACLK_VDPU_LOW_ROOT>, 619*c9211fa2SKever Yang <&cru ACLK_VDPU_ROOT>, 620*c9211fa2SKever Yang <&cru ACLK_JPEG_DECODER_ROOT>, 621*c9211fa2SKever Yang <&cru ACLK_IEP2P0>, 622*c9211fa2SKever Yang <&cru HCLK_IEP2P0>, 623*c9211fa2SKever Yang <&cru ACLK_JPEG_ENCODER0>, 624*c9211fa2SKever Yang <&cru HCLK_JPEG_ENCODER0>, 625*c9211fa2SKever Yang <&cru ACLK_JPEG_ENCODER1>, 626*c9211fa2SKever Yang <&cru HCLK_JPEG_ENCODER1>, 627*c9211fa2SKever Yang <&cru ACLK_JPEG_ENCODER2>, 628*c9211fa2SKever Yang <&cru HCLK_JPEG_ENCODER2>, 629*c9211fa2SKever Yang <&cru ACLK_JPEG_ENCODER3>, 630*c9211fa2SKever Yang <&cru HCLK_JPEG_ENCODER3>, 631*c9211fa2SKever Yang <&cru ACLK_JPEG_DECODER>, 632*c9211fa2SKever Yang <&cru HCLK_JPEG_DECODER>, 633*c9211fa2SKever Yang <&cru ACLK_RGA2>, 634*c9211fa2SKever Yang <&cru HCLK_RGA2>; 635*c9211fa2SKever Yang pm_qos = <&qos_iep>, 636*c9211fa2SKever Yang <&qos_jpeg_dec>, 637*c9211fa2SKever Yang <&qos_jpeg_enc0>, 638*c9211fa2SKever Yang <&qos_jpeg_enc1>, 639*c9211fa2SKever Yang <&qos_jpeg_enc2>, 640*c9211fa2SKever Yang <&qos_jpeg_enc3>, 641*c9211fa2SKever Yang <&qos_rga2_mro>, 642*c9211fa2SKever Yang <&qos_rga2_mwo>; 643*c9211fa2SKever Yang #address-cells = <1>; 644*c9211fa2SKever Yang #size-cells = <0>; 645*c9211fa2SKever Yang #power-domain-cells = <0>; 646*c9211fa2SKever Yang 647*c9211fa2SKever Yang 648*c9211fa2SKever Yang power-domain@RK3588_PD_AV1 { 649*c9211fa2SKever Yang reg = <RK3588_PD_AV1>; 650*c9211fa2SKever Yang clocks = <&cru PCLK_AV1>, 651*c9211fa2SKever Yang <&cru ACLK_AV1>, 652*c9211fa2SKever Yang <&cru HCLK_VDPU_ROOT>; 653*c9211fa2SKever Yang pm_qos = <&qos_av1>; 654*c9211fa2SKever Yang #power-domain-cells = <0>; 655*c9211fa2SKever Yang }; 656*c9211fa2SKever Yang power-domain@RK3588_PD_RKVDEC0 { 657*c9211fa2SKever Yang reg = <RK3588_PD_RKVDEC0>; 658*c9211fa2SKever Yang clocks = <&cru HCLK_RKVDEC0>, 659*c9211fa2SKever Yang <&cru HCLK_VDPU_ROOT>, 660*c9211fa2SKever Yang <&cru ACLK_VDPU_ROOT>, 661*c9211fa2SKever Yang <&cru ACLK_RKVDEC0>; 662*c9211fa2SKever Yang pm_qos = <&qos_rkvdec0>; 663*c9211fa2SKever Yang #power-domain-cells = <0>; 664*c9211fa2SKever Yang }; 665*c9211fa2SKever Yang power-domain@RK3588_PD_RKVDEC1 { 666*c9211fa2SKever Yang reg = <RK3588_PD_RKVDEC1>; 667*c9211fa2SKever Yang clocks = <&cru HCLK_RKVDEC1>, 668*c9211fa2SKever Yang <&cru HCLK_VDPU_ROOT>, 669*c9211fa2SKever Yang <&cru ACLK_VDPU_ROOT>; 670*c9211fa2SKever Yang pm_qos = <&qos_rkvdec1>; 671*c9211fa2SKever Yang #power-domain-cells = <0>; 672*c9211fa2SKever Yang }; 673*c9211fa2SKever Yang power-domain@RK3588_PD_RGA30 { 674*c9211fa2SKever Yang reg = <RK3588_PD_RGA30>; 675*c9211fa2SKever Yang clocks = <&cru ACLK_RGA3_0>, 676*c9211fa2SKever Yang <&cru HCLK_RGA3_0>; 677*c9211fa2SKever Yang pm_qos = <&qos_rga3_0>; 678*c9211fa2SKever Yang #power-domain-cells = <0>; 679*c9211fa2SKever Yang }; 680*c9211fa2SKever Yang }; 681*c9211fa2SKever Yang power-domain@RK3588_PD_VOP { 682*c9211fa2SKever Yang reg = <RK3588_PD_VOP>; 683*c9211fa2SKever Yang clocks = <&cru PCLK_VOP_ROOT>, 684*c9211fa2SKever Yang <&cru HCLK_VOP_ROOT>, 685*c9211fa2SKever Yang <&cru ACLK_VOP>; 686*c9211fa2SKever Yang pm_qos = <&qos_vop_m0>, 687*c9211fa2SKever Yang <&qos_vop_m1>; 688*c9211fa2SKever Yang #address-cells = <1>; 689*c9211fa2SKever Yang #size-cells = <0>; 690*c9211fa2SKever Yang #power-domain-cells = <0>; 691*c9211fa2SKever Yang 692*c9211fa2SKever Yang power-domain@RK3588_PD_VO0 { 693*c9211fa2SKever Yang reg = <RK3588_PD_VO0>; 694*c9211fa2SKever Yang clocks = <&cru PCLK_VO0_ROOT>, 695*c9211fa2SKever Yang <&cru PCLK_VO0_S_ROOT>, 696*c9211fa2SKever Yang <&cru HCLK_VO0_S_ROOT>, 697*c9211fa2SKever Yang <&cru ACLK_VO0_ROOT>, 698*c9211fa2SKever Yang <&cru HCLK_HDCP0>, 699*c9211fa2SKever Yang <&cru ACLK_HDCP0>, 700*c9211fa2SKever Yang <&cru HCLK_VOP_ROOT>; 701*c9211fa2SKever Yang pm_qos = <&qos_hdcp0>; 702*c9211fa2SKever Yang #power-domain-cells = <0>; 703*c9211fa2SKever Yang }; 704*c9211fa2SKever Yang }; 705*c9211fa2SKever Yang power-domain@RK3588_PD_VO1 { 706*c9211fa2SKever Yang reg = <RK3588_PD_VO1>; 707*c9211fa2SKever Yang clocks = <&cru PCLK_VO1_ROOT>, 708*c9211fa2SKever Yang <&cru PCLK_VO1_S_ROOT>, 709*c9211fa2SKever Yang <&cru HCLK_VO1_S_ROOT>, 710*c9211fa2SKever Yang <&cru HCLK_HDCP1>, 711*c9211fa2SKever Yang <&cru ACLK_HDCP1>, 712*c9211fa2SKever Yang <&cru ACLK_HDMIRX_ROOT>, 713*c9211fa2SKever Yang <&cru HCLK_VO1USB_TOP_ROOT>; 714*c9211fa2SKever Yang pm_qos = <&qos_hdcp1>, 715*c9211fa2SKever Yang <&qos_hdmirx>; 716*c9211fa2SKever Yang #power-domain-cells = <0>; 717*c9211fa2SKever Yang }; 718*c9211fa2SKever Yang power-domain@RK3588_PD_VI { 719*c9211fa2SKever Yang reg = <RK3588_PD_VI>; 720*c9211fa2SKever Yang clocks = <&cru HCLK_VI_ROOT>, 721*c9211fa2SKever Yang <&cru PCLK_VI_ROOT>, 722*c9211fa2SKever Yang <&cru HCLK_ISP0>, 723*c9211fa2SKever Yang <&cru ACLK_ISP0>, 724*c9211fa2SKever Yang <&cru HCLK_VICAP>, 725*c9211fa2SKever Yang <&cru ACLK_VICAP>; 726*c9211fa2SKever Yang pm_qos = <&qos_isp0_mro>, 727*c9211fa2SKever Yang <&qos_isp0_mwo>, 728*c9211fa2SKever Yang <&qos_vicap_m0>, 729*c9211fa2SKever Yang <&qos_vicap_m1>; 730*c9211fa2SKever Yang #address-cells = <1>; 731*c9211fa2SKever Yang #size-cells = <0>; 732*c9211fa2SKever Yang #power-domain-cells = <0>; 733*c9211fa2SKever Yang 734*c9211fa2SKever Yang power-domain@RK3588_PD_ISP1 { 735*c9211fa2SKever Yang reg = <RK3588_PD_ISP1>; 736*c9211fa2SKever Yang clocks = <&cru HCLK_ISP1>, 737*c9211fa2SKever Yang <&cru ACLK_ISP1>, 738*c9211fa2SKever Yang <&cru HCLK_VI_ROOT>, 739*c9211fa2SKever Yang <&cru PCLK_VI_ROOT>; 740*c9211fa2SKever Yang pm_qos = <&qos_isp1_mwo>, 741*c9211fa2SKever Yang <&qos_isp1_mro>; 742*c9211fa2SKever Yang #power-domain-cells = <0>; 743*c9211fa2SKever Yang }; 744*c9211fa2SKever Yang power-domain@RK3588_PD_FEC { 745*c9211fa2SKever Yang reg = <RK3588_PD_FEC>; 746*c9211fa2SKever Yang clocks = <&cru HCLK_FISHEYE0>, 747*c9211fa2SKever Yang <&cru ACLK_FISHEYE0>, 748*c9211fa2SKever Yang <&cru HCLK_FISHEYE1>, 749*c9211fa2SKever Yang <&cru ACLK_FISHEYE1>, 750*c9211fa2SKever Yang <&cru PCLK_VI_ROOT>; 751*c9211fa2SKever Yang pm_qos = <&qos_fisheye0>, 752*c9211fa2SKever Yang <&qos_fisheye1>; 753*c9211fa2SKever Yang #power-domain-cells = <0>; 754*c9211fa2SKever Yang }; 755*c9211fa2SKever Yang }; 756*c9211fa2SKever Yang power-domain@RK3588_PD_RGA31 { 757*c9211fa2SKever Yang reg = <RK3588_PD_RGA31>; 758*c9211fa2SKever Yang clocks = <&cru HCLK_RGA3_1>, 759*c9211fa2SKever Yang <&cru ACLK_RGA3_1>; 760*c9211fa2SKever Yang pm_qos = <&qos_rga3_1>; 761*c9211fa2SKever Yang #power-domain-cells = <0>; 762*c9211fa2SKever Yang }; 763*c9211fa2SKever Yang power-domain@RK3588_PD_USB { 764*c9211fa2SKever Yang reg = <RK3588_PD_USB>; 765*c9211fa2SKever Yang clocks = <&cru PCLK_PHP_ROOT>, 766*c9211fa2SKever Yang <&cru ACLK_USB_ROOT>, 767*c9211fa2SKever Yang <&cru HCLK_USB_ROOT>, 768*c9211fa2SKever Yang <&cru HCLK_HOST0>, 769*c9211fa2SKever Yang <&cru HCLK_HOST_ARB0>, 770*c9211fa2SKever Yang <&cru HCLK_HOST1>, 771*c9211fa2SKever Yang <&cru HCLK_HOST_ARB1>; 772*c9211fa2SKever Yang pm_qos = <&qos_usb3_0>, 773*c9211fa2SKever Yang <&qos_usb3_1>, 774*c9211fa2SKever Yang <&qos_usb2host_0>, 775*c9211fa2SKever Yang <&qos_usb2host_1>; 776*c9211fa2SKever Yang #power-domain-cells = <0>; 777*c9211fa2SKever Yang }; 778*c9211fa2SKever Yang power-domain@RK3588_PD_GMAC { 779*c9211fa2SKever Yang reg = <RK3588_PD_GMAC>; 780*c9211fa2SKever Yang clocks = <&cru PCLK_PHP_ROOT>, 781*c9211fa2SKever Yang <&cru ACLK_PCIE_ROOT>, 782*c9211fa2SKever Yang <&cru ACLK_PHP_ROOT>; 783*c9211fa2SKever Yang #power-domain-cells = <0>; 784*c9211fa2SKever Yang }; 785*c9211fa2SKever Yang power-domain@RK3588_PD_PCIE { 786*c9211fa2SKever Yang reg = <RK3588_PD_PCIE>; 787*c9211fa2SKever Yang clocks = <&cru PCLK_PHP_ROOT>, 788*c9211fa2SKever Yang <&cru ACLK_PCIE_ROOT>, 789*c9211fa2SKever Yang <&cru ACLK_PHP_ROOT>; 790*c9211fa2SKever Yang #power-domain-cells = <0>; 791*c9211fa2SKever Yang }; 792*c9211fa2SKever Yang power-domain@RK3588_PD_SDIO { 793*c9211fa2SKever Yang reg = <RK3588_PD_SDIO>; 794*c9211fa2SKever Yang clocks = <&cru HCLK_SDIO>, 795*c9211fa2SKever Yang <&cru HCLK_NVM_ROOT>; 796*c9211fa2SKever Yang pm_qos = <&qos_sdio>; 797*c9211fa2SKever Yang #power-domain-cells = <0>; 798*c9211fa2SKever Yang }; 799*c9211fa2SKever Yang power-domain@RK3588_PD_AUDIO { 800*c9211fa2SKever Yang reg = <RK3588_PD_AUDIO>; 801*c9211fa2SKever Yang clocks = <&cru HCLK_AUDIO_ROOT>, 802*c9211fa2SKever Yang <&cru PCLK_AUDIO_ROOT>; 803*c9211fa2SKever Yang #power-domain-cells = <0>; 804*c9211fa2SKever Yang }; 805*c9211fa2SKever Yang power-domain@RK3588_PD_SDMMC { 806*c9211fa2SKever Yang reg = <RK3588_PD_SDMMC>; 807*c9211fa2SKever Yang pm_qos = <&qos_sdmmc>; 808*c9211fa2SKever Yang #power-domain-cells = <0>; 809*c9211fa2SKever Yang }; 810*c9211fa2SKever Yang }; 811*c9211fa2SKever Yang }; 812*c9211fa2SKever Yang 813*c9211fa2SKever Yang qos_gpu_m0: qos@fdf35000 { 814*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 815*c9211fa2SKever Yang reg = <0x0 0xfdf35000 0x0 0x20>; 816*c9211fa2SKever Yang }; 817*c9211fa2SKever Yang 818*c9211fa2SKever Yang qos_gpu_m1: qos@fdf35200 { 819*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 820*c9211fa2SKever Yang reg = <0x0 0xfdf35200 0x0 0x20>; 821*c9211fa2SKever Yang }; 822*c9211fa2SKever Yang 823*c9211fa2SKever Yang qos_gpu_m2: qos@fdf35400 { 824*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 825*c9211fa2SKever Yang reg = <0x0 0xfdf35400 0x0 0x20>; 826*c9211fa2SKever Yang }; 827*c9211fa2SKever Yang 828*c9211fa2SKever Yang qos_gpu_m3: qos@fdf35600 { 829*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 830*c9211fa2SKever Yang reg = <0x0 0xfdf35600 0x0 0x20>; 831*c9211fa2SKever Yang }; 832*c9211fa2SKever Yang 833*c9211fa2SKever Yang qos_rga3_1: qos@fdf36000 { 834*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 835*c9211fa2SKever Yang reg = <0x0 0xfdf36000 0x0 0x20>; 836*c9211fa2SKever Yang }; 837*c9211fa2SKever Yang 838*c9211fa2SKever Yang qos_sdio: qos@fdf39000 { 839*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 840*c9211fa2SKever Yang reg = <0x0 0xfdf39000 0x0 0x20>; 841*c9211fa2SKever Yang }; 842*c9211fa2SKever Yang 843*c9211fa2SKever Yang qos_sdmmc: qos@fdf3d800 { 844*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 845*c9211fa2SKever Yang reg = <0x0 0xfdf3d800 0x0 0x20>; 846*c9211fa2SKever Yang }; 847*c9211fa2SKever Yang 848*c9211fa2SKever Yang qos_usb3_1: qos@fdf3e000 { 849*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 850*c9211fa2SKever Yang reg = <0x0 0xfdf3e000 0x0 0x20>; 851*c9211fa2SKever Yang }; 852*c9211fa2SKever Yang 853*c9211fa2SKever Yang qos_usb3_0: qos@fdf3e200 { 854*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 855*c9211fa2SKever Yang reg = <0x0 0xfdf3e200 0x0 0x20>; 856*c9211fa2SKever Yang }; 857*c9211fa2SKever Yang 858*c9211fa2SKever Yang qos_usb2host_0: qos@fdf3e400 { 859*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 860*c9211fa2SKever Yang reg = <0x0 0xfdf3e400 0x0 0x20>; 861*c9211fa2SKever Yang }; 862*c9211fa2SKever Yang 863*c9211fa2SKever Yang qos_usb2host_1: qos@fdf3e600 { 864*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 865*c9211fa2SKever Yang reg = <0x0 0xfdf3e600 0x0 0x20>; 866*c9211fa2SKever Yang }; 867*c9211fa2SKever Yang 868*c9211fa2SKever Yang qos_fisheye0: qos@fdf40000 { 869*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 870*c9211fa2SKever Yang reg = <0x0 0xfdf40000 0x0 0x20>; 871*c9211fa2SKever Yang }; 872*c9211fa2SKever Yang 873*c9211fa2SKever Yang qos_fisheye1: qos@fdf40200 { 874*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 875*c9211fa2SKever Yang reg = <0x0 0xfdf40200 0x0 0x20>; 876*c9211fa2SKever Yang }; 877*c9211fa2SKever Yang 878*c9211fa2SKever Yang qos_isp0_mro: qos@fdf40400 { 879*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 880*c9211fa2SKever Yang reg = <0x0 0xfdf40400 0x0 0x20>; 881*c9211fa2SKever Yang }; 882*c9211fa2SKever Yang 883*c9211fa2SKever Yang qos_isp0_mwo: qos@fdf40500 { 884*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 885*c9211fa2SKever Yang reg = <0x0 0xfdf40500 0x0 0x20>; 886*c9211fa2SKever Yang }; 887*c9211fa2SKever Yang 888*c9211fa2SKever Yang qos_vicap_m0: qos@fdf40600 { 889*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 890*c9211fa2SKever Yang reg = <0x0 0xfdf40600 0x0 0x20>; 891*c9211fa2SKever Yang }; 892*c9211fa2SKever Yang 893*c9211fa2SKever Yang qos_vicap_m1: qos@fdf40800 { 894*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 895*c9211fa2SKever Yang reg = <0x0 0xfdf40800 0x0 0x20>; 896*c9211fa2SKever Yang }; 897*c9211fa2SKever Yang 898*c9211fa2SKever Yang qos_isp1_mwo: qos@fdf41000 { 899*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 900*c9211fa2SKever Yang reg = <0x0 0xfdf41000 0x0 0x20>; 901*c9211fa2SKever Yang }; 902*c9211fa2SKever Yang 903*c9211fa2SKever Yang qos_isp1_mro: qos@fdf41100 { 904*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 905*c9211fa2SKever Yang reg = <0x0 0xfdf41100 0x0 0x20>; 906*c9211fa2SKever Yang }; 907*c9211fa2SKever Yang 908*c9211fa2SKever Yang qos_rkvenc0_m0ro: qos@fdf60000 { 909*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 910*c9211fa2SKever Yang reg = <0x0 0xfdf60000 0x0 0x20>; 911*c9211fa2SKever Yang }; 912*c9211fa2SKever Yang 913*c9211fa2SKever Yang qos_rkvenc0_m1ro: qos@fdf60200 { 914*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 915*c9211fa2SKever Yang reg = <0x0 0xfdf60200 0x0 0x20>; 916*c9211fa2SKever Yang }; 917*c9211fa2SKever Yang 918*c9211fa2SKever Yang qos_rkvenc0_m2wo: qos@fdf60400 { 919*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 920*c9211fa2SKever Yang reg = <0x0 0xfdf60400 0x0 0x20>; 921*c9211fa2SKever Yang }; 922*c9211fa2SKever Yang 923*c9211fa2SKever Yang qos_rkvenc1_m0ro: qos@fdf61000 { 924*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 925*c9211fa2SKever Yang reg = <0x0 0xfdf61000 0x0 0x20>; 926*c9211fa2SKever Yang }; 927*c9211fa2SKever Yang 928*c9211fa2SKever Yang qos_rkvenc1_m1ro: qos@fdf61200 { 929*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 930*c9211fa2SKever Yang reg = <0x0 0xfdf61200 0x0 0x20>; 931*c9211fa2SKever Yang }; 932*c9211fa2SKever Yang 933*c9211fa2SKever Yang qos_rkvenc1_m2wo: qos@fdf61400 { 934*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 935*c9211fa2SKever Yang reg = <0x0 0xfdf61400 0x0 0x20>; 936*c9211fa2SKever Yang }; 937*c9211fa2SKever Yang 938*c9211fa2SKever Yang qos_rkvdec0: qos@fdf62000 { 939*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 940*c9211fa2SKever Yang reg = <0x0 0xfdf62000 0x0 0x20>; 941*c9211fa2SKever Yang }; 942*c9211fa2SKever Yang 943*c9211fa2SKever Yang qos_rkvdec1: qos@fdf63000 { 944*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 945*c9211fa2SKever Yang reg = <0x0 0xfdf63000 0x0 0x20>; 946*c9211fa2SKever Yang }; 947*c9211fa2SKever Yang 948*c9211fa2SKever Yang qos_av1: qos@fdf64000 { 949*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 950*c9211fa2SKever Yang reg = <0x0 0xfdf64000 0x0 0x20>; 951*c9211fa2SKever Yang }; 952*c9211fa2SKever Yang 953*c9211fa2SKever Yang qos_iep: qos@fdf66000 { 954*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 955*c9211fa2SKever Yang reg = <0x0 0xfdf66000 0x0 0x20>; 956*c9211fa2SKever Yang }; 957*c9211fa2SKever Yang 958*c9211fa2SKever Yang qos_jpeg_dec: qos@fdf66200 { 959*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 960*c9211fa2SKever Yang reg = <0x0 0xfdf66200 0x0 0x20>; 961*c9211fa2SKever Yang }; 962*c9211fa2SKever Yang 963*c9211fa2SKever Yang qos_jpeg_enc0: qos@fdf66400 { 964*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 965*c9211fa2SKever Yang reg = <0x0 0xfdf66400 0x0 0x20>; 966*c9211fa2SKever Yang }; 967*c9211fa2SKever Yang 968*c9211fa2SKever Yang qos_jpeg_enc1: qos@fdf66600 { 969*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 970*c9211fa2SKever Yang reg = <0x0 0xfdf66600 0x0 0x20>; 971*c9211fa2SKever Yang }; 972*c9211fa2SKever Yang 973*c9211fa2SKever Yang qos_jpeg_enc2: qos@fdf66800 { 974*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 975*c9211fa2SKever Yang reg = <0x0 0xfdf66800 0x0 0x20>; 976*c9211fa2SKever Yang }; 977*c9211fa2SKever Yang 978*c9211fa2SKever Yang qos_jpeg_enc3: qos@fdf66a00 { 979*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 980*c9211fa2SKever Yang reg = <0x0 0xfdf66a00 0x0 0x20>; 981*c9211fa2SKever Yang }; 982*c9211fa2SKever Yang 983*c9211fa2SKever Yang qos_rga2_mro: qos@fdf66c00 { 984*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 985*c9211fa2SKever Yang reg = <0x0 0xfdf66c00 0x0 0x20>; 986*c9211fa2SKever Yang }; 987*c9211fa2SKever Yang 988*c9211fa2SKever Yang qos_rga2_mwo: qos@fdf66e00 { 989*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 990*c9211fa2SKever Yang reg = <0x0 0xfdf66e00 0x0 0x20>; 991*c9211fa2SKever Yang }; 992*c9211fa2SKever Yang 993*c9211fa2SKever Yang qos_rga3_0: qos@fdf67000 { 994*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 995*c9211fa2SKever Yang reg = <0x0 0xfdf67000 0x0 0x20>; 996*c9211fa2SKever Yang }; 997*c9211fa2SKever Yang 998*c9211fa2SKever Yang qos_vdpu: qos@fdf67200 { 999*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1000*c9211fa2SKever Yang reg = <0x0 0xfdf67200 0x0 0x20>; 1001*c9211fa2SKever Yang }; 1002*c9211fa2SKever Yang 1003*c9211fa2SKever Yang qos_npu1: qos@fdf70000 { 1004*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1005*c9211fa2SKever Yang reg = <0x0 0xfdf70000 0x0 0x20>; 1006*c9211fa2SKever Yang }; 1007*c9211fa2SKever Yang 1008*c9211fa2SKever Yang qos_npu2: qos@fdf71000 { 1009*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1010*c9211fa2SKever Yang reg = <0x0 0xfdf71000 0x0 0x20>; 1011*c9211fa2SKever Yang }; 1012*c9211fa2SKever Yang 1013*c9211fa2SKever Yang qos_npu0_mwr: qos@fdf72000 { 1014*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1015*c9211fa2SKever Yang reg = <0x0 0xfdf72000 0x0 0x20>; 1016*c9211fa2SKever Yang }; 1017*c9211fa2SKever Yang 1018*c9211fa2SKever Yang qos_npu0_mro: qos@fdf72200 { 1019*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1020*c9211fa2SKever Yang reg = <0x0 0xfdf72200 0x0 0x20>; 1021*c9211fa2SKever Yang }; 1022*c9211fa2SKever Yang 1023*c9211fa2SKever Yang qos_mcu_npu: qos@fdf72400 { 1024*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1025*c9211fa2SKever Yang reg = <0x0 0xfdf72400 0x0 0x20>; 1026*c9211fa2SKever Yang }; 1027*c9211fa2SKever Yang 1028*c9211fa2SKever Yang qos_hdcp0: qos@fdf80000 { 1029*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1030*c9211fa2SKever Yang reg = <0x0 0xfdf80000 0x0 0x20>; 1031*c9211fa2SKever Yang }; 1032*c9211fa2SKever Yang 1033*c9211fa2SKever Yang qos_hdcp1: qos@fdf81000 { 1034*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1035*c9211fa2SKever Yang reg = <0x0 0xfdf81000 0x0 0x20>; 1036*c9211fa2SKever Yang }; 1037*c9211fa2SKever Yang 1038*c9211fa2SKever Yang qos_hdmirx: qos@fdf81200 { 1039*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1040*c9211fa2SKever Yang reg = <0x0 0xfdf81200 0x0 0x20>; 1041*c9211fa2SKever Yang }; 1042*c9211fa2SKever Yang 1043*c9211fa2SKever Yang qos_vop_m0: qos@fdf82000 { 1044*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1045*c9211fa2SKever Yang reg = <0x0 0xfdf82000 0x0 0x20>; 1046*c9211fa2SKever Yang }; 1047*c9211fa2SKever Yang 1048*c9211fa2SKever Yang qos_vop_m1: qos@fdf82200 { 1049*c9211fa2SKever Yang compatible = "rockchip,rk3588-qos", "syscon"; 1050*c9211fa2SKever Yang reg = <0x0 0xfdf82200 0x0 0x20>; 1051*c9211fa2SKever Yang }; 1052*c9211fa2SKever Yang 1053*c9211fa2SKever Yang gmac1: ethernet@fe1c0000 { 1054*c9211fa2SKever Yang compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a"; 1055*c9211fa2SKever Yang reg = <0x0 0xfe1c0000 0x0 0x10000>; 1056*c9211fa2SKever Yang interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH 0>, 1057*c9211fa2SKever Yang <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>; 1058*c9211fa2SKever Yang interrupt-names = "macirq", "eth_wake_irq"; 1059*c9211fa2SKever Yang clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>, 1060*c9211fa2SKever Yang <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>, 1061*c9211fa2SKever Yang <&cru CLK_GMAC1_PTP_REF>; 1062*c9211fa2SKever Yang clock-names = "stmmaceth", "clk_mac_ref", 1063*c9211fa2SKever Yang "pclk_mac", "aclk_mac", 1064*c9211fa2SKever Yang "ptp_ref"; 1065*c9211fa2SKever Yang power-domains = <&power RK3588_PD_GMAC>; 1066*c9211fa2SKever Yang resets = <&cru SRST_A_GMAC1>; 1067*c9211fa2SKever Yang reset-names = "stmmaceth"; 1068*c9211fa2SKever Yang rockchip,grf = <&sys_grf>; 1069*c9211fa2SKever Yang rockchip,php-grf = <&php_grf>; 1070*c9211fa2SKever Yang snps,axi-config = <&gmac1_stmmac_axi_setup>; 1071*c9211fa2SKever Yang snps,mixed-burst; 1072*c9211fa2SKever Yang snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 1073*c9211fa2SKever Yang snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 1074*c9211fa2SKever Yang snps,tso; 1075*c9211fa2SKever Yang status = "disabled"; 1076*c9211fa2SKever Yang 1077*c9211fa2SKever Yang mdio1: mdio { 1078*c9211fa2SKever Yang compatible = "snps,dwmac-mdio"; 1079*c9211fa2SKever Yang #address-cells = <0x1>; 1080*c9211fa2SKever Yang #size-cells = <0x0>; 1081*c9211fa2SKever Yang }; 1082*c9211fa2SKever Yang 1083*c9211fa2SKever Yang gmac1_stmmac_axi_setup: stmmac-axi-config { 1084*c9211fa2SKever Yang snps,blen = <0 0 0 0 16 8 4>; 1085*c9211fa2SKever Yang snps,wr_osr_lmt = <4>; 1086*c9211fa2SKever Yang snps,rd_osr_lmt = <8>; 1087*c9211fa2SKever Yang }; 1088*c9211fa2SKever Yang 1089*c9211fa2SKever Yang gmac1_mtl_rx_setup: rx-queues-config { 1090*c9211fa2SKever Yang snps,rx-queues-to-use = <2>; 1091*c9211fa2SKever Yang queue0 {}; 1092*c9211fa2SKever Yang queue1 {}; 1093*c9211fa2SKever Yang }; 1094*c9211fa2SKever Yang 1095*c9211fa2SKever Yang gmac1_mtl_tx_setup: tx-queues-config { 1096*c9211fa2SKever Yang snps,tx-queues-to-use = <2>; 1097*c9211fa2SKever Yang queue0 {}; 1098*c9211fa2SKever Yang queue1 {}; 1099*c9211fa2SKever Yang }; 1100*c9211fa2SKever Yang }; 1101*c9211fa2SKever Yang 1102*c9211fa2SKever Yang sdhci: mmc@fe2e0000 { 1103*c9211fa2SKever Yang compatible = "rockchip,rk3588-dwcmshc"; 1104*c9211fa2SKever Yang reg = <0x0 0xfe2e0000 0x0 0x10000>; 1105*c9211fa2SKever Yang interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>; 1106*c9211fa2SKever Yang assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>, <&cru CCLK_EMMC>; 1107*c9211fa2SKever Yang assigned-clock-rates = <200000000>, <24000000>, <200000000>; 1108*c9211fa2SKever Yang clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 1109*c9211fa2SKever Yang <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 1110*c9211fa2SKever Yang <&cru TMCLK_EMMC>; 1111*c9211fa2SKever Yang clock-names = "core", "bus", "axi", "block", "timer"; 1112*c9211fa2SKever Yang max-frequency = <200000000>; 1113*c9211fa2SKever Yang resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>, 1114*c9211fa2SKever Yang <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>, 1115*c9211fa2SKever Yang <&cru SRST_T_EMMC>; 1116*c9211fa2SKever Yang reset-names = "core", "bus", "axi", "block", "timer"; 1117*c9211fa2SKever Yang status = "disabled"; 1118*c9211fa2SKever Yang }; 1119*c9211fa2SKever Yang 1120*c9211fa2SKever Yang gic: interrupt-controller@fe600000 { 1121*c9211fa2SKever Yang compatible = "arm,gic-v3"; 1122*c9211fa2SKever Yang reg = <0x0 0xfe600000 0 0x10000>, /* GICD */ 1123*c9211fa2SKever Yang <0x0 0xfe680000 0 0x100000>; /* GICR */ 1124*c9211fa2SKever Yang interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 1125*c9211fa2SKever Yang interrupt-controller; 1126*c9211fa2SKever Yang mbi-alias = <0x0 0xfe610000>; 1127*c9211fa2SKever Yang mbi-ranges = <424 56>; 1128*c9211fa2SKever Yang msi-controller; 1129*c9211fa2SKever Yang #interrupt-cells = <4>; 1130*c9211fa2SKever Yang 1131*c9211fa2SKever Yang ppi-partitions { 1132*c9211fa2SKever Yang ppi_partition0: interrupt-partition-0 { 1133*c9211fa2SKever Yang affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>; 1134*c9211fa2SKever Yang }; 1135*c9211fa2SKever Yang 1136*c9211fa2SKever Yang ppi_partition1: interrupt-partition-1 { 1137*c9211fa2SKever Yang affinity = <&cpu_b0 &cpu_b1 &cpu_b2 &cpu_b3>; 1138*c9211fa2SKever Yang }; 1139*c9211fa2SKever Yang }; 1140*c9211fa2SKever Yang }; 1141*c9211fa2SKever Yang 1142*c9211fa2SKever Yang dmac0: dma-controller@fea10000 { 1143*c9211fa2SKever Yang compatible = "arm,pl330", "arm,primecell"; 1144*c9211fa2SKever Yang reg = <0x0 0xfea10000 0x0 0x4000>; 1145*c9211fa2SKever Yang interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH 0>, 1146*c9211fa2SKever Yang <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH 0>; 1147*c9211fa2SKever Yang arm,pl330-periph-burst; 1148*c9211fa2SKever Yang clocks = <&cru ACLK_DMAC0>; 1149*c9211fa2SKever Yang clock-names = "apb_pclk"; 1150*c9211fa2SKever Yang #dma-cells = <1>; 1151*c9211fa2SKever Yang }; 1152*c9211fa2SKever Yang 1153*c9211fa2SKever Yang dmac1: dma-controller@fea30000 { 1154*c9211fa2SKever Yang compatible = "arm,pl330", "arm,primecell"; 1155*c9211fa2SKever Yang reg = <0x0 0xfea30000 0x0 0x4000>; 1156*c9211fa2SKever Yang interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH 0>, 1157*c9211fa2SKever Yang <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH 0>; 1158*c9211fa2SKever Yang arm,pl330-periph-burst; 1159*c9211fa2SKever Yang clocks = <&cru ACLK_DMAC1>; 1160*c9211fa2SKever Yang clock-names = "apb_pclk"; 1161*c9211fa2SKever Yang #dma-cells = <1>; 1162*c9211fa2SKever Yang }; 1163*c9211fa2SKever Yang 1164*c9211fa2SKever Yang i2c1: i2c@fea90000 { 1165*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1166*c9211fa2SKever Yang reg = <0x0 0xfea90000 0x0 0x1000>; 1167*c9211fa2SKever Yang clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1168*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1169*c9211fa2SKever Yang interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>; 1170*c9211fa2SKever Yang pinctrl-0 = <&i2c1m0_xfer>; 1171*c9211fa2SKever Yang pinctrl-names = "default"; 1172*c9211fa2SKever Yang #address-cells = <1>; 1173*c9211fa2SKever Yang #size-cells = <0>; 1174*c9211fa2SKever Yang status = "disabled"; 1175*c9211fa2SKever Yang }; 1176*c9211fa2SKever Yang 1177*c9211fa2SKever Yang i2c2: i2c@feaa0000 { 1178*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1179*c9211fa2SKever Yang reg = <0x0 0xfeaa0000 0x0 0x1000>; 1180*c9211fa2SKever Yang clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1181*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1182*c9211fa2SKever Yang interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>; 1183*c9211fa2SKever Yang pinctrl-0 = <&i2c2m0_xfer>; 1184*c9211fa2SKever Yang pinctrl-names = "default"; 1185*c9211fa2SKever Yang #address-cells = <1>; 1186*c9211fa2SKever Yang #size-cells = <0>; 1187*c9211fa2SKever Yang status = "disabled"; 1188*c9211fa2SKever Yang }; 1189*c9211fa2SKever Yang 1190*c9211fa2SKever Yang i2c3: i2c@feab0000 { 1191*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1192*c9211fa2SKever Yang reg = <0x0 0xfeab0000 0x0 0x1000>; 1193*c9211fa2SKever Yang clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1194*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1195*c9211fa2SKever Yang interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>; 1196*c9211fa2SKever Yang pinctrl-0 = <&i2c3m0_xfer>; 1197*c9211fa2SKever Yang pinctrl-names = "default"; 1198*c9211fa2SKever Yang #address-cells = <1>; 1199*c9211fa2SKever Yang #size-cells = <0>; 1200*c9211fa2SKever Yang status = "disabled"; 1201*c9211fa2SKever Yang }; 1202*c9211fa2SKever Yang 1203*c9211fa2SKever Yang i2c4: i2c@feac0000 { 1204*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1205*c9211fa2SKever Yang reg = <0x0 0xfeac0000 0x0 0x1000>; 1206*c9211fa2SKever Yang clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1207*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1208*c9211fa2SKever Yang interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>; 1209*c9211fa2SKever Yang pinctrl-0 = <&i2c4m0_xfer>; 1210*c9211fa2SKever Yang pinctrl-names = "default"; 1211*c9211fa2SKever Yang #address-cells = <1>; 1212*c9211fa2SKever Yang #size-cells = <0>; 1213*c9211fa2SKever Yang status = "disabled"; 1214*c9211fa2SKever Yang }; 1215*c9211fa2SKever Yang 1216*c9211fa2SKever Yang i2c5: i2c@fead0000 { 1217*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1218*c9211fa2SKever Yang reg = <0x0 0xfead0000 0x0 0x1000>; 1219*c9211fa2SKever Yang clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1220*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1221*c9211fa2SKever Yang interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>; 1222*c9211fa2SKever Yang pinctrl-0 = <&i2c5m0_xfer>; 1223*c9211fa2SKever Yang pinctrl-names = "default"; 1224*c9211fa2SKever Yang #address-cells = <1>; 1225*c9211fa2SKever Yang #size-cells = <0>; 1226*c9211fa2SKever Yang status = "disabled"; 1227*c9211fa2SKever Yang }; 1228*c9211fa2SKever Yang 1229*c9211fa2SKever Yang spi0: spi@feb00000 { 1230*c9211fa2SKever Yang compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1231*c9211fa2SKever Yang reg = <0x0 0xfeb00000 0x0 0x1000>; 1232*c9211fa2SKever Yang interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>; 1233*c9211fa2SKever Yang clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 1234*c9211fa2SKever Yang clock-names = "spiclk", "apb_pclk"; 1235*c9211fa2SKever Yang dmas = <&dmac0 14>, <&dmac0 15>; 1236*c9211fa2SKever Yang dma-names = "tx", "rx"; 1237*c9211fa2SKever Yang num-cs = <2>; 1238*c9211fa2SKever Yang pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>; 1239*c9211fa2SKever Yang pinctrl-names = "default"; 1240*c9211fa2SKever Yang #address-cells = <1>; 1241*c9211fa2SKever Yang #size-cells = <0>; 1242*c9211fa2SKever Yang status = "disabled"; 1243*c9211fa2SKever Yang }; 1244*c9211fa2SKever Yang 1245*c9211fa2SKever Yang spi1: spi@feb10000 { 1246*c9211fa2SKever Yang compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1247*c9211fa2SKever Yang reg = <0x0 0xfeb10000 0x0 0x1000>; 1248*c9211fa2SKever Yang interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>; 1249*c9211fa2SKever Yang clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 1250*c9211fa2SKever Yang clock-names = "spiclk", "apb_pclk"; 1251*c9211fa2SKever Yang dmas = <&dmac0 16>, <&dmac0 17>; 1252*c9211fa2SKever Yang dma-names = "tx", "rx"; 1253*c9211fa2SKever Yang num-cs = <2>; 1254*c9211fa2SKever Yang pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>; 1255*c9211fa2SKever Yang pinctrl-names = "default"; 1256*c9211fa2SKever Yang #address-cells = <1>; 1257*c9211fa2SKever Yang #size-cells = <0>; 1258*c9211fa2SKever Yang status = "disabled"; 1259*c9211fa2SKever Yang }; 1260*c9211fa2SKever Yang 1261*c9211fa2SKever Yang spi2: spi@feb20000 { 1262*c9211fa2SKever Yang compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1263*c9211fa2SKever Yang reg = <0x0 0xfeb20000 0x0 0x1000>; 1264*c9211fa2SKever Yang interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>; 1265*c9211fa2SKever Yang clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 1266*c9211fa2SKever Yang clock-names = "spiclk", "apb_pclk"; 1267*c9211fa2SKever Yang dmas = <&dmac1 15>, <&dmac1 16>; 1268*c9211fa2SKever Yang dma-names = "tx", "rx"; 1269*c9211fa2SKever Yang num-cs = <2>; 1270*c9211fa2SKever Yang pinctrl-0 = <&spi2m2_cs0 &spi2m2_cs1 &spi2m2_pins>; 1271*c9211fa2SKever Yang pinctrl-names = "default"; 1272*c9211fa2SKever Yang #address-cells = <1>; 1273*c9211fa2SKever Yang #size-cells = <0>; 1274*c9211fa2SKever Yang status = "disabled"; 1275*c9211fa2SKever Yang }; 1276*c9211fa2SKever Yang 1277*c9211fa2SKever Yang spi3: spi@feb30000 { 1278*c9211fa2SKever Yang compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1279*c9211fa2SKever Yang reg = <0x0 0xfeb30000 0x0 0x1000>; 1280*c9211fa2SKever Yang interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>; 1281*c9211fa2SKever Yang clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 1282*c9211fa2SKever Yang clock-names = "spiclk", "apb_pclk"; 1283*c9211fa2SKever Yang dmas = <&dmac1 17>, <&dmac1 18>; 1284*c9211fa2SKever Yang dma-names = "tx", "rx"; 1285*c9211fa2SKever Yang num-cs = <2>; 1286*c9211fa2SKever Yang pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>; 1287*c9211fa2SKever Yang pinctrl-names = "default"; 1288*c9211fa2SKever Yang #address-cells = <1>; 1289*c9211fa2SKever Yang #size-cells = <0>; 1290*c9211fa2SKever Yang status = "disabled"; 1291*c9211fa2SKever Yang }; 1292*c9211fa2SKever Yang 1293*c9211fa2SKever Yang uart1: serial@feb40000 { 1294*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1295*c9211fa2SKever Yang reg = <0x0 0xfeb40000 0x0 0x100>; 1296*c9211fa2SKever Yang interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>; 1297*c9211fa2SKever Yang clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1298*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1299*c9211fa2SKever Yang dmas = <&dmac0 8>, <&dmac0 9>; 1300*c9211fa2SKever Yang dma-names = "tx", "rx"; 1301*c9211fa2SKever Yang pinctrl-0 = <&uart1m1_xfer>; 1302*c9211fa2SKever Yang pinctrl-names = "default"; 1303*c9211fa2SKever Yang reg-io-width = <4>; 1304*c9211fa2SKever Yang reg-shift = <2>; 1305*c9211fa2SKever Yang status = "disabled"; 1306*c9211fa2SKever Yang }; 1307*c9211fa2SKever Yang 1308*c9211fa2SKever Yang uart2: serial@feb50000 { 1309*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1310*c9211fa2SKever Yang reg = <0x0 0xfeb50000 0x0 0x100>; 1311*c9211fa2SKever Yang interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>; 1312*c9211fa2SKever Yang clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1313*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1314*c9211fa2SKever Yang dmas = <&dmac0 10>, <&dmac0 11>; 1315*c9211fa2SKever Yang dma-names = "tx", "rx"; 1316*c9211fa2SKever Yang pinctrl-0 = <&uart2m1_xfer>; 1317*c9211fa2SKever Yang pinctrl-names = "default"; 1318*c9211fa2SKever Yang reg-io-width = <4>; 1319*c9211fa2SKever Yang reg-shift = <2>; 1320*c9211fa2SKever Yang status = "disabled"; 1321*c9211fa2SKever Yang }; 1322*c9211fa2SKever Yang 1323*c9211fa2SKever Yang uart3: serial@feb60000 { 1324*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1325*c9211fa2SKever Yang reg = <0x0 0xfeb60000 0x0 0x100>; 1326*c9211fa2SKever Yang interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>; 1327*c9211fa2SKever Yang clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1328*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1329*c9211fa2SKever Yang dmas = <&dmac0 12>, <&dmac0 13>; 1330*c9211fa2SKever Yang dma-names = "tx", "rx"; 1331*c9211fa2SKever Yang pinctrl-0 = <&uart3m1_xfer>; 1332*c9211fa2SKever Yang pinctrl-names = "default"; 1333*c9211fa2SKever Yang reg-io-width = <4>; 1334*c9211fa2SKever Yang reg-shift = <2>; 1335*c9211fa2SKever Yang status = "disabled"; 1336*c9211fa2SKever Yang }; 1337*c9211fa2SKever Yang 1338*c9211fa2SKever Yang uart4: serial@feb70000 { 1339*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1340*c9211fa2SKever Yang reg = <0x0 0xfeb70000 0x0 0x100>; 1341*c9211fa2SKever Yang interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>; 1342*c9211fa2SKever Yang clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1343*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1344*c9211fa2SKever Yang dmas = <&dmac1 9>, <&dmac1 10>; 1345*c9211fa2SKever Yang dma-names = "tx", "rx"; 1346*c9211fa2SKever Yang pinctrl-0 = <&uart4m1_xfer>; 1347*c9211fa2SKever Yang pinctrl-names = "default"; 1348*c9211fa2SKever Yang reg-io-width = <4>; 1349*c9211fa2SKever Yang reg-shift = <2>; 1350*c9211fa2SKever Yang status = "disabled"; 1351*c9211fa2SKever Yang }; 1352*c9211fa2SKever Yang 1353*c9211fa2SKever Yang uart5: serial@feb80000 { 1354*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1355*c9211fa2SKever Yang reg = <0x0 0xfeb80000 0x0 0x100>; 1356*c9211fa2SKever Yang interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>; 1357*c9211fa2SKever Yang clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1358*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1359*c9211fa2SKever Yang dmas = <&dmac1 11>, <&dmac1 12>; 1360*c9211fa2SKever Yang dma-names = "tx", "rx"; 1361*c9211fa2SKever Yang pinctrl-0 = <&uart5m1_xfer>; 1362*c9211fa2SKever Yang pinctrl-names = "default"; 1363*c9211fa2SKever Yang reg-io-width = <4>; 1364*c9211fa2SKever Yang reg-shift = <2>; 1365*c9211fa2SKever Yang status = "disabled"; 1366*c9211fa2SKever Yang }; 1367*c9211fa2SKever Yang 1368*c9211fa2SKever Yang uart6: serial@feb90000 { 1369*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1370*c9211fa2SKever Yang reg = <0x0 0xfeb90000 0x0 0x100>; 1371*c9211fa2SKever Yang interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>; 1372*c9211fa2SKever Yang clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 1373*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1374*c9211fa2SKever Yang dmas = <&dmac1 13>, <&dmac1 14>; 1375*c9211fa2SKever Yang dma-names = "tx", "rx"; 1376*c9211fa2SKever Yang pinctrl-0 = <&uart6m1_xfer>; 1377*c9211fa2SKever Yang pinctrl-names = "default"; 1378*c9211fa2SKever Yang reg-io-width = <4>; 1379*c9211fa2SKever Yang reg-shift = <2>; 1380*c9211fa2SKever Yang status = "disabled"; 1381*c9211fa2SKever Yang }; 1382*c9211fa2SKever Yang 1383*c9211fa2SKever Yang uart7: serial@feba0000 { 1384*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1385*c9211fa2SKever Yang reg = <0x0 0xfeba0000 0x0 0x100>; 1386*c9211fa2SKever Yang interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>; 1387*c9211fa2SKever Yang clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 1388*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1389*c9211fa2SKever Yang dmas = <&dmac2 7>, <&dmac2 8>; 1390*c9211fa2SKever Yang dma-names = "tx", "rx"; 1391*c9211fa2SKever Yang pinctrl-0 = <&uart7m1_xfer>; 1392*c9211fa2SKever Yang pinctrl-names = "default"; 1393*c9211fa2SKever Yang reg-io-width = <4>; 1394*c9211fa2SKever Yang reg-shift = <2>; 1395*c9211fa2SKever Yang status = "disabled"; 1396*c9211fa2SKever Yang }; 1397*c9211fa2SKever Yang 1398*c9211fa2SKever Yang uart8: serial@febb0000 { 1399*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1400*c9211fa2SKever Yang reg = <0x0 0xfebb0000 0x0 0x100>; 1401*c9211fa2SKever Yang interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>; 1402*c9211fa2SKever Yang clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 1403*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1404*c9211fa2SKever Yang dmas = <&dmac2 9>, <&dmac2 10>; 1405*c9211fa2SKever Yang dma-names = "tx", "rx"; 1406*c9211fa2SKever Yang pinctrl-0 = <&uart8m1_xfer>; 1407*c9211fa2SKever Yang pinctrl-names = "default"; 1408*c9211fa2SKever Yang reg-io-width = <4>; 1409*c9211fa2SKever Yang reg-shift = <2>; 1410*c9211fa2SKever Yang status = "disabled"; 1411*c9211fa2SKever Yang }; 1412*c9211fa2SKever Yang 1413*c9211fa2SKever Yang uart9: serial@febc0000 { 1414*c9211fa2SKever Yang compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1415*c9211fa2SKever Yang reg = <0x0 0xfebc0000 0x0 0x100>; 1416*c9211fa2SKever Yang interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>; 1417*c9211fa2SKever Yang clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 1418*c9211fa2SKever Yang clock-names = "baudclk", "apb_pclk"; 1419*c9211fa2SKever Yang dmas = <&dmac2 11>, <&dmac2 12>; 1420*c9211fa2SKever Yang dma-names = "tx", "rx"; 1421*c9211fa2SKever Yang pinctrl-0 = <&uart9m1_xfer>; 1422*c9211fa2SKever Yang pinctrl-names = "default"; 1423*c9211fa2SKever Yang reg-io-width = <4>; 1424*c9211fa2SKever Yang reg-shift = <2>; 1425*c9211fa2SKever Yang status = "disabled"; 1426*c9211fa2SKever Yang }; 1427*c9211fa2SKever Yang 1428*c9211fa2SKever Yang pwm4: pwm@febd0000 { 1429*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1430*c9211fa2SKever Yang reg = <0x0 0xfebd0000 0x0 0x10>; 1431*c9211fa2SKever Yang clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1432*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1433*c9211fa2SKever Yang pinctrl-0 = <&pwm4m0_pins>; 1434*c9211fa2SKever Yang pinctrl-names = "default"; 1435*c9211fa2SKever Yang #pwm-cells = <3>; 1436*c9211fa2SKever Yang status = "disabled"; 1437*c9211fa2SKever Yang }; 1438*c9211fa2SKever Yang 1439*c9211fa2SKever Yang pwm5: pwm@febd0010 { 1440*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1441*c9211fa2SKever Yang reg = <0x0 0xfebd0010 0x0 0x10>; 1442*c9211fa2SKever Yang clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1443*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1444*c9211fa2SKever Yang pinctrl-0 = <&pwm5m0_pins>; 1445*c9211fa2SKever Yang pinctrl-names = "default"; 1446*c9211fa2SKever Yang #pwm-cells = <3>; 1447*c9211fa2SKever Yang status = "disabled"; 1448*c9211fa2SKever Yang }; 1449*c9211fa2SKever Yang 1450*c9211fa2SKever Yang pwm6: pwm@febd0020 { 1451*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1452*c9211fa2SKever Yang reg = <0x0 0xfebd0020 0x0 0x10>; 1453*c9211fa2SKever Yang clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1454*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1455*c9211fa2SKever Yang pinctrl-0 = <&pwm6m0_pins>; 1456*c9211fa2SKever Yang pinctrl-names = "default"; 1457*c9211fa2SKever Yang #pwm-cells = <3>; 1458*c9211fa2SKever Yang status = "disabled"; 1459*c9211fa2SKever Yang }; 1460*c9211fa2SKever Yang 1461*c9211fa2SKever Yang pwm7: pwm@febd0030 { 1462*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1463*c9211fa2SKever Yang reg = <0x0 0xfebd0030 0x0 0x10>; 1464*c9211fa2SKever Yang clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1465*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1466*c9211fa2SKever Yang pinctrl-0 = <&pwm7m0_pins>; 1467*c9211fa2SKever Yang pinctrl-names = "default"; 1468*c9211fa2SKever Yang #pwm-cells = <3>; 1469*c9211fa2SKever Yang status = "disabled"; 1470*c9211fa2SKever Yang }; 1471*c9211fa2SKever Yang 1472*c9211fa2SKever Yang pwm8: pwm@febe0000 { 1473*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1474*c9211fa2SKever Yang reg = <0x0 0xfebe0000 0x0 0x10>; 1475*c9211fa2SKever Yang clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1476*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1477*c9211fa2SKever Yang pinctrl-0 = <&pwm8m0_pins>; 1478*c9211fa2SKever Yang pinctrl-names = "default"; 1479*c9211fa2SKever Yang #pwm-cells = <3>; 1480*c9211fa2SKever Yang status = "disabled"; 1481*c9211fa2SKever Yang }; 1482*c9211fa2SKever Yang 1483*c9211fa2SKever Yang pwm9: pwm@febe0010 { 1484*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1485*c9211fa2SKever Yang reg = <0x0 0xfebe0010 0x0 0x10>; 1486*c9211fa2SKever Yang clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1487*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1488*c9211fa2SKever Yang pinctrl-0 = <&pwm9m0_pins>; 1489*c9211fa2SKever Yang pinctrl-names = "default"; 1490*c9211fa2SKever Yang #pwm-cells = <3>; 1491*c9211fa2SKever Yang status = "disabled"; 1492*c9211fa2SKever Yang }; 1493*c9211fa2SKever Yang 1494*c9211fa2SKever Yang pwm10: pwm@febe0020 { 1495*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1496*c9211fa2SKever Yang reg = <0x0 0xfebe0020 0x0 0x10>; 1497*c9211fa2SKever Yang clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1498*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1499*c9211fa2SKever Yang pinctrl-0 = <&pwm10m0_pins>; 1500*c9211fa2SKever Yang pinctrl-names = "default"; 1501*c9211fa2SKever Yang #pwm-cells = <3>; 1502*c9211fa2SKever Yang status = "disabled"; 1503*c9211fa2SKever Yang }; 1504*c9211fa2SKever Yang 1505*c9211fa2SKever Yang pwm11: pwm@febe0030 { 1506*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1507*c9211fa2SKever Yang reg = <0x0 0xfebe0030 0x0 0x10>; 1508*c9211fa2SKever Yang clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 1509*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1510*c9211fa2SKever Yang pinctrl-0 = <&pwm11m0_pins>; 1511*c9211fa2SKever Yang pinctrl-names = "default"; 1512*c9211fa2SKever Yang #pwm-cells = <3>; 1513*c9211fa2SKever Yang status = "disabled"; 1514*c9211fa2SKever Yang }; 1515*c9211fa2SKever Yang 1516*c9211fa2SKever Yang pwm12: pwm@febf0000 { 1517*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1518*c9211fa2SKever Yang reg = <0x0 0xfebf0000 0x0 0x10>; 1519*c9211fa2SKever Yang clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1520*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1521*c9211fa2SKever Yang pinctrl-0 = <&pwm12m0_pins>; 1522*c9211fa2SKever Yang pinctrl-names = "default"; 1523*c9211fa2SKever Yang #pwm-cells = <3>; 1524*c9211fa2SKever Yang status = "disabled"; 1525*c9211fa2SKever Yang }; 1526*c9211fa2SKever Yang 1527*c9211fa2SKever Yang pwm13: pwm@febf0010 { 1528*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1529*c9211fa2SKever Yang reg = <0x0 0xfebf0010 0x0 0x10>; 1530*c9211fa2SKever Yang clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1531*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1532*c9211fa2SKever Yang pinctrl-0 = <&pwm13m0_pins>; 1533*c9211fa2SKever Yang pinctrl-names = "default"; 1534*c9211fa2SKever Yang #pwm-cells = <3>; 1535*c9211fa2SKever Yang status = "disabled"; 1536*c9211fa2SKever Yang }; 1537*c9211fa2SKever Yang 1538*c9211fa2SKever Yang pwm14: pwm@febf0020 { 1539*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1540*c9211fa2SKever Yang reg = <0x0 0xfebf0020 0x0 0x10>; 1541*c9211fa2SKever Yang clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1542*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1543*c9211fa2SKever Yang pinctrl-0 = <&pwm14m0_pins>; 1544*c9211fa2SKever Yang pinctrl-names = "default"; 1545*c9211fa2SKever Yang #pwm-cells = <3>; 1546*c9211fa2SKever Yang status = "disabled"; 1547*c9211fa2SKever Yang }; 1548*c9211fa2SKever Yang 1549*c9211fa2SKever Yang pwm15: pwm@febf0030 { 1550*c9211fa2SKever Yang compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1551*c9211fa2SKever Yang reg = <0x0 0xfebf0030 0x0 0x10>; 1552*c9211fa2SKever Yang clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1553*c9211fa2SKever Yang clock-names = "pwm", "pclk"; 1554*c9211fa2SKever Yang pinctrl-0 = <&pwm15m0_pins>; 1555*c9211fa2SKever Yang pinctrl-names = "default"; 1556*c9211fa2SKever Yang #pwm-cells = <3>; 1557*c9211fa2SKever Yang status = "disabled"; 1558*c9211fa2SKever Yang }; 1559*c9211fa2SKever Yang 1560*c9211fa2SKever Yang i2c6: i2c@fec80000 { 1561*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1562*c9211fa2SKever Yang reg = <0x0 0xfec80000 0x0 0x1000>; 1563*c9211fa2SKever Yang clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>; 1564*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1565*c9211fa2SKever Yang interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>; 1566*c9211fa2SKever Yang pinctrl-0 = <&i2c6m0_xfer>; 1567*c9211fa2SKever Yang pinctrl-names = "default"; 1568*c9211fa2SKever Yang #address-cells = <1>; 1569*c9211fa2SKever Yang #size-cells = <0>; 1570*c9211fa2SKever Yang status = "disabled"; 1571*c9211fa2SKever Yang }; 1572*c9211fa2SKever Yang 1573*c9211fa2SKever Yang i2c7: i2c@fec90000 { 1574*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1575*c9211fa2SKever Yang reg = <0x0 0xfec90000 0x0 0x1000>; 1576*c9211fa2SKever Yang clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>; 1577*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1578*c9211fa2SKever Yang interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>; 1579*c9211fa2SKever Yang pinctrl-0 = <&i2c7m0_xfer>; 1580*c9211fa2SKever Yang pinctrl-names = "default"; 1581*c9211fa2SKever Yang #address-cells = <1>; 1582*c9211fa2SKever Yang #size-cells = <0>; 1583*c9211fa2SKever Yang status = "disabled"; 1584*c9211fa2SKever Yang }; 1585*c9211fa2SKever Yang 1586*c9211fa2SKever Yang i2c8: i2c@feca0000 { 1587*c9211fa2SKever Yang compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1588*c9211fa2SKever Yang reg = <0x0 0xfeca0000 0x0 0x1000>; 1589*c9211fa2SKever Yang clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>; 1590*c9211fa2SKever Yang clock-names = "i2c", "pclk"; 1591*c9211fa2SKever Yang interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>; 1592*c9211fa2SKever Yang pinctrl-0 = <&i2c8m0_xfer>; 1593*c9211fa2SKever Yang pinctrl-names = "default"; 1594*c9211fa2SKever Yang #address-cells = <1>; 1595*c9211fa2SKever Yang #size-cells = <0>; 1596*c9211fa2SKever Yang status = "disabled"; 1597*c9211fa2SKever Yang }; 1598*c9211fa2SKever Yang 1599*c9211fa2SKever Yang spi4: spi@fecb0000 { 1600*c9211fa2SKever Yang compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi"; 1601*c9211fa2SKever Yang reg = <0x0 0xfecb0000 0x0 0x1000>; 1602*c9211fa2SKever Yang interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>; 1603*c9211fa2SKever Yang clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>; 1604*c9211fa2SKever Yang clock-names = "spiclk", "apb_pclk"; 1605*c9211fa2SKever Yang dmas = <&dmac2 13>, <&dmac2 14>; 1606*c9211fa2SKever Yang dma-names = "tx", "rx"; 1607*c9211fa2SKever Yang num-cs = <2>; 1608*c9211fa2SKever Yang pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>; 1609*c9211fa2SKever Yang pinctrl-names = "default"; 1610*c9211fa2SKever Yang #address-cells = <1>; 1611*c9211fa2SKever Yang #size-cells = <0>; 1612*c9211fa2SKever Yang status = "disabled"; 1613*c9211fa2SKever Yang }; 1614*c9211fa2SKever Yang 1615*c9211fa2SKever Yang dmac2: dma-controller@fed10000 { 1616*c9211fa2SKever Yang compatible = "arm,pl330", "arm,primecell"; 1617*c9211fa2SKever Yang reg = <0x0 0xfed10000 0x0 0x4000>; 1618*c9211fa2SKever Yang interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH 0>, 1619*c9211fa2SKever Yang <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH 0>; 1620*c9211fa2SKever Yang arm,pl330-periph-burst; 1621*c9211fa2SKever Yang clocks = <&cru ACLK_DMAC2>; 1622*c9211fa2SKever Yang clock-names = "apb_pclk"; 1623*c9211fa2SKever Yang #dma-cells = <1>; 1624*c9211fa2SKever Yang }; 1625*c9211fa2SKever Yang 1626*c9211fa2SKever Yang system_sram2: sram@ff001000 { 1627*c9211fa2SKever Yang compatible = "mmio-sram"; 1628*c9211fa2SKever Yang reg = <0x0 0xff001000 0x0 0xef000>; 1629*c9211fa2SKever Yang ranges = <0x0 0x0 0xff001000 0xef000>; 1630*c9211fa2SKever Yang #address-cells = <1>; 1631*c9211fa2SKever Yang #size-cells = <1>; 1632*c9211fa2SKever Yang }; 1633*c9211fa2SKever Yang 1634*c9211fa2SKever Yang pinctrl: pinctrl { 1635*c9211fa2SKever Yang compatible = "rockchip,rk3588-pinctrl"; 1636*c9211fa2SKever Yang ranges; 1637*c9211fa2SKever Yang rockchip,grf = <&ioc>; 1638*c9211fa2SKever Yang #address-cells = <2>; 1639*c9211fa2SKever Yang #size-cells = <2>; 1640*c9211fa2SKever Yang 1641*c9211fa2SKever Yang gpio0: gpio@fd8a0000 { 1642*c9211fa2SKever Yang compatible = "rockchip,gpio-bank"; 1643*c9211fa2SKever Yang reg = <0x0 0xfd8a0000 0x0 0x100>; 1644*c9211fa2SKever Yang interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>; 1645*c9211fa2SKever Yang clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 1646*c9211fa2SKever Yang gpio-controller; 1647*c9211fa2SKever Yang gpio-ranges = <&pinctrl 0 0 32>; 1648*c9211fa2SKever Yang interrupt-controller; 1649*c9211fa2SKever Yang #gpio-cells = <2>; 1650*c9211fa2SKever Yang #interrupt-cells = <2>; 1651*c9211fa2SKever Yang }; 1652*c9211fa2SKever Yang 1653*c9211fa2SKever Yang gpio1: gpio@fec20000 { 1654*c9211fa2SKever Yang compatible = "rockchip,gpio-bank"; 1655*c9211fa2SKever Yang reg = <0x0 0xfec20000 0x0 0x100>; 1656*c9211fa2SKever Yang interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH 0>; 1657*c9211fa2SKever Yang clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 1658*c9211fa2SKever Yang gpio-controller; 1659*c9211fa2SKever Yang gpio-ranges = <&pinctrl 0 32 32>; 1660*c9211fa2SKever Yang interrupt-controller; 1661*c9211fa2SKever Yang #gpio-cells = <2>; 1662*c9211fa2SKever Yang #interrupt-cells = <2>; 1663*c9211fa2SKever Yang }; 1664*c9211fa2SKever Yang 1665*c9211fa2SKever Yang gpio2: gpio@fec30000 { 1666*c9211fa2SKever Yang compatible = "rockchip,gpio-bank"; 1667*c9211fa2SKever Yang reg = <0x0 0xfec30000 0x0 0x100>; 1668*c9211fa2SKever Yang interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH 0>; 1669*c9211fa2SKever Yang clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 1670*c9211fa2SKever Yang gpio-controller; 1671*c9211fa2SKever Yang gpio-ranges = <&pinctrl 0 64 32>; 1672*c9211fa2SKever Yang interrupt-controller; 1673*c9211fa2SKever Yang #gpio-cells = <2>; 1674*c9211fa2SKever Yang #interrupt-cells = <2>; 1675*c9211fa2SKever Yang }; 1676*c9211fa2SKever Yang 1677*c9211fa2SKever Yang gpio3: gpio@fec40000 { 1678*c9211fa2SKever Yang compatible = "rockchip,gpio-bank"; 1679*c9211fa2SKever Yang reg = <0x0 0xfec40000 0x0 0x100>; 1680*c9211fa2SKever Yang interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH 0>; 1681*c9211fa2SKever Yang clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 1682*c9211fa2SKever Yang gpio-controller; 1683*c9211fa2SKever Yang gpio-ranges = <&pinctrl 0 96 32>; 1684*c9211fa2SKever Yang interrupt-controller; 1685*c9211fa2SKever Yang #gpio-cells = <2>; 1686*c9211fa2SKever Yang #interrupt-cells = <2>; 1687*c9211fa2SKever Yang }; 1688*c9211fa2SKever Yang 1689*c9211fa2SKever Yang gpio4: gpio@fec50000 { 1690*c9211fa2SKever Yang compatible = "rockchip,gpio-bank"; 1691*c9211fa2SKever Yang reg = <0x0 0xfec50000 0x0 0x100>; 1692*c9211fa2SKever Yang interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH 0>; 1693*c9211fa2SKever Yang clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 1694*c9211fa2SKever Yang gpio-controller; 1695*c9211fa2SKever Yang gpio-ranges = <&pinctrl 0 128 32>; 1696*c9211fa2SKever Yang interrupt-controller; 1697*c9211fa2SKever Yang #gpio-cells = <2>; 1698*c9211fa2SKever Yang #interrupt-cells = <2>; 1699*c9211fa2SKever Yang }; 1700*c9211fa2SKever Yang }; 1701*c9211fa2SKever Yang}; 1702*c9211fa2SKever Yang 1703*c9211fa2SKever Yang#include "rk3588s-pinctrl.dtsi" 1704