1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun#include <dt-bindings/clock/rk3588-cru.h> 7*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 9*4882a593Smuzhiyun#include <dt-bindings/phy/phy.h> 10*4882a593Smuzhiyun#include <dt-bindings/power/rk3588-power.h> 11*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun compatible = "rockchip,rk3588"; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun interrupt-parent = <&gic>; 17*4882a593Smuzhiyun #address-cells = <2>; 18*4882a593Smuzhiyun #size-cells = <2>; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun aliases { 21*4882a593Smuzhiyun ethernet1 = &gmac1; 22*4882a593Smuzhiyun i2c0 = &i2c0; 23*4882a593Smuzhiyun i2c1 = &i2c1; 24*4882a593Smuzhiyun i2c2 = &i2c2; 25*4882a593Smuzhiyun i2c3 = &i2c3; 26*4882a593Smuzhiyun i2c4 = &i2c4; 27*4882a593Smuzhiyun i2c5 = &i2c5; 28*4882a593Smuzhiyun i2c6 = &i2c6; 29*4882a593Smuzhiyun i2c7 = &i2c7; 30*4882a593Smuzhiyun i2c8 = &i2c8; 31*4882a593Smuzhiyun serial0 = &uart0; 32*4882a593Smuzhiyun serial1 = &uart1; 33*4882a593Smuzhiyun serial2 = &uart2; 34*4882a593Smuzhiyun serial3 = &uart3; 35*4882a593Smuzhiyun serial4 = &uart4; 36*4882a593Smuzhiyun serial5 = &uart5; 37*4882a593Smuzhiyun serial6 = &uart6; 38*4882a593Smuzhiyun serial7 = &uart7; 39*4882a593Smuzhiyun serial8 = &uart8; 40*4882a593Smuzhiyun serial9 = &uart9; 41*4882a593Smuzhiyun spi0 = &spi0; 42*4882a593Smuzhiyun spi1 = &spi1; 43*4882a593Smuzhiyun spi2 = &spi2; 44*4882a593Smuzhiyun spi3 = &spi3; 45*4882a593Smuzhiyun spi4 = &spi4; 46*4882a593Smuzhiyun spi5 = &sfc; 47*4882a593Smuzhiyun gpio0 = &gpio0; 48*4882a593Smuzhiyun gpio1 = &gpio1; 49*4882a593Smuzhiyun gpio2 = &gpio2; 50*4882a593Smuzhiyun gpio3 = &gpio3; 51*4882a593Smuzhiyun gpio4 = &gpio4; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun cpus { 55*4882a593Smuzhiyun #address-cells = <1>; 56*4882a593Smuzhiyun #size-cells = <0>; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun cpu-map { 59*4882a593Smuzhiyun cluster0 { 60*4882a593Smuzhiyun core0 { 61*4882a593Smuzhiyun cpu = <&cpu_l0>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun core1 { 64*4882a593Smuzhiyun cpu = <&cpu_l1>; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun core2 { 67*4882a593Smuzhiyun cpu = <&cpu_l2>; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun core3 { 70*4882a593Smuzhiyun cpu = <&cpu_l3>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun cluster1 { 74*4882a593Smuzhiyun core0 { 75*4882a593Smuzhiyun cpu = <&cpu_b0>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun core1 { 78*4882a593Smuzhiyun cpu = <&cpu_b1>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun cluster2 { 82*4882a593Smuzhiyun core0 { 83*4882a593Smuzhiyun cpu = <&cpu_b2>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun core1 { 86*4882a593Smuzhiyun cpu = <&cpu_b3>; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun cpu_l0: cpu@0 { 92*4882a593Smuzhiyun device_type = "cpu"; 93*4882a593Smuzhiyun compatible = "arm,cortex-a55"; 94*4882a593Smuzhiyun reg = <0x0>; 95*4882a593Smuzhiyun enable-method = "psci"; 96*4882a593Smuzhiyun capacity-dmips-mhz = <530>; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun cpu_l1: cpu@100 { 100*4882a593Smuzhiyun device_type = "cpu"; 101*4882a593Smuzhiyun compatible = "arm,cortex-a55"; 102*4882a593Smuzhiyun reg = <0x100>; 103*4882a593Smuzhiyun enable-method = "psci"; 104*4882a593Smuzhiyun capacity-dmips-mhz = <530>; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun cpu_l2: cpu@200 { 108*4882a593Smuzhiyun device_type = "cpu"; 109*4882a593Smuzhiyun compatible = "arm,cortex-a55"; 110*4882a593Smuzhiyun reg = <0x200>; 111*4882a593Smuzhiyun enable-method = "psci"; 112*4882a593Smuzhiyun capacity-dmips-mhz = <530>; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun cpu_l3: cpu@300 { 116*4882a593Smuzhiyun device_type = "cpu"; 117*4882a593Smuzhiyun compatible = "arm,cortex-a55"; 118*4882a593Smuzhiyun reg = <0x300>; 119*4882a593Smuzhiyun enable-method = "psci"; 120*4882a593Smuzhiyun capacity-dmips-mhz = <530>; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun cpu_b0: cpu@400 { 124*4882a593Smuzhiyun device_type = "cpu"; 125*4882a593Smuzhiyun compatible = "arm,cortex-a76"; 126*4882a593Smuzhiyun reg = <0x400>; 127*4882a593Smuzhiyun enable-method = "psci"; 128*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun cpu_b1: cpu@500 { 132*4882a593Smuzhiyun device_type = "cpu"; 133*4882a593Smuzhiyun compatible = "arm,cortex-a76"; 134*4882a593Smuzhiyun reg = <0x500>; 135*4882a593Smuzhiyun enable-method = "psci"; 136*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 137*4882a593Smuzhiyun }; 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun cpu_b2: cpu@600 { 140*4882a593Smuzhiyun device_type = "cpu"; 141*4882a593Smuzhiyun compatible = "arm,cortex-a76"; 142*4882a593Smuzhiyun reg = <0x600>; 143*4882a593Smuzhiyun enable-method = "psci"; 144*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun cpu_b3: cpu@700 { 148*4882a593Smuzhiyun device_type = "cpu"; 149*4882a593Smuzhiyun compatible = "arm,cortex-a76"; 150*4882a593Smuzhiyun reg = <0x700>; 151*4882a593Smuzhiyun enable-method = "psci"; 152*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun arm_pmu: arm-pmu { 157*4882a593Smuzhiyun compatible = "arm,armv8-pmuv3"; 158*4882a593Smuzhiyun interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_LOW>; 159*4882a593Smuzhiyun interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>, <&cpu_l3>, 160*4882a593Smuzhiyun <&cpu_b0>, <&cpu_b1>, <&cpu_b2>, <&cpu_b3>; 161*4882a593Smuzhiyun }; 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun firmware: firmware { 164*4882a593Smuzhiyun optee: optee { 165*4882a593Smuzhiyun compatible = "linaro,optee-tz"; 166*4882a593Smuzhiyun method = "smc"; 167*4882a593Smuzhiyun }; 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun scmi: scmi { 170*4882a593Smuzhiyun compatible = "arm,scmi-smc"; 171*4882a593Smuzhiyun shmem = <&scmi_shmem>; 172*4882a593Smuzhiyun arm,smc-id = <0x82000010>; 173*4882a593Smuzhiyun #address-cells = <1>; 174*4882a593Smuzhiyun #size-cells = <0>; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun scmi_clk: protocol@14 { 177*4882a593Smuzhiyun reg = <0x14>; 178*4882a593Smuzhiyun #clock-cells = <1>; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun assigned-clocks = <&scmi_clk SCMI_SPLL>; 181*4882a593Smuzhiyun assigned-clock-rates = <700000000>; 182*4882a593Smuzhiyun }; 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun scmi_reset: protocol@16 { 185*4882a593Smuzhiyun reg = <0x16>; 186*4882a593Smuzhiyun #reset-cells = <1>; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun }; 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun sdei: sdei { 191*4882a593Smuzhiyun compatible = "arm,sdei-1.0"; 192*4882a593Smuzhiyun method = "smc"; 193*4882a593Smuzhiyun }; 194*4882a593Smuzhiyun }; 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun psci: psci { 197*4882a593Smuzhiyun compatible = "arm,psci-1.0"; 198*4882a593Smuzhiyun method = "smc"; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun spll: spll { 202*4882a593Smuzhiyun compatible = "fixed-clock"; 203*4882a593Smuzhiyun #clock-cells = <0>; 204*4882a593Smuzhiyun clock-frequency = <702000000>; 205*4882a593Smuzhiyun clock-output-names = "spll"; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun timer { 209*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 210*4882a593Smuzhiyun interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 211*4882a593Smuzhiyun <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 212*4882a593Smuzhiyun <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 213*4882a593Smuzhiyun <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 214*4882a593Smuzhiyun }; 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun xin32k: xin32k { 217*4882a593Smuzhiyun compatible = "fixed-clock"; 218*4882a593Smuzhiyun #clock-cells = <0>; 219*4882a593Smuzhiyun clock-frequency = <32768>; 220*4882a593Smuzhiyun clock-output-names = "xin32k"; 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun xin24m: xin24m { 224*4882a593Smuzhiyun compatible = "fixed-clock"; 225*4882a593Smuzhiyun #clock-cells = <0>; 226*4882a593Smuzhiyun clock-frequency = <24000000>; 227*4882a593Smuzhiyun clock-output-names = "xin24m"; 228*4882a593Smuzhiyun }; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun sram: sram@10f000 { 231*4882a593Smuzhiyun compatible = "mmio-sram"; 232*4882a593Smuzhiyun reg = <0x0 0x0010f000 0x0 0x100>; 233*4882a593Smuzhiyun #address-cells = <1>; 234*4882a593Smuzhiyun #size-cells = <1>; 235*4882a593Smuzhiyun ranges = <0 0x0 0x0010f000 0x100>; 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun scmi_shmem: scmi_shmem@0 { 238*4882a593Smuzhiyun compatible = "arm,scmi-shmem"; 239*4882a593Smuzhiyun reg = <0x0 0x100>; 240*4882a593Smuzhiyun }; 241*4882a593Smuzhiyun }; 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun usbdrd3_0: usbdrd3_0 { 244*4882a593Smuzhiyun compatible = "rockchip,rk3588-dwc3", "rockchip,rk3399-dwc3"; 245*4882a593Smuzhiyun clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>, 246*4882a593Smuzhiyun <&cru ACLK_USB3OTG0>; 247*4882a593Smuzhiyun clock-names = "ref", "suspend", "bus"; 248*4882a593Smuzhiyun #address-cells = <2>; 249*4882a593Smuzhiyun #size-cells = <2>; 250*4882a593Smuzhiyun ranges; 251*4882a593Smuzhiyun status = "disabled"; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun usbdrd_dwc3_0: usb@fc000000 { 254*4882a593Smuzhiyun compatible = "snps,dwc3"; 255*4882a593Smuzhiyun reg = <0x0 0xfc000000 0x0 0x400000>; 256*4882a593Smuzhiyun interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 257*4882a593Smuzhiyun power-domains = <&power RK3588_PD_USB>; 258*4882a593Smuzhiyun resets = <&cru SRST_A_USB3OTG0>; 259*4882a593Smuzhiyun reset-names = "usb3-otg"; 260*4882a593Smuzhiyun dr_mode = "otg"; 261*4882a593Smuzhiyun phys = <&u2phy0_otg>; 262*4882a593Smuzhiyun phy-names = "usb2-phy"; 263*4882a593Smuzhiyun phy_type = "utmi_wide"; 264*4882a593Smuzhiyun snps,dis_enblslpm_quirk; 265*4882a593Smuzhiyun snps,dis-u1-entry-quirk; 266*4882a593Smuzhiyun snps,dis-u2-entry-quirk; 267*4882a593Smuzhiyun snps,dis-u2-freeclk-exists-quirk; 268*4882a593Smuzhiyun snps,dis-del-phy-power-chg-quirk; 269*4882a593Smuzhiyun snps,dis-tx-ipgap-linecheck-quirk; 270*4882a593Smuzhiyun status = "disabled"; 271*4882a593Smuzhiyun }; 272*4882a593Smuzhiyun }; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun usb_host0_ehci: usb@fc800000 { 275*4882a593Smuzhiyun compatible = "generic-ehci"; 276*4882a593Smuzhiyun reg = <0x0 0xfc800000 0x0 0x40000>; 277*4882a593Smuzhiyun interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; 278*4882a593Smuzhiyun clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>; 279*4882a593Smuzhiyun clock-names = "usbhost", "arbiter"; 280*4882a593Smuzhiyun phys = <&u2phy2_host>; 281*4882a593Smuzhiyun phy-names = "usb2-phy"; 282*4882a593Smuzhiyun power-domains = <&power RK3588_PD_USB>; 283*4882a593Smuzhiyun status = "disabled"; 284*4882a593Smuzhiyun }; 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun usb_host0_ohci: usb@fc840000 { 287*4882a593Smuzhiyun compatible = "generic-ohci"; 288*4882a593Smuzhiyun reg = <0x0 0xfc840000 0x0 0x40000>; 289*4882a593Smuzhiyun interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 290*4882a593Smuzhiyun clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>; 291*4882a593Smuzhiyun clock-names = "usbhost", "arbiter"; 292*4882a593Smuzhiyun phys = <&u2phy2_host>; 293*4882a593Smuzhiyun phy-names = "usb2-phy"; 294*4882a593Smuzhiyun power-domains = <&power RK3588_PD_USB>; 295*4882a593Smuzhiyun status = "disabled"; 296*4882a593Smuzhiyun }; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun usb_host1_ehci: usb@fc880000 { 299*4882a593Smuzhiyun compatible = "generic-ehci"; 300*4882a593Smuzhiyun reg = <0x0 0xfc880000 0x0 0x40000>; 301*4882a593Smuzhiyun interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>; 302*4882a593Smuzhiyun clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>; 303*4882a593Smuzhiyun clock-names = "usbhost", "arbiter"; 304*4882a593Smuzhiyun phys = <&u2phy3_host>; 305*4882a593Smuzhiyun phy-names = "usb2-phy"; 306*4882a593Smuzhiyun power-domains = <&power RK3588_PD_USB>; 307*4882a593Smuzhiyun status = "disabled"; 308*4882a593Smuzhiyun }; 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun usb_host1_ohci: usb@fc8c0000 { 311*4882a593Smuzhiyun compatible = "generic-ohci"; 312*4882a593Smuzhiyun reg = <0x0 0xfc8c0000 0x0 0x40000>; 313*4882a593Smuzhiyun interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>; 314*4882a593Smuzhiyun clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>; 315*4882a593Smuzhiyun clock-names = "usbhost", "arbiter"; 316*4882a593Smuzhiyun phys = <&u2phy3_host>; 317*4882a593Smuzhiyun phy-names = "usb2-phy"; 318*4882a593Smuzhiyun power-domains = <&power RK3588_PD_USB>; 319*4882a593Smuzhiyun status = "disabled"; 320*4882a593Smuzhiyun }; 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun mmu600_pcie: iommu@fc900000 { 323*4882a593Smuzhiyun compatible = "arm,smmu-v3"; 324*4882a593Smuzhiyun reg = <0x0 0xfc900000 0x0 0x200000>; 325*4882a593Smuzhiyun interrupts = <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>, 326*4882a593Smuzhiyun <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>, 327*4882a593Smuzhiyun <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>, 328*4882a593Smuzhiyun <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>; 329*4882a593Smuzhiyun interrupt-names = "eventq", "gerror", "priq", "cmdq-sync"; 330*4882a593Smuzhiyun #iommu-cells = <1>; 331*4882a593Smuzhiyun status = "disabled"; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun mmu600_php: iommu@fcb00000 { 335*4882a593Smuzhiyun compatible = "arm,smmu-v3"; 336*4882a593Smuzhiyun reg = <0x0 0xfcb00000 0x0 0x200000>; 337*4882a593Smuzhiyun interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>, 338*4882a593Smuzhiyun <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>, 339*4882a593Smuzhiyun <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>, 340*4882a593Smuzhiyun <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>; 341*4882a593Smuzhiyun interrupt-names = "eventq", "gerror", "priq", "cmdq-sync"; 342*4882a593Smuzhiyun #iommu-cells = <1>; 343*4882a593Smuzhiyun status = "disabled"; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun usbhost3_0: usbhost3_0 { 347*4882a593Smuzhiyun compatible = "rockchip,rk3588-dwc3", "rockchip,rk3399-dwc3"; 348*4882a593Smuzhiyun clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>, 349*4882a593Smuzhiyun <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>; 350*4882a593Smuzhiyun clock-names = "ref", "suspend", "bus", "utmi"; 351*4882a593Smuzhiyun #address-cells = <2>; 352*4882a593Smuzhiyun #size-cells = <2>; 353*4882a593Smuzhiyun ranges; 354*4882a593Smuzhiyun status = "disabled"; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun usbhost_dwc3_0: usb@fcd00000 { 357*4882a593Smuzhiyun compatible = "snps,dwc3"; 358*4882a593Smuzhiyun reg = <0x0 0xfcd00000 0x0 0x400000>; 359*4882a593Smuzhiyun interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 360*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PHP>; 361*4882a593Smuzhiyun resets = <&cru SRST_A_USB3OTG2>; 362*4882a593Smuzhiyun reset-names = "usb3-host"; 363*4882a593Smuzhiyun dr_mode = "host"; 364*4882a593Smuzhiyun phy_type = "utmi_wide"; 365*4882a593Smuzhiyun snps,dis_enblslpm_quirk; 366*4882a593Smuzhiyun snps,dis-u2-freeclk-exists-quirk; 367*4882a593Smuzhiyun snps,dis-del-phy-power-chg-quirk; 368*4882a593Smuzhiyun snps,dis-tx-ipgap-linecheck-quirk; 369*4882a593Smuzhiyun status = "disabled"; 370*4882a593Smuzhiyun }; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun 373*4882a593Smuzhiyun sys_grf: syscon@fd58c000 { 374*4882a593Smuzhiyun compatible = "rockchip,rk3588-sys-grf", "syscon"; 375*4882a593Smuzhiyun reg = <0x0 0xfd58c000 0x0 0x1000>; 376*4882a593Smuzhiyun }; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun vo0_grf: syscon@fd5a6000 { 379*4882a593Smuzhiyun compatible = "rockchip,rk3588-vo-grf", "syscon"; 380*4882a593Smuzhiyun reg = <0x0 0xfd5a6000 0x0 0x2000>; 381*4882a593Smuzhiyun }; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun vo1_grf: syscon@fd5a8000 { 384*4882a593Smuzhiyun compatible = "rockchip,rk3588-vo-grf", "syscon"; 385*4882a593Smuzhiyun reg = <0x0 0xfd5a8000 0x0 0x100>; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun usb_grf: syscon@fd5ac000 { 389*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb-grf", "syscon"; 390*4882a593Smuzhiyun reg = <0x0 0xfd5ac000 0x0 0x4000>; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun php_grf: syscon@fd5b0000 { 394*4882a593Smuzhiyun compatible = "rockchip,rk3588-php-grf", "syscon"; 395*4882a593Smuzhiyun reg = <0x0 0xfd5b0000 0x0 0x1000>; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun pipe_phy0_grf: syscon@fd5bc000 { 399*4882a593Smuzhiyun compatible = "rockchip,pipe-phy-grf", "syscon"; 400*4882a593Smuzhiyun reg = <0x0 0xfd5bc000 0x0 0x100>; 401*4882a593Smuzhiyun }; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun pipe_phy2_grf: syscon@fd5c4000 { 404*4882a593Smuzhiyun compatible = "rockchip,pipe-phy-grf", "syscon"; 405*4882a593Smuzhiyun reg = <0x0 0xfd5c4000 0x0 0x100>; 406*4882a593Smuzhiyun }; 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun usbdpphy0_grf: syscon@fd5c8000 { 409*4882a593Smuzhiyun compatible = "rockchip,rk3588-usbdpphy-grf", "syscon"; 410*4882a593Smuzhiyun reg = <0x0 0xfd5c8000 0x0 0x4000>; 411*4882a593Smuzhiyun }; 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun usb2phy0_grf: syscon@fd5d0000 { 414*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy-grf", "syscon", 415*4882a593Smuzhiyun "simple-mfd"; 416*4882a593Smuzhiyun reg = <0x0 0xfd5d0000 0x0 0x4000>; 417*4882a593Smuzhiyun #address-cells = <1>; 418*4882a593Smuzhiyun #size-cells = <1>; 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun u2phy0: usb2-phy@0 { 421*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy"; 422*4882a593Smuzhiyun reg = <0x0 0x10>; 423*4882a593Smuzhiyun interrupts = <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>; 424*4882a593Smuzhiyun resets = <&cru SRST_OTGPHY_U3_0>, <&cru SRST_P_USB2PHY_U3_0_GRF0>; 425*4882a593Smuzhiyun reset-names = "phy", "apb"; 426*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>; 427*4882a593Smuzhiyun clock-names = "phyclk"; 428*4882a593Smuzhiyun #clock-cells = <0>; 429*4882a593Smuzhiyun status = "disabled"; 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun u2phy0_otg: otg-port { 432*4882a593Smuzhiyun #phy-cells = <0>; 433*4882a593Smuzhiyun status = "disabled"; 434*4882a593Smuzhiyun }; 435*4882a593Smuzhiyun }; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun usb2phy2_grf: syscon@fd5d8000 { 439*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy-grf", "syscon", 440*4882a593Smuzhiyun "simple-mfd"; 441*4882a593Smuzhiyun reg = <0x0 0xfd5d8000 0x0 0x4000>; 442*4882a593Smuzhiyun #address-cells = <1>; 443*4882a593Smuzhiyun #size-cells = <1>; 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun u2phy2: usb2-phy@8000 { 446*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy"; 447*4882a593Smuzhiyun reg = <0x8000 0x10>; 448*4882a593Smuzhiyun interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH>; 449*4882a593Smuzhiyun resets = <&cru SRST_OTGPHY_U2_0>, <&cru SRST_P_USB2PHY_U2_0_GRF0>; 450*4882a593Smuzhiyun reset-names = "phy", "apb"; 451*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>; 452*4882a593Smuzhiyun clock-names = "phyclk"; 453*4882a593Smuzhiyun #clock-cells = <0>; 454*4882a593Smuzhiyun status = "disabled"; 455*4882a593Smuzhiyun 456*4882a593Smuzhiyun u2phy2_host: host-port { 457*4882a593Smuzhiyun #phy-cells = <0>; 458*4882a593Smuzhiyun status = "disabled"; 459*4882a593Smuzhiyun }; 460*4882a593Smuzhiyun }; 461*4882a593Smuzhiyun }; 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun usb2phy3_grf: syscon@fd5dc000 { 464*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy-grf", "syscon", 465*4882a593Smuzhiyun "simple-mfd"; 466*4882a593Smuzhiyun reg = <0x0 0xfd5dc000 0x0 0x4000>; 467*4882a593Smuzhiyun #address-cells = <1>; 468*4882a593Smuzhiyun #size-cells = <1>; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun u2phy3: usb2-phy@c000 { 471*4882a593Smuzhiyun compatible = "rockchip,rk3588-usb2phy"; 472*4882a593Smuzhiyun reg = <0xc000 0x10>; 473*4882a593Smuzhiyun interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>; 474*4882a593Smuzhiyun resets = <&cru SRST_OTGPHY_U2_1>, <&cru SRST_P_USB2PHY_U2_1_GRF0>; 475*4882a593Smuzhiyun reset-names = "phy", "apb"; 476*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>; 477*4882a593Smuzhiyun clock-names = "phyclk"; 478*4882a593Smuzhiyun #clock-cells = <0>; 479*4882a593Smuzhiyun status = "disabled"; 480*4882a593Smuzhiyun 481*4882a593Smuzhiyun u2phy3_host: host-port { 482*4882a593Smuzhiyun #phy-cells = <0>; 483*4882a593Smuzhiyun status = "disabled"; 484*4882a593Smuzhiyun }; 485*4882a593Smuzhiyun }; 486*4882a593Smuzhiyun }; 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun hdptxphy0_grf: syscon@fd5e0000 { 489*4882a593Smuzhiyun compatible = "rockchip,rk3588-hdptxphy-grf", "syscon"; 490*4882a593Smuzhiyun reg = <0x0 0xfd5e0000 0x0 0x100>; 491*4882a593Smuzhiyun }; 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun ioc: syscon@fd5f0000 { 494*4882a593Smuzhiyun compatible = "rockchip,rk3588-ioc", "syscon"; 495*4882a593Smuzhiyun reg = <0x0 0xfd5f0000 0x0 0x10000>; 496*4882a593Smuzhiyun }; 497*4882a593Smuzhiyun 498*4882a593Smuzhiyun syssram: sram@fd600000 { 499*4882a593Smuzhiyun compatible = "mmio-sram"; 500*4882a593Smuzhiyun reg = <0x0 0xfd600000 0x0 0x100000>; 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun #address-cells = <1>; 503*4882a593Smuzhiyun #size-cells = <1>; 504*4882a593Smuzhiyun ranges = <0x0 0x0 0xfd600000 0x100000>; 505*4882a593Smuzhiyun }; 506*4882a593Smuzhiyun 507*4882a593Smuzhiyun cru: clock-controller@fd7c0000 { 508*4882a593Smuzhiyun compatible = "rockchip,rk3588-cru"; 509*4882a593Smuzhiyun rockchip,grf = <&php_grf>; 510*4882a593Smuzhiyun reg = <0x0 0xfd7c0000 0x0 0x5c000>; 511*4882a593Smuzhiyun #clock-cells = <1>; 512*4882a593Smuzhiyun #reset-cells = <1>; 513*4882a593Smuzhiyun 514*4882a593Smuzhiyun assigned-clocks = 515*4882a593Smuzhiyun <&cru PLL_PPLL>, <&cru PLL_CPLL>, 516*4882a593Smuzhiyun <&cru PLL_NPLL>, <&cru PLL_GPLL>, 517*4882a593Smuzhiyun <&cru ARMCLK_L>, <&cru ARMCLK_B01>, 518*4882a593Smuzhiyun <&cru ACLK_CENTER_ROOT>, <&cru PCLK_CENTER_ROOT>, 519*4882a593Smuzhiyun <&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>, 520*4882a593Smuzhiyun <&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>, 521*4882a593Smuzhiyun <&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>, 522*4882a593Smuzhiyun <&cru HCLK_PMU_CM0_ROOT>; 523*4882a593Smuzhiyun assigned-clock-rates = 524*4882a593Smuzhiyun <100000000>, <1500000000>, 525*4882a593Smuzhiyun <850000000>, <1188000000>, 526*4882a593Smuzhiyun <816000000>, <1008000000>, 527*4882a593Smuzhiyun <600000000>, <200000000>, 528*4882a593Smuzhiyun <400000000>, <500000000>, 529*4882a593Smuzhiyun <800000000>, <100000000>, 530*4882a593Smuzhiyun <400000000>, <100000000>, 531*4882a593Smuzhiyun <200000000>; 532*4882a593Smuzhiyun }; 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun i2c0: i2c@fd880000 { 535*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 536*4882a593Smuzhiyun reg = <0x0 0xfd880000 0x0 0x1000>; 537*4882a593Smuzhiyun clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 538*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 539*4882a593Smuzhiyun interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>; 540*4882a593Smuzhiyun pinctrl-names = "default"; 541*4882a593Smuzhiyun pinctrl-0 = <&i2c0m0_xfer>; 542*4882a593Smuzhiyun #address-cells = <1>; 543*4882a593Smuzhiyun #size-cells = <0>; 544*4882a593Smuzhiyun status = "disabled"; 545*4882a593Smuzhiyun }; 546*4882a593Smuzhiyun 547*4882a593Smuzhiyun uart0: serial@fd890000 { 548*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 549*4882a593Smuzhiyun reg = <0x0 0xfd890000 0x0 0x100>; 550*4882a593Smuzhiyun interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>; 551*4882a593Smuzhiyun clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 552*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 553*4882a593Smuzhiyun reg-shift = <2>; 554*4882a593Smuzhiyun reg-io-width = <4>; 555*4882a593Smuzhiyun dmas = <&dmac0 6>, <&dmac0 7>; 556*4882a593Smuzhiyun pinctrl-names = "default"; 557*4882a593Smuzhiyun pinctrl-0 = <&uart0m0_xfer>; 558*4882a593Smuzhiyun status = "disabled"; 559*4882a593Smuzhiyun }; 560*4882a593Smuzhiyun 561*4882a593Smuzhiyun pwm0: pwm@fd8b0000 { 562*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 563*4882a593Smuzhiyun reg = <0x0 0xfd8b0000 0x0 0x10>; 564*4882a593Smuzhiyun #pwm-cells = <3>; 565*4882a593Smuzhiyun pinctrl-names = "active"; 566*4882a593Smuzhiyun pinctrl-0 = <&pwm0m0_pins>; 567*4882a593Smuzhiyun clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 568*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 569*4882a593Smuzhiyun status = "disabled"; 570*4882a593Smuzhiyun }; 571*4882a593Smuzhiyun 572*4882a593Smuzhiyun pwm1: pwm@fd8b0010 { 573*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 574*4882a593Smuzhiyun reg = <0x0 0xfd8b0010 0x0 0x10>; 575*4882a593Smuzhiyun #pwm-cells = <3>; 576*4882a593Smuzhiyun pinctrl-names = "active"; 577*4882a593Smuzhiyun pinctrl-0 = <&pwm1m0_pins>; 578*4882a593Smuzhiyun clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 579*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 580*4882a593Smuzhiyun status = "disabled"; 581*4882a593Smuzhiyun }; 582*4882a593Smuzhiyun 583*4882a593Smuzhiyun pwm2: pwm@fd8b0020 { 584*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 585*4882a593Smuzhiyun reg = <0x0 0xfd8b0020 0x0 0x10>; 586*4882a593Smuzhiyun #pwm-cells = <3>; 587*4882a593Smuzhiyun pinctrl-names = "active"; 588*4882a593Smuzhiyun pinctrl-0 = <&pwm2m0_pins>; 589*4882a593Smuzhiyun clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 590*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 591*4882a593Smuzhiyun status = "disabled"; 592*4882a593Smuzhiyun }; 593*4882a593Smuzhiyun 594*4882a593Smuzhiyun pwm3: pwm@fd8b0030 { 595*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 596*4882a593Smuzhiyun reg = <0x0 0xfd8b0030 0x0 0x10>; 597*4882a593Smuzhiyun interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>, 598*4882a593Smuzhiyun <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; 599*4882a593Smuzhiyun #pwm-cells = <3>; 600*4882a593Smuzhiyun pinctrl-names = "active"; 601*4882a593Smuzhiyun pinctrl-0 = <&pwm3m0_pins>; 602*4882a593Smuzhiyun clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 603*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 604*4882a593Smuzhiyun status = "disabled"; 605*4882a593Smuzhiyun }; 606*4882a593Smuzhiyun 607*4882a593Smuzhiyun pmu: power-management@fd8d8000 { 608*4882a593Smuzhiyun compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd"; 609*4882a593Smuzhiyun reg = <0x0 0xfd8d8000 0x0 0x400>; 610*4882a593Smuzhiyun 611*4882a593Smuzhiyun power: power-controller { 612*4882a593Smuzhiyun compatible = "rockchip,rk3588-power-controller"; 613*4882a593Smuzhiyun #power-domain-cells = <1>; 614*4882a593Smuzhiyun #address-cells = <1>; 615*4882a593Smuzhiyun #size-cells = <0>; 616*4882a593Smuzhiyun status = "okay"; 617*4882a593Smuzhiyun 618*4882a593Smuzhiyun /* These power domains are grouped by VD_NPU */ 619*4882a593Smuzhiyun power-domain@RK3588_PD_NPU { 620*4882a593Smuzhiyun reg = <RK3588_PD_NPU>; 621*4882a593Smuzhiyun #address-cells = <1>; 622*4882a593Smuzhiyun #size-cells = <0>; 623*4882a593Smuzhiyun 624*4882a593Smuzhiyun power-domain@RK3588_PD_NPUTOP { 625*4882a593Smuzhiyun reg = <RK3588_PD_NPUTOP>; 626*4882a593Smuzhiyun #address-cells = <1>; 627*4882a593Smuzhiyun #size-cells = <0>; 628*4882a593Smuzhiyun 629*4882a593Smuzhiyun power-domain@RK3588_PD_NPU1 { 630*4882a593Smuzhiyun reg = <RK3588_PD_NPU1>; 631*4882a593Smuzhiyun }; 632*4882a593Smuzhiyun power-domain@RK3588_PD_NPU2 { 633*4882a593Smuzhiyun reg = <RK3588_PD_NPU2>; 634*4882a593Smuzhiyun }; 635*4882a593Smuzhiyun }; 636*4882a593Smuzhiyun }; 637*4882a593Smuzhiyun /* These power domains are grouped by VD_GPU */ 638*4882a593Smuzhiyun power-domain@RK3588_PD_GPU { 639*4882a593Smuzhiyun reg = <RK3588_PD_GPU>; 640*4882a593Smuzhiyun }; 641*4882a593Smuzhiyun /* These power domains are grouped by VD_VCODEC */ 642*4882a593Smuzhiyun power-domain@RK3588_PD_VCODEC { 643*4882a593Smuzhiyun reg = <RK3588_PD_VCODEC>; 644*4882a593Smuzhiyun #address-cells = <1>; 645*4882a593Smuzhiyun #size-cells = <0>; 646*4882a593Smuzhiyun 647*4882a593Smuzhiyun power-domain@RK3588_PD_RKVDEC0 { 648*4882a593Smuzhiyun reg = <RK3588_PD_RKVDEC0>; 649*4882a593Smuzhiyun }; 650*4882a593Smuzhiyun power-domain@RK3588_PD_RKVDEC1 { 651*4882a593Smuzhiyun reg = <RK3588_PD_RKVDEC1>; 652*4882a593Smuzhiyun }; 653*4882a593Smuzhiyun power-domain@RK3588_PD_VENC0 { 654*4882a593Smuzhiyun reg = <RK3588_PD_VENC0>; 655*4882a593Smuzhiyun #address-cells = <1>; 656*4882a593Smuzhiyun #size-cells = <0>; 657*4882a593Smuzhiyun 658*4882a593Smuzhiyun power-domain@RK3588_PD_VENC1 { 659*4882a593Smuzhiyun reg = <RK3588_PD_VENC1>; 660*4882a593Smuzhiyun }; 661*4882a593Smuzhiyun }; 662*4882a593Smuzhiyun }; 663*4882a593Smuzhiyun /* These power domains are grouped by VD_LOGIC */ 664*4882a593Smuzhiyun power-domain@RK3588_PD_VDPU { 665*4882a593Smuzhiyun reg = <RK3588_PD_VDPU>; 666*4882a593Smuzhiyun #address-cells = <1>; 667*4882a593Smuzhiyun #size-cells = <0>; 668*4882a593Smuzhiyun 669*4882a593Smuzhiyun power-domain@RK3588_PD_RGA30 { 670*4882a593Smuzhiyun reg = <RK3588_PD_RGA30>; 671*4882a593Smuzhiyun }; 672*4882a593Smuzhiyun power-domain@RK3588_PD_av1 { 673*4882a593Smuzhiyun reg = <RK3588_PD_AV1>; 674*4882a593Smuzhiyun }; 675*4882a593Smuzhiyun }; 676*4882a593Smuzhiyun power-domain@RK3588_PD_VOP { 677*4882a593Smuzhiyun reg = <RK3588_PD_VOP>; 678*4882a593Smuzhiyun }; 679*4882a593Smuzhiyun power-domain@RK3588_PD_VO0 { 680*4882a593Smuzhiyun reg = <RK3588_PD_VO0>; 681*4882a593Smuzhiyun }; 682*4882a593Smuzhiyun power-domain@RK3588_PD_VO1 { 683*4882a593Smuzhiyun reg = <RK3588_PD_VO1>; 684*4882a593Smuzhiyun }; 685*4882a593Smuzhiyun power-domain@RK3588_PD_VI { 686*4882a593Smuzhiyun reg = <RK3588_PD_VI>; 687*4882a593Smuzhiyun #address-cells = <1>; 688*4882a593Smuzhiyun #size-cells = <0>; 689*4882a593Smuzhiyun 690*4882a593Smuzhiyun power-domain@RK3588_PD_ISP1 { 691*4882a593Smuzhiyun reg = <RK3588_PD_ISP1>; 692*4882a593Smuzhiyun }; 693*4882a593Smuzhiyun power-domain@RK3588_PD_FEC { 694*4882a593Smuzhiyun reg = <RK3588_PD_FEC>; 695*4882a593Smuzhiyun }; 696*4882a593Smuzhiyun }; 697*4882a593Smuzhiyun power-domain@RK3588_PD_RGA31 { 698*4882a593Smuzhiyun reg = <RK3588_PD_RGA31>; 699*4882a593Smuzhiyun }; 700*4882a593Smuzhiyun power-domain@RK3588_PD_USB { 701*4882a593Smuzhiyun reg = <RK3588_PD_USB>; 702*4882a593Smuzhiyun }; 703*4882a593Smuzhiyun power-domain@RK3588_PD_PHP { 704*4882a593Smuzhiyun reg = <RK3588_PD_PHP>; 705*4882a593Smuzhiyun #address-cells = <1>; 706*4882a593Smuzhiyun #size-cells = <0>; 707*4882a593Smuzhiyun 708*4882a593Smuzhiyun power-domain@RK3588_PD_GMAC { 709*4882a593Smuzhiyun reg = <RK3588_PD_GMAC>; 710*4882a593Smuzhiyun }; 711*4882a593Smuzhiyun power-domain@RK3588_PD_PCIE { 712*4882a593Smuzhiyun reg = <RK3588_PD_PCIE>; 713*4882a593Smuzhiyun }; 714*4882a593Smuzhiyun }; 715*4882a593Smuzhiyun power-domain@RK3588_PD_NVM { 716*4882a593Smuzhiyun reg = <RK3588_PD_NVM>; 717*4882a593Smuzhiyun #address-cells = <1>; 718*4882a593Smuzhiyun #size-cells = <0>; 719*4882a593Smuzhiyun 720*4882a593Smuzhiyun power-domain@RK3588_PD_NVM0 { 721*4882a593Smuzhiyun reg = <RK3588_PD_NVM0>; 722*4882a593Smuzhiyun }; 723*4882a593Smuzhiyun }; 724*4882a593Smuzhiyun power-domain@RK3588_PD_SDIO { 725*4882a593Smuzhiyun reg = <RK3588_PD_SDIO>; 726*4882a593Smuzhiyun }; 727*4882a593Smuzhiyun power-domain@RK3588_PD_AUDIO { 728*4882a593Smuzhiyun reg = <RK3588_PD_AUDIO>; 729*4882a593Smuzhiyun }; 730*4882a593Smuzhiyun power-domain@RK3588_PD_SDMMC { 731*4882a593Smuzhiyun reg = <RK3588_PD_SDMMC>; 732*4882a593Smuzhiyun }; 733*4882a593Smuzhiyun }; 734*4882a593Smuzhiyun }; 735*4882a593Smuzhiyun 736*4882a593Smuzhiyun pvtm@fda40000 { 737*4882a593Smuzhiyun compatible = "rockchip,rk3588-bigcore0-pvtm"; 738*4882a593Smuzhiyun reg = <0x0 0xfda40000 0x0 0x100>; 739*4882a593Smuzhiyun #address-cells = <1>; 740*4882a593Smuzhiyun #size-cells = <0>; 741*4882a593Smuzhiyun pvtm@0 { 742*4882a593Smuzhiyun reg = <0>; 743*4882a593Smuzhiyun clocks = <&cru CLK_BIGCORE0_PVTM>, <&cru PCLK_BIGCORE0_PVTM>; 744*4882a593Smuzhiyun clock-names = "clk", "pclk"; 745*4882a593Smuzhiyun }; 746*4882a593Smuzhiyun }; 747*4882a593Smuzhiyun 748*4882a593Smuzhiyun pvtm@fda50000 { 749*4882a593Smuzhiyun compatible = "rockchip,rk3588-bigcore1-pvtm"; 750*4882a593Smuzhiyun reg = <0x0 0xfda50000 0x0 0x100>; 751*4882a593Smuzhiyun #address-cells = <1>; 752*4882a593Smuzhiyun #size-cells = <0>; 753*4882a593Smuzhiyun pvtm@1 { 754*4882a593Smuzhiyun reg = <1>; 755*4882a593Smuzhiyun clocks = <&cru CLK_BIGCORE1_PVTM>, <&cru PCLK_BIGCORE1_PVTM>; 756*4882a593Smuzhiyun clock-names = "clk", "pclk"; 757*4882a593Smuzhiyun }; 758*4882a593Smuzhiyun }; 759*4882a593Smuzhiyun 760*4882a593Smuzhiyun pvtm@fda60000 { 761*4882a593Smuzhiyun compatible = "rockchip,rk3588-litcore-pvtm"; 762*4882a593Smuzhiyun reg = <0x0 0xfda60000 0x0 0x100>; 763*4882a593Smuzhiyun #address-cells = <1>; 764*4882a593Smuzhiyun #size-cells = <0>; 765*4882a593Smuzhiyun pvtm@2 { 766*4882a593Smuzhiyun reg = <2>; 767*4882a593Smuzhiyun clocks = <&cru CLK_LITCORE_PVTM>, <&cru PCLK_LITCORE_PVTM>; 768*4882a593Smuzhiyun clock-names = "clk", "pclk"; 769*4882a593Smuzhiyun }; 770*4882a593Smuzhiyun }; 771*4882a593Smuzhiyun 772*4882a593Smuzhiyun pvtm@fdaf0000 { 773*4882a593Smuzhiyun compatible = "rockchip,rk3588-npu-pvtm"; 774*4882a593Smuzhiyun reg = <0x0 0xfdaf0000 0x0 0x100>; 775*4882a593Smuzhiyun #address-cells = <1>; 776*4882a593Smuzhiyun #size-cells = <0>; 777*4882a593Smuzhiyun pvtm@3 { 778*4882a593Smuzhiyun reg = <3>; 779*4882a593Smuzhiyun clocks = <&cru CLK_NPU_PVTM>, <&cru PCLK_NPU_PVTM>; 780*4882a593Smuzhiyun clock-names = "clk", "pclk"; 781*4882a593Smuzhiyun resets = <&cru SRST_NPU_PVTM>, <&cru SRST_P_NPU_PVTM>; 782*4882a593Smuzhiyun reset-names = "rts", "rst-p"; 783*4882a593Smuzhiyun }; 784*4882a593Smuzhiyun }; 785*4882a593Smuzhiyun 786*4882a593Smuzhiyun pvtm@fdb30000 { 787*4882a593Smuzhiyun compatible = "rockchip,rk3588-gpu-pvtm"; 788*4882a593Smuzhiyun reg = <0x0 0xfdb30000 0x0 0x100>; 789*4882a593Smuzhiyun #address-cells = <1>; 790*4882a593Smuzhiyun #size-cells = <0>; 791*4882a593Smuzhiyun pvtm@4 { 792*4882a593Smuzhiyun reg = <4>; 793*4882a593Smuzhiyun clocks = <&cru CLK_GPU_PVTM>, <&cru PCLK_GPU_PVTM>; 794*4882a593Smuzhiyun clock-names = "clk", "pclk"; 795*4882a593Smuzhiyun resets = <&cru SRST_GPU_PVTM>, <&cru SRST_P_GPU_PVTM>; 796*4882a593Smuzhiyun reset-names = "rts", "rst-p"; 797*4882a593Smuzhiyun }; 798*4882a593Smuzhiyun }; 799*4882a593Smuzhiyun 800*4882a593Smuzhiyun npu0_mmu: iommu@fdab9000 { 801*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 802*4882a593Smuzhiyun reg = <0x0 0xfdab9000 0x0 0x100>, <0x0 0xfdaba000 0x0 0x100>; 803*4882a593Smuzhiyun interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 804*4882a593Smuzhiyun interrupt-names = "npu0_mmu"; 805*4882a593Smuzhiyun clocks = <&cru ACLK_NPU0>, <&cru HCLK_NPU0>; 806*4882a593Smuzhiyun clock-names = "aclk", "iface"; 807*4882a593Smuzhiyun power-domains = <&power RK3588_PD_NPUTOP>; 808*4882a593Smuzhiyun #iommu-cells = <0>; 809*4882a593Smuzhiyun status = "disabled"; 810*4882a593Smuzhiyun }; 811*4882a593Smuzhiyun 812*4882a593Smuzhiyun npu1_mmu: iommu@fdaca000 { 813*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 814*4882a593Smuzhiyun reg = <0x0 0xfdaca000 0x0 0x100>; 815*4882a593Smuzhiyun interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 816*4882a593Smuzhiyun interrupt-names = "npu1_mmu"; 817*4882a593Smuzhiyun clocks = <&cru ACLK_NPU1>, <&cru HCLK_NPU1>; 818*4882a593Smuzhiyun clock-names = "aclk", "iface"; 819*4882a593Smuzhiyun power-domains = <&power RK3588_PD_NPU1>; 820*4882a593Smuzhiyun #iommu-cells = <0>; 821*4882a593Smuzhiyun status = "disabled"; 822*4882a593Smuzhiyun }; 823*4882a593Smuzhiyun 824*4882a593Smuzhiyun npu2_mmu: iommu@fdada000 { 825*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 826*4882a593Smuzhiyun reg = <0x0 0xfdada000 0x0 0x100>; 827*4882a593Smuzhiyun interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 828*4882a593Smuzhiyun interrupt-names = "npu2_mmu"; 829*4882a593Smuzhiyun clocks = <&cru ACLK_NPU2>, <&cru HCLK_NPU2>; 830*4882a593Smuzhiyun clock-names = "aclk", "iface"; 831*4882a593Smuzhiyun power-domains = <&power RK3588_PD_NPU2>; 832*4882a593Smuzhiyun #iommu-cells = <0>; 833*4882a593Smuzhiyun status = "disabled"; 834*4882a593Smuzhiyun }; 835*4882a593Smuzhiyun 836*4882a593Smuzhiyun vdpu_mmu: iommu@fdb50800 { 837*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 838*4882a593Smuzhiyun reg = <0x0 0xfdb50800 0x0 0x40>; 839*4882a593Smuzhiyun interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 840*4882a593Smuzhiyun interrupt-names = "irq_vdpu_mmu"; 841*4882a593Smuzhiyun clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 842*4882a593Smuzhiyun clock-names = "aclk", "iface"; 843*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 844*4882a593Smuzhiyun #iommu-cells = <0>; 845*4882a593Smuzhiyun status = "disabled"; 846*4882a593Smuzhiyun }; 847*4882a593Smuzhiyun 848*4882a593Smuzhiyun rga3_0_mmu: iommu@fdb60f00 { 849*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 850*4882a593Smuzhiyun reg = <0x0 0xfdb60f00 0x0 0x100>; 851*4882a593Smuzhiyun interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 852*4882a593Smuzhiyun interrupt-names = "rga3_0_mmu"; 853*4882a593Smuzhiyun clocks = <&cru ACLK_RGA3_0>, <&cru HCLK_RGA3_0>; 854*4882a593Smuzhiyun clock-names = "aclk", "iface"; 855*4882a593Smuzhiyun power-domains = <&power RK3588_PD_RGA30>; 856*4882a593Smuzhiyun #iommu-cells = <0>; 857*4882a593Smuzhiyun status = "disabled"; 858*4882a593Smuzhiyun }; 859*4882a593Smuzhiyun 860*4882a593Smuzhiyun rga3_1_mmu: iommu@fdb70f00 { 861*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 862*4882a593Smuzhiyun reg = <0x0 0xfdb70f00 0x0 0x100>; 863*4882a593Smuzhiyun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 864*4882a593Smuzhiyun interrupt-names = "rga3_1_mmu"; 865*4882a593Smuzhiyun clocks = <&cru ACLK_RGA3_1>, <&cru HCLK_RGA3_1>; 866*4882a593Smuzhiyun clock-names = "aclk", "iface"; 867*4882a593Smuzhiyun power-domains = <&power RK3588_PD_RGA31>; 868*4882a593Smuzhiyun #iommu-cells = <0>; 869*4882a593Smuzhiyun status = "disabled"; 870*4882a593Smuzhiyun }; 871*4882a593Smuzhiyun 872*4882a593Smuzhiyun jpegd_mmu: iommu@fdb90480 { 873*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 874*4882a593Smuzhiyun reg = <0x0 0xfdb90480 0x0 0x40>; 875*4882a593Smuzhiyun interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 876*4882a593Smuzhiyun interrupt-names = "irq_jpegd_mmu"; 877*4882a593Smuzhiyun clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>; 878*4882a593Smuzhiyun clock-names = "aclk", "iface"; 879*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 880*4882a593Smuzhiyun #iommu-cells = <0>; 881*4882a593Smuzhiyun status = "disabled"; 882*4882a593Smuzhiyun }; 883*4882a593Smuzhiyun 884*4882a593Smuzhiyun jpege0_mmu: iommu@fdba0800 { 885*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 886*4882a593Smuzhiyun reg = <0x0 0xfdba0800 0x0 0x40>; 887*4882a593Smuzhiyun interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 888*4882a593Smuzhiyun interrupt-names = "irq_jpege0_mmu"; 889*4882a593Smuzhiyun clocks = <&cru ACLK_JPEG_ENCODER0>, <&cru HCLK_JPEG_ENCODER0>; 890*4882a593Smuzhiyun clock-names = "aclk", "iface"; 891*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 892*4882a593Smuzhiyun #iommu-cells = <0>; 893*4882a593Smuzhiyun status = "disabled"; 894*4882a593Smuzhiyun }; 895*4882a593Smuzhiyun 896*4882a593Smuzhiyun jpege1_mmu: iommu@fdba4800 { 897*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 898*4882a593Smuzhiyun reg = <0x0 0xfdba4800 0x0 0x40>; 899*4882a593Smuzhiyun interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 900*4882a593Smuzhiyun interrupt-names = "irq_jpege1_mmu"; 901*4882a593Smuzhiyun clocks = <&cru ACLK_JPEG_ENCODER1>, <&cru HCLK_JPEG_ENCODER1>; 902*4882a593Smuzhiyun clock-names = "aclk", "iface"; 903*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 904*4882a593Smuzhiyun #iommu-cells = <0>; 905*4882a593Smuzhiyun status = "disabled"; 906*4882a593Smuzhiyun }; 907*4882a593Smuzhiyun 908*4882a593Smuzhiyun jpege2_mmu: iommu@fdba8800 { 909*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 910*4882a593Smuzhiyun reg = <0x0 0xfdba8800 0x0 0x40>; 911*4882a593Smuzhiyun interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 912*4882a593Smuzhiyun interrupt-names = "irq_jpege2_mmu"; 913*4882a593Smuzhiyun clocks = <&cru ACLK_JPEG_ENCODER2>, <&cru HCLK_JPEG_ENCODER2>; 914*4882a593Smuzhiyun clock-names = "aclk", "iface"; 915*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 916*4882a593Smuzhiyun #iommu-cells = <0>; 917*4882a593Smuzhiyun status = "disabled"; 918*4882a593Smuzhiyun }; 919*4882a593Smuzhiyun 920*4882a593Smuzhiyun jpege3_mmu: iommu@fdbac800 { 921*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 922*4882a593Smuzhiyun reg = <0x0 0xfdbac800 0x0 0x40>; 923*4882a593Smuzhiyun interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 924*4882a593Smuzhiyun interrupt-names = "irq_jpege3_mmu"; 925*4882a593Smuzhiyun clocks = <&cru ACLK_JPEG_ENCODER3>, <&cru HCLK_JPEG_ENCODER3>; 926*4882a593Smuzhiyun clock-names = "aclk", "iface"; 927*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 928*4882a593Smuzhiyun #iommu-cells = <0>; 929*4882a593Smuzhiyun status = "disabled"; 930*4882a593Smuzhiyun }; 931*4882a593Smuzhiyun 932*4882a593Smuzhiyun iep_mmu: iommu@fdbb0800 { 933*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 934*4882a593Smuzhiyun reg = <0x0 0xfdbb0800 0x0 0x100>; 935*4882a593Smuzhiyun interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 936*4882a593Smuzhiyun interrupt-names = "irq_iep_mmu"; 937*4882a593Smuzhiyun clocks = <&cru ACLK_IEP2P0>, <&cru HCLK_IEP2P0>; 938*4882a593Smuzhiyun clock-names = "aclk", "iface"; 939*4882a593Smuzhiyun #iommu-cells = <0>; 940*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VDPU>; 941*4882a593Smuzhiyun status = "disabled"; 942*4882a593Smuzhiyun }; 943*4882a593Smuzhiyun 944*4882a593Smuzhiyun rkvenc0_mmu: iommu@fdbdf000 { 945*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 946*4882a593Smuzhiyun reg = <0x0 0xfdbdf000 0x0 0x40>, <0x0 0xfdbdf040 0x0 0x40>; 947*4882a593Smuzhiyun interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 948*4882a593Smuzhiyun <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 949*4882a593Smuzhiyun interrupt-names = "irq_rkvenc0_mmu0", "irq_rkvenc0_mmu1"; 950*4882a593Smuzhiyun clocks = <&cru ACLK_RKVENC0>, <&cru HCLK_RKVENC0>; 951*4882a593Smuzhiyun clock-names = "aclk", "iface"; 952*4882a593Smuzhiyun rockchip,disable-mmu-reset; 953*4882a593Smuzhiyun rockchip,enable-cmd-retry; 954*4882a593Smuzhiyun #iommu-cells = <0>; 955*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VENC0>; 956*4882a593Smuzhiyun status = "disabled"; 957*4882a593Smuzhiyun }; 958*4882a593Smuzhiyun 959*4882a593Smuzhiyun rkvenc1_mmu: iommu@fdbef000 { 960*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 961*4882a593Smuzhiyun reg = <0x0 0xfdbef000 0x0 0x40>, <0x0 0xfdbef040 0x0 0x40>; 962*4882a593Smuzhiyun interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 963*4882a593Smuzhiyun <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 964*4882a593Smuzhiyun interrupt-names = "irq_rkvenc1_mmu0", "irq_rkvenc1_mmu1"; 965*4882a593Smuzhiyun clocks = <&cru ACLK_RKVENC1>, <&cru HCLK_RKVENC1>; 966*4882a593Smuzhiyun lock-names = "aclk", "iface"; 967*4882a593Smuzhiyun rockchip,disable-mmu-reset; 968*4882a593Smuzhiyun rockchip,enable-cmd-retry; 969*4882a593Smuzhiyun #iommu-cells = <0>; 970*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VENC1>; 971*4882a593Smuzhiyun status = "disabled"; 972*4882a593Smuzhiyun }; 973*4882a593Smuzhiyun 974*4882a593Smuzhiyun rkvdec0_mmu: iommu@fdc38700 { 975*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 976*4882a593Smuzhiyun reg = <0x0 0xfdc38700 0x0 0x40>, <0x0 0xfdc38740 0x0 0x40>; 977*4882a593Smuzhiyun interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 978*4882a593Smuzhiyun interrupt-names = "irq_rkvdec0_mmu"; 979*4882a593Smuzhiyun locks = <&cru ACLK_RKVDEC0>, <&cru HCLK_RKVDEC0>; 980*4882a593Smuzhiyun clock-names = "aclk", "iface"; 981*4882a593Smuzhiyun rockchip,disable-mmu-reset; 982*4882a593Smuzhiyun rockchip,enable-cmd-retry; 983*4882a593Smuzhiyun #iommu-cells = <0>; 984*4882a593Smuzhiyun power-domains = <&power RK3588_PD_RKVDEC0>; 985*4882a593Smuzhiyun status = "disabled"; 986*4882a593Smuzhiyun }; 987*4882a593Smuzhiyun 988*4882a593Smuzhiyun rkvdec1_mmu: iommu@fdc48700 { 989*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 990*4882a593Smuzhiyun reg = <0x0 0xfdc48700 0x0 0x40>, <0x0 0xfdc48740 0x0 0x40>; 991*4882a593Smuzhiyun interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 992*4882a593Smuzhiyun interrupt-names = "irq_rkvdec1_mmu"; 993*4882a593Smuzhiyun clocks = <&cru ACLK_RKVDEC1>, <&cru HCLK_RKVDEC1>; 994*4882a593Smuzhiyun clock-names = "aclk", "iface"; 995*4882a593Smuzhiyun rockchip,disable-mmu-reset; 996*4882a593Smuzhiyun rockchip,enable-cmd-retry; 997*4882a593Smuzhiyun #iommu-cells = <0>; 998*4882a593Smuzhiyun power-domains = <&power RK3588_PD_RKVDEC1>; 999*4882a593Smuzhiyun status = "disabled"; 1000*4882a593Smuzhiyun }; 1001*4882a593Smuzhiyun 1002*4882a593Smuzhiyun isp0_mmu: iommu@fdcb7f00 { 1003*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 1004*4882a593Smuzhiyun reg = <0x0 0xfdcb7f00 0x0 0x100>; 1005*4882a593Smuzhiyun interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 1006*4882a593Smuzhiyun interrupt-names = "isp0_mmu"; 1007*4882a593Smuzhiyun clocks = <&cru ACLK_ISP0>, <&cru HCLK_ISP0>; 1008*4882a593Smuzhiyun clock-names = "aclk", "iface"; 1009*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VI>; 1010*4882a593Smuzhiyun #iommu-cells = <0>; 1011*4882a593Smuzhiyun rockchip,disable-mmu-reset; 1012*4882a593Smuzhiyun status = "disabled"; 1013*4882a593Smuzhiyun }; 1014*4882a593Smuzhiyun 1015*4882a593Smuzhiyun isp1_mmu: iommu@fdcc7f00 { 1016*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 1017*4882a593Smuzhiyun reg = <0x0 0xfdcc7f00 0x0 0x100>; 1018*4882a593Smuzhiyun interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 1019*4882a593Smuzhiyun interrupt-names = "isp1_mmu"; 1020*4882a593Smuzhiyun clocks = <&cru ACLK_ISP1>, <&cru HCLK_ISP1>; 1021*4882a593Smuzhiyun clock-names = "aclk", "iface"; 1022*4882a593Smuzhiyun power-domains = <&power RK3588_PD_ISP1>; 1023*4882a593Smuzhiyun #iommu-cells = <0>; 1024*4882a593Smuzhiyun rockchip,disable-mmu-reset; 1025*4882a593Smuzhiyun status = "disabled"; 1026*4882a593Smuzhiyun }; 1027*4882a593Smuzhiyun 1028*4882a593Smuzhiyun fec0_mmu: iommu@fdcd0f00 { 1029*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 1030*4882a593Smuzhiyun reg = <0x0 0xfdcd0f00 0x0 0x100>; 1031*4882a593Smuzhiyun interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 1032*4882a593Smuzhiyun interrupt-names = "fec0_mmu"; 1033*4882a593Smuzhiyun clocks = <&cru ACLK_FISHEYE0>, <&cru HCLK_FISHEYE0>; 1034*4882a593Smuzhiyun clock-names = "aclk", "iface"; 1035*4882a593Smuzhiyun power-domains = <&power RK3588_PD_FEC>; 1036*4882a593Smuzhiyun #iommu-cells = <0>; 1037*4882a593Smuzhiyun status = "disabled"; 1038*4882a593Smuzhiyun }; 1039*4882a593Smuzhiyun 1040*4882a593Smuzhiyun fec1_mmu: iommu@fdcd8f00 { 1041*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 1042*4882a593Smuzhiyun reg = <0x0 0xfdcd8f00 0x0 0x100>; 1043*4882a593Smuzhiyun interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 1044*4882a593Smuzhiyun interrupt-names = "fec1_mmu"; 1045*4882a593Smuzhiyun clocks = <&cru ACLK_FISHEYE1>, <&cru HCLK_FISHEYE1>; 1046*4882a593Smuzhiyun clock-names = "aclk", "iface"; 1047*4882a593Smuzhiyun power-domains = <&power RK3588_PD_FEC>; 1048*4882a593Smuzhiyun #iommu-cells = <0>; 1049*4882a593Smuzhiyun status = "disabled"; 1050*4882a593Smuzhiyun }; 1051*4882a593Smuzhiyun 1052*4882a593Smuzhiyun vop_mmu: iommu@fdd97e00 { 1053*4882a593Smuzhiyun compatible = "rockchip,iommu-v2"; 1054*4882a593Smuzhiyun reg = <0x0 0xfdd97e00 0x0 0x100>, <0x0 0xfdd97f00 0x0 0x100>; 1055*4882a593Smuzhiyun interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 1056*4882a593Smuzhiyun interrupt-names = "vop_mmu"; 1057*4882a593Smuzhiyun clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 1058*4882a593Smuzhiyun clock-names = "aclk", "iface"; 1059*4882a593Smuzhiyun #iommu-cells = <0>; 1060*4882a593Smuzhiyun rockchip,disable-device-link-resume; 1061*4882a593Smuzhiyun status = "disabled"; 1062*4882a593Smuzhiyun }; 1063*4882a593Smuzhiyun 1064*4882a593Smuzhiyun spdif_tx2: spdif-tx@fddb0000 { 1065*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif"; 1066*4882a593Smuzhiyun reg = <0x0 0xfddb0000 0x0 0x1000>; 1067*4882a593Smuzhiyun interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; 1068*4882a593Smuzhiyun dmas = <&dmac1 6>; 1069*4882a593Smuzhiyun dma-names = "tx"; 1070*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 1071*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIF2_DP0>, <&cru HCLK_SPDIF2_DP0>; 1072*4882a593Smuzhiyun #sound-dai-cells = <0>; 1073*4882a593Smuzhiyun status = "disabled"; 1074*4882a593Smuzhiyun }; 1075*4882a593Smuzhiyun 1076*4882a593Smuzhiyun i2s4_8ch: i2s@fddc0000 { 1077*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 1078*4882a593Smuzhiyun reg = <0x0 0xfddc0000 0x0 0x1000>; 1079*4882a593Smuzhiyun interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 1080*4882a593Smuzhiyun clocks = <&cru MCLK_I2S4_8CH_TX>, <&cru HCLK_I2S4_8CH>; 1081*4882a593Smuzhiyun clock-names = "mclk_tx", "hclk"; 1082*4882a593Smuzhiyun dmas = <&dmac2 0>; 1083*4882a593Smuzhiyun dma-names = "tx"; 1084*4882a593Smuzhiyun resets = <&cru SRST_M_I2S4_8CH_TX>; 1085*4882a593Smuzhiyun reset-names = "tx-m"; 1086*4882a593Smuzhiyun #sound-dai-cells = <0>; 1087*4882a593Smuzhiyun status = "disabled"; 1088*4882a593Smuzhiyun }; 1089*4882a593Smuzhiyun 1090*4882a593Smuzhiyun spdif_tx3: spdif-tx@fdde0000 { 1091*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif"; 1092*4882a593Smuzhiyun reg = <0x0 0xfdde0000 0x0 0x1000>; 1093*4882a593Smuzhiyun interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; 1094*4882a593Smuzhiyun dmas = <&dmac1 7>; 1095*4882a593Smuzhiyun dma-names = "tx"; 1096*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 1097*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIF3>, <&cru HCLK_SPDIF3>; 1098*4882a593Smuzhiyun #sound-dai-cells = <0>; 1099*4882a593Smuzhiyun status = "disabled"; 1100*4882a593Smuzhiyun }; 1101*4882a593Smuzhiyun 1102*4882a593Smuzhiyun i2s5_8ch: i2s@fddf0000 { 1103*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 1104*4882a593Smuzhiyun reg = <0x0 0xfddf0000 0x0 0x1000>; 1105*4882a593Smuzhiyun interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; 1106*4882a593Smuzhiyun clocks = <&cru MCLK_I2S5_8CH_TX>, <&cru HCLK_I2S5_8CH>; 1107*4882a593Smuzhiyun clock-names = "mclk_tx", "hclk"; 1108*4882a593Smuzhiyun dmas = <&dmac2 2>; 1109*4882a593Smuzhiyun dma-names = "tx"; 1110*4882a593Smuzhiyun resets = <&cru SRST_M_I2S5_8CH_TX>; 1111*4882a593Smuzhiyun reset-names = "tx-m"; 1112*4882a593Smuzhiyun #sound-dai-cells = <0>; 1113*4882a593Smuzhiyun status = "disabled"; 1114*4882a593Smuzhiyun }; 1115*4882a593Smuzhiyun 1116*4882a593Smuzhiyun i2s9_8ch: i2s@fddfc000 { 1117*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 1118*4882a593Smuzhiyun reg = <0x0 0xfddfc000 0x0 0x1000>; 1119*4882a593Smuzhiyun interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 1120*4882a593Smuzhiyun clocks = <&cru MCLK_I2S9_8CH_RX>, <&cru HCLK_I2S9_8CH>; 1121*4882a593Smuzhiyun clock-names = "mclk_rx", "hclk"; 1122*4882a593Smuzhiyun dmas = <&dmac2 23>; 1123*4882a593Smuzhiyun dma-names = "rx"; 1124*4882a593Smuzhiyun resets = <&cru SRST_M_I2S9_8CH_RX>; 1125*4882a593Smuzhiyun reset-names = "rx-m"; 1126*4882a593Smuzhiyun #sound-dai-cells = <0>; 1127*4882a593Smuzhiyun status = "disabled"; 1128*4882a593Smuzhiyun }; 1129*4882a593Smuzhiyun 1130*4882a593Smuzhiyun spdif_rx0: spdif-rx@fde08000 { 1131*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdifrx", "rockchip,rk3308-spdifrx"; 1132*4882a593Smuzhiyun reg = <0x0 0xfde08000 0x0 0x1000>; 1133*4882a593Smuzhiyun interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 1134*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIFRX0>, <&cru HCLK_SPDIFRX0>; 1135*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 1136*4882a593Smuzhiyun dmas = <&dmac0 21>; 1137*4882a593Smuzhiyun dma-names = "rx"; 1138*4882a593Smuzhiyun resets = <&cru SRST_M_SPDIFRX0>; 1139*4882a593Smuzhiyun reset-names = "spdifrx-m"; 1140*4882a593Smuzhiyun #sound-dai-cells = <0>; 1141*4882a593Smuzhiyun status = "disabled"; 1142*4882a593Smuzhiyun }; 1143*4882a593Smuzhiyun 1144*4882a593Smuzhiyun edp0: edp@fdec0000 { 1145*4882a593Smuzhiyun compatible = "rockchip,rk3588-edp"; 1146*4882a593Smuzhiyun reg = <0x0 0xfdec0000 0x0 0x1000>; 1147*4882a593Smuzhiyun interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 1148*4882a593Smuzhiyun clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, 1149*4882a593Smuzhiyun <&cru CLK_EDP0_200M>; 1150*4882a593Smuzhiyun clock-names = "dp", "pclk", "spdif"; 1151*4882a593Smuzhiyun resets = <&cru SRST_EDP0_24M>, <&cru SRST_P_EDP0>; 1152*4882a593Smuzhiyun reset-names = "dp", "apb"; 1153*4882a593Smuzhiyun phys = <&hdptxphy0>; 1154*4882a593Smuzhiyun phy-names = "dp"; 1155*4882a593Smuzhiyun power-domains = <&power RK3588_PD_VO1>; 1156*4882a593Smuzhiyun rockchip,grf = <&vo1_grf>; 1157*4882a593Smuzhiyun status = "disabled"; 1158*4882a593Smuzhiyun }; 1159*4882a593Smuzhiyun 1160*4882a593Smuzhiyun pcie2x1l1: pcie@fe180000 { 1161*4882a593Smuzhiyun compatible = "rockchip,rk3588-pcie", "snps,dw-pcie"; 1162*4882a593Smuzhiyun #address-cells = <3>; 1163*4882a593Smuzhiyun #size-cells = <2>; 1164*4882a593Smuzhiyun bus-range = <0x30 0x3f>; 1165*4882a593Smuzhiyun clocks = <&cru ACLK_PCIE_1L1_MSTR>, <&cru ACLK_PCIE_1L1_SLV>, 1166*4882a593Smuzhiyun <&cru ACLK_PCIE_1L1_DBI>, <&cru PCLK_PCIE_1L1>, 1167*4882a593Smuzhiyun <&cru CLK_PCIE_AUX3>; 1168*4882a593Smuzhiyun clock-names = "aclk_mst", "aclk_slv", 1169*4882a593Smuzhiyun "aclk_dbi", "pclk", "aux"; 1170*4882a593Smuzhiyun device_type = "pci"; 1171*4882a593Smuzhiyun interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 1172*4882a593Smuzhiyun <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1173*4882a593Smuzhiyun <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 1174*4882a593Smuzhiyun <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 1175*4882a593Smuzhiyun <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>; 1176*4882a593Smuzhiyun interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1177*4882a593Smuzhiyun #interrupt-cells = <1>; 1178*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 1179*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &pcie2x1l1_intc 0>, 1180*4882a593Smuzhiyun <0 0 0 2 &pcie2x1l1_intc 1>, 1181*4882a593Smuzhiyun <0 0 0 3 &pcie2x1l1_intc 2>, 1182*4882a593Smuzhiyun <0 0 0 4 &pcie2x1l1_intc 3>; 1183*4882a593Smuzhiyun linux,pci-domain = <3>; 1184*4882a593Smuzhiyun num-ib-windows = <8>; 1185*4882a593Smuzhiyun num-ob-windows = <8>; 1186*4882a593Smuzhiyun max-link-speed = <2>; 1187*4882a593Smuzhiyun msi-map = <0x3000 &its 0x3000 0x1000>; 1188*4882a593Smuzhiyun num-lanes = <1>; 1189*4882a593Smuzhiyun phys = <&combphy2_psu PHY_TYPE_PCIE>; 1190*4882a593Smuzhiyun phy-names = "pcie-phy"; 1191*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PHP>; 1192*4882a593Smuzhiyun ranges = <0x00000800 0x0 0xf3000000 0x0 0xf3000000 0x0 0x100000 1193*4882a593Smuzhiyun 0x81000000 0x0 0xf3100000 0x0 0xf3100000 0x0 0x100000 1194*4882a593Smuzhiyun 0x82000000 0x0 0xf3200000 0x0 0xf3200000 0x0 0xe00000 1195*4882a593Smuzhiyun 0xc3000000 0x9 0xc0000000 0x9 0xc0000000 0x0 0x40000000>; 1196*4882a593Smuzhiyun 1197*4882a593Smuzhiyun reg = <0xa 0x40c00000 0x0 0x400000>, 1198*4882a593Smuzhiyun <0x0 0xfe180000 0x0 0x10000>; 1199*4882a593Smuzhiyun reg-names = "pcie-dbi", "pcie-apb"; 1200*4882a593Smuzhiyun resets = <&cru SRST_PCIE3_POWER_UP>; 1201*4882a593Smuzhiyun reset-names = "pipe"; 1202*4882a593Smuzhiyun status = "disabled"; 1203*4882a593Smuzhiyun 1204*4882a593Smuzhiyun pcie2x1l1_intc: legacy-interrupt-controller { 1205*4882a593Smuzhiyun interrupt-controller; 1206*4882a593Smuzhiyun #address-cells = <0>; 1207*4882a593Smuzhiyun #interrupt-cells = <1>; 1208*4882a593Smuzhiyun interrupt-parent = <&gic>; 1209*4882a593Smuzhiyun interrupts = <GIC_SPI 245 IRQ_TYPE_EDGE_RISING>; 1210*4882a593Smuzhiyun }; 1211*4882a593Smuzhiyun }; 1212*4882a593Smuzhiyun 1213*4882a593Smuzhiyun pcie2x1l2: pcie@fe190000 { 1214*4882a593Smuzhiyun compatible = "rockchip,rk3588-pcie", "snps,dw-pcie"; 1215*4882a593Smuzhiyun #address-cells = <3>; 1216*4882a593Smuzhiyun #size-cells = <2>; 1217*4882a593Smuzhiyun bus-range = <0x40 0x4f>; 1218*4882a593Smuzhiyun clocks = <&cru ACLK_PCIE_1L2_MSTR>, <&cru ACLK_PCIE_1L2_SLV>, 1219*4882a593Smuzhiyun <&cru ACLK_PCIE_1L2_DBI>, <&cru PCLK_PCIE_1L2>, 1220*4882a593Smuzhiyun <&cru CLK_PCIE_AUX4>; 1221*4882a593Smuzhiyun clock-names = "aclk_mst", "aclk_slv", 1222*4882a593Smuzhiyun "aclk_dbi", "pclk", "aux"; 1223*4882a593Smuzhiyun device_type = "pci"; 1224*4882a593Smuzhiyun interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 1225*4882a593Smuzhiyun <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 1226*4882a593Smuzhiyun <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 1227*4882a593Smuzhiyun <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 1228*4882a593Smuzhiyun <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>; 1229*4882a593Smuzhiyun interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 1230*4882a593Smuzhiyun #interrupt-cells = <1>; 1231*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 1232*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &pcie2x1l2_intc 0>, 1233*4882a593Smuzhiyun <0 0 0 2 &pcie2x1l2_intc 1>, 1234*4882a593Smuzhiyun <0 0 0 3 &pcie2x1l2_intc 2>, 1235*4882a593Smuzhiyun <0 0 0 4 &pcie2x1l2_intc 3>; 1236*4882a593Smuzhiyun linux,pci-domain = <4>; 1237*4882a593Smuzhiyun num-ib-windows = <8>; 1238*4882a593Smuzhiyun num-ob-windows = <8>; 1239*4882a593Smuzhiyun max-link-speed = <2>; 1240*4882a593Smuzhiyun msi-map = <0x4000 &its 0x4000 0x1000>; 1241*4882a593Smuzhiyun num-lanes = <1>; 1242*4882a593Smuzhiyun phys = <&combphy0_ps PHY_TYPE_PCIE>; 1243*4882a593Smuzhiyun phy-names = "pcie-phy"; 1244*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PHP>; 1245*4882a593Smuzhiyun ranges = <0x00000800 0x0 0xf4000000 0x0 0xf4000000 0x0 0x100000 1246*4882a593Smuzhiyun 0x81000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x100000 1247*4882a593Smuzhiyun 0x82000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0xe00000 1248*4882a593Smuzhiyun 0xc3000000 0xa 0x00000000 0xa 0x00000000 0x0 0x40000000>; 1249*4882a593Smuzhiyun reg = <0xa 0x41000000 0x0 0x400000>, 1250*4882a593Smuzhiyun <0x0 0xfe190000 0x0 0x10000>; 1251*4882a593Smuzhiyun reg-names = "pcie-dbi", "pcie-apb"; 1252*4882a593Smuzhiyun resets = <&cru SRST_PCIE4_POWER_UP>; 1253*4882a593Smuzhiyun reset-names = "pipe"; 1254*4882a593Smuzhiyun status = "disabled"; 1255*4882a593Smuzhiyun 1256*4882a593Smuzhiyun pcie2x1l2_intc: legacy-interrupt-controller { 1257*4882a593Smuzhiyun interrupt-controller; 1258*4882a593Smuzhiyun #address-cells = <0>; 1259*4882a593Smuzhiyun #interrupt-cells = <1>; 1260*4882a593Smuzhiyun interrupt-parent = <&gic>; 1261*4882a593Smuzhiyun interrupts = <GIC_SPI 250 IRQ_TYPE_EDGE_RISING>; 1262*4882a593Smuzhiyun }; 1263*4882a593Smuzhiyun }; 1264*4882a593Smuzhiyun 1265*4882a593Smuzhiyun gmac1: ethernet@fe1c0000 { 1266*4882a593Smuzhiyun compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a"; 1267*4882a593Smuzhiyun reg = <0x0 0xfe1c0000 0x0 0x10000>; 1268*4882a593Smuzhiyun interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>, 1269*4882a593Smuzhiyun <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>; 1270*4882a593Smuzhiyun interrupt-names = "macirq", "eth_wake_irq"; 1271*4882a593Smuzhiyun rockchip,grf = <&sys_grf>; 1272*4882a593Smuzhiyun rockchip,php_grf = <&php_grf>; 1273*4882a593Smuzhiyun clocks = <&cru CLK_GMAC1>, <&cru ACLK_GMAC1>, 1274*4882a593Smuzhiyun <&cru PCLK_GMAC1>, <&cru CLK_GMAC1_PTP_REF>; 1275*4882a593Smuzhiyun clock-names = "stmmaceth", "aclk_mac", 1276*4882a593Smuzhiyun "pclk_mac", "ptp_ref"; 1277*4882a593Smuzhiyun resets = <&cru SRST_A_GMAC1>; 1278*4882a593Smuzhiyun reset-names = "stmmaceth"; 1279*4882a593Smuzhiyun 1280*4882a593Smuzhiyun snps,mixed-burst; 1281*4882a593Smuzhiyun snps,tso; 1282*4882a593Smuzhiyun 1283*4882a593Smuzhiyun snps,axi-config = <&gmac1_stmmac_axi_setup>; 1284*4882a593Smuzhiyun snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 1285*4882a593Smuzhiyun snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 1286*4882a593Smuzhiyun status = "disabled"; 1287*4882a593Smuzhiyun 1288*4882a593Smuzhiyun mdio1: mdio { 1289*4882a593Smuzhiyun compatible = "snps,dwmac-mdio"; 1290*4882a593Smuzhiyun #address-cells = <0x1>; 1291*4882a593Smuzhiyun #size-cells = <0x0>; 1292*4882a593Smuzhiyun }; 1293*4882a593Smuzhiyun 1294*4882a593Smuzhiyun gmac1_stmmac_axi_setup: stmmac-axi-config { 1295*4882a593Smuzhiyun snps,wr_osr_lmt = <4>; 1296*4882a593Smuzhiyun snps,rd_osr_lmt = <8>; 1297*4882a593Smuzhiyun snps,blen = <0 0 0 0 16 8 4>; 1298*4882a593Smuzhiyun }; 1299*4882a593Smuzhiyun 1300*4882a593Smuzhiyun gmac1_mtl_rx_setup: rx-queues-config { 1301*4882a593Smuzhiyun snps,rx-queues-to-use = <2>; 1302*4882a593Smuzhiyun queue0 {}; 1303*4882a593Smuzhiyun queue1 {}; 1304*4882a593Smuzhiyun }; 1305*4882a593Smuzhiyun 1306*4882a593Smuzhiyun gmac1_mtl_tx_setup: tx-queues-config { 1307*4882a593Smuzhiyun snps,tx-queues-to-use = <2>; 1308*4882a593Smuzhiyun queue0 {}; 1309*4882a593Smuzhiyun queue1 {}; 1310*4882a593Smuzhiyun }; 1311*4882a593Smuzhiyun }; 1312*4882a593Smuzhiyun 1313*4882a593Smuzhiyun sata0: sata@fe210000 { 1314*4882a593Smuzhiyun compatible = "snps,dwc-ahci"; 1315*4882a593Smuzhiyun reg = <0 0xfe210000 0 0x1000>; 1316*4882a593Smuzhiyun clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>, 1317*4882a593Smuzhiyun <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>; 1318*4882a593Smuzhiyun clock-names = "sata", "pmalive", "rxoob", "ref"; 1319*4882a593Smuzhiyun interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>; 1320*4882a593Smuzhiyun interrupt-names = "hostc"; 1321*4882a593Smuzhiyun phys = <&combphy0_ps PHY_TYPE_SATA>; 1322*4882a593Smuzhiyun phy-names = "sata-phy"; 1323*4882a593Smuzhiyun ports-implemented = <0x1>; 1324*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PHP>; 1325*4882a593Smuzhiyun status = "disabled"; 1326*4882a593Smuzhiyun }; 1327*4882a593Smuzhiyun 1328*4882a593Smuzhiyun sata2: sata@fe230000 { 1329*4882a593Smuzhiyun compatible = "snps,dwc-ahci"; 1330*4882a593Smuzhiyun reg = <0 0xfe230000 0 0x1000>; 1331*4882a593Smuzhiyun clocks = <&cru ACLK_SATA2>, <&cru CLK_PMALIVE2>, 1332*4882a593Smuzhiyun <&cru CLK_RXOOB2>, <&cru CLK_PIPEPHY2_REF>; 1333*4882a593Smuzhiyun clock-names = "sata", "pmalive", "rxoob", "ref"; 1334*4882a593Smuzhiyun interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>; 1335*4882a593Smuzhiyun interrupt-names = "hostc"; 1336*4882a593Smuzhiyun phys = <&combphy2_psu PHY_TYPE_SATA>; 1337*4882a593Smuzhiyun phy-names = "sata-phy"; 1338*4882a593Smuzhiyun ports-implemented = <0x1>; 1339*4882a593Smuzhiyun power-domains = <&power RK3588_PD_PHP>; 1340*4882a593Smuzhiyun status = "disabled"; 1341*4882a593Smuzhiyun }; 1342*4882a593Smuzhiyun 1343*4882a593Smuzhiyun sfc: spi@fe2b0000 { 1344*4882a593Smuzhiyun compatible = "rockchip,sfc"; 1345*4882a593Smuzhiyun reg = <0x0 0xfe2b0000 0x0 0x4000>; 1346*4882a593Smuzhiyun interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; 1347*4882a593Smuzhiyun clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 1348*4882a593Smuzhiyun clock-names = "clk_sfc", "hclk_sfc"; 1349*4882a593Smuzhiyun assigned-clocks = <&cru SCLK_SFC>; 1350*4882a593Smuzhiyun assigned-clock-rates = <100000000>; 1351*4882a593Smuzhiyun #address-cells = <1>; 1352*4882a593Smuzhiyun #size-cells = <0>; 1353*4882a593Smuzhiyun status = "disabled"; 1354*4882a593Smuzhiyun }; 1355*4882a593Smuzhiyun 1356*4882a593Smuzhiyun sdmmc: mmc@fe2c0000 { 1357*4882a593Smuzhiyun compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc"; 1358*4882a593Smuzhiyun reg = <0x0 0xfe2c0000 0x0 0x4000>; 1359*4882a593Smuzhiyun interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; 1360*4882a593Smuzhiyun clocks = <&scmi_clk SCMI_CCLK_SD>, <&scmi_clk SCMI_HCLK_SD>, 1361*4882a593Smuzhiyun <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 1362*4882a593Smuzhiyun clock-names = "ciu", "biu", "ciu-drive", "ciu-sample"; 1363*4882a593Smuzhiyun fifo-depth = <0x100>; 1364*4882a593Smuzhiyun max-frequency = <200000000>; 1365*4882a593Smuzhiyun pinctrl-names = "default"; 1366*4882a593Smuzhiyun pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>; 1367*4882a593Smuzhiyun status = "disabled"; 1368*4882a593Smuzhiyun }; 1369*4882a593Smuzhiyun 1370*4882a593Smuzhiyun sdio: mmc@fe2d0000 { 1371*4882a593Smuzhiyun compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc"; 1372*4882a593Smuzhiyun reg = <0x0 0xfe2d0000 0x0 0x4000>; 1373*4882a593Smuzhiyun interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>; 1374*4882a593Smuzhiyun clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>, 1375*4882a593Smuzhiyun <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 1376*4882a593Smuzhiyun clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1377*4882a593Smuzhiyun fifo-depth = <0x100>; 1378*4882a593Smuzhiyun max-frequency = <200000000>; 1379*4882a593Smuzhiyun status = "disabled"; 1380*4882a593Smuzhiyun }; 1381*4882a593Smuzhiyun 1382*4882a593Smuzhiyun sdhci: mmc@fe2e0000 { 1383*4882a593Smuzhiyun compatible = "rockchip,rk3588-dwcmshc", "rockchip,dwcmshc-sdhci"; 1384*4882a593Smuzhiyun reg = <0x0 0xfe2e0000 0x0 0x10000>; 1385*4882a593Smuzhiyun interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>; 1386*4882a593Smuzhiyun assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>; 1387*4882a593Smuzhiyun assigned-clock-rates = <200000000>, <24000000>; 1388*4882a593Smuzhiyun clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>, 1389*4882a593Smuzhiyun <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 1390*4882a593Smuzhiyun <&cru TMCLK_EMMC>; 1391*4882a593Smuzhiyun clock-names = "core", "bus", "axi", "block", "timer"; 1392*4882a593Smuzhiyun max-frequency = <200000000>; 1393*4882a593Smuzhiyun status = "disabled"; 1394*4882a593Smuzhiyun }; 1395*4882a593Smuzhiyun 1396*4882a593Smuzhiyun i2s0_8ch: i2s@fe470000 { 1397*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 1398*4882a593Smuzhiyun reg = <0x0 0xfe470000 0x0 0x1000>; 1399*4882a593Smuzhiyun interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; 1400*4882a593Smuzhiyun clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>; 1401*4882a593Smuzhiyun clock-names = "mclk_tx", "mclk_rx", "hclk"; 1402*4882a593Smuzhiyun dmas = <&dmac0 0>, <&dmac0 1>; 1403*4882a593Smuzhiyun dma-names = "tx", "rx"; 1404*4882a593Smuzhiyun resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>; 1405*4882a593Smuzhiyun reset-names = "tx-m", "rx-m"; 1406*4882a593Smuzhiyun pinctrl-names = "default"; 1407*4882a593Smuzhiyun pinctrl-0 = <&i2s0_lrck 1408*4882a593Smuzhiyun &i2s0_sclk 1409*4882a593Smuzhiyun &i2s0_sdi0 1410*4882a593Smuzhiyun &i2s0_sdi1 1411*4882a593Smuzhiyun &i2s0_sdi2 1412*4882a593Smuzhiyun &i2s0_sdi3 1413*4882a593Smuzhiyun &i2s0_sdo0 1414*4882a593Smuzhiyun &i2s0_sdo1 1415*4882a593Smuzhiyun &i2s0_sdo2 1416*4882a593Smuzhiyun &i2s0_sdo3>; 1417*4882a593Smuzhiyun #sound-dai-cells = <0>; 1418*4882a593Smuzhiyun status = "disabled"; 1419*4882a593Smuzhiyun }; 1420*4882a593Smuzhiyun 1421*4882a593Smuzhiyun i2s1_8ch: i2s@fe480000 { 1422*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s-tdm"; 1423*4882a593Smuzhiyun reg = <0x0 0xfe480000 0x0 0x1000>; 1424*4882a593Smuzhiyun interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>; 1425*4882a593Smuzhiyun clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>; 1426*4882a593Smuzhiyun clock-names = "mclk_tx", "mclk_rx", "hclk"; 1427*4882a593Smuzhiyun dmas = <&dmac0 2>, <&dmac0 3>; 1428*4882a593Smuzhiyun dma-names = "tx", "rx"; 1429*4882a593Smuzhiyun resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>; 1430*4882a593Smuzhiyun reset-names = "tx-m", "rx-m"; 1431*4882a593Smuzhiyun pinctrl-names = "default"; 1432*4882a593Smuzhiyun pinctrl-0 = <&i2s1m0_lrck 1433*4882a593Smuzhiyun &i2s1m0_sclk 1434*4882a593Smuzhiyun &i2s1m0_sdi0 1435*4882a593Smuzhiyun &i2s1m0_sdi1 1436*4882a593Smuzhiyun &i2s1m0_sdi2 1437*4882a593Smuzhiyun &i2s1m0_sdi3 1438*4882a593Smuzhiyun &i2s1m0_sdo0 1439*4882a593Smuzhiyun &i2s1m0_sdo1 1440*4882a593Smuzhiyun &i2s1m0_sdo2 1441*4882a593Smuzhiyun &i2s1m0_sdo3>; 1442*4882a593Smuzhiyun #sound-dai-cells = <0>; 1443*4882a593Smuzhiyun status = "disabled"; 1444*4882a593Smuzhiyun }; 1445*4882a593Smuzhiyun 1446*4882a593Smuzhiyun i2s2_2ch: i2s@fe490000 { 1447*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s"; 1448*4882a593Smuzhiyun reg = <0x0 0xfe490000 0x0 0x1000>; 1449*4882a593Smuzhiyun interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>; 1450*4882a593Smuzhiyun clocks = <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>; 1451*4882a593Smuzhiyun clock-names = "i2s_clk", "i2s_hclk"; 1452*4882a593Smuzhiyun dmas = <&dmac1 0>, <&dmac1 1>; 1453*4882a593Smuzhiyun dma-names = "tx", "rx"; 1454*4882a593Smuzhiyun pinctrl-names = "default"; 1455*4882a593Smuzhiyun pinctrl-0 = <&i2s2m1_lrck 1456*4882a593Smuzhiyun &i2s2m1_sclk 1457*4882a593Smuzhiyun &i2s2m1_sdi 1458*4882a593Smuzhiyun &i2s2m1_sdo>; 1459*4882a593Smuzhiyun #sound-dai-cells = <0>; 1460*4882a593Smuzhiyun status = "disabled"; 1461*4882a593Smuzhiyun }; 1462*4882a593Smuzhiyun 1463*4882a593Smuzhiyun i2s3_2ch: i2s@fe4a0000 { 1464*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s"; 1465*4882a593Smuzhiyun reg = <0x0 0xfe4a0000 0x0 0x1000>; 1466*4882a593Smuzhiyun interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; 1467*4882a593Smuzhiyun clocks = <&cru MCLK_I2S3_2CH>, <&cru HCLK_I2S3_2CH>; 1468*4882a593Smuzhiyun clock-names = "i2s_clk", "i2s_hclk"; 1469*4882a593Smuzhiyun dmas = <&dmac1 2>, <&dmac1 3>; 1470*4882a593Smuzhiyun dma-names = "tx", "rx"; 1471*4882a593Smuzhiyun pinctrl-names = "default"; 1472*4882a593Smuzhiyun pinctrl-0 = <&i2s3_lrck 1473*4882a593Smuzhiyun &i2s3_sclk 1474*4882a593Smuzhiyun &i2s3_sdi 1475*4882a593Smuzhiyun &i2s3_sdo>; 1476*4882a593Smuzhiyun #sound-dai-cells = <0>; 1477*4882a593Smuzhiyun status = "disabled"; 1478*4882a593Smuzhiyun }; 1479*4882a593Smuzhiyun 1480*4882a593Smuzhiyun pdm0: pdm@fe4b0000 { 1481*4882a593Smuzhiyun compatible = "rockchip,rk3588-pdm"; 1482*4882a593Smuzhiyun reg = <0x0 0xfe4b0000 0x0 0x1000>; 1483*4882a593Smuzhiyun clocks = <&cru MCLK_PDM0>, <&cru HCLK_PDM0>; 1484*4882a593Smuzhiyun clock-names = "pdm_clk", "pdm_hclk"; 1485*4882a593Smuzhiyun dmas = <&dmac0 4>; 1486*4882a593Smuzhiyun dma-names = "rx"; 1487*4882a593Smuzhiyun pinctrl-names = "default"; 1488*4882a593Smuzhiyun pinctrl-0 = <&pdm0m0_clk 1489*4882a593Smuzhiyun &pdm0m0_clk1 1490*4882a593Smuzhiyun &pdm0m0_sdi0 1491*4882a593Smuzhiyun &pdm0m0_sdi1 1492*4882a593Smuzhiyun &pdm0m0_sdi2 1493*4882a593Smuzhiyun &pdm0m0_sdi3>; 1494*4882a593Smuzhiyun #sound-dai-cells = <0>; 1495*4882a593Smuzhiyun status = "disabled"; 1496*4882a593Smuzhiyun }; 1497*4882a593Smuzhiyun 1498*4882a593Smuzhiyun pdm1: pdm@fe4c0000 { 1499*4882a593Smuzhiyun compatible = "rockchip,rk3588-pdm"; 1500*4882a593Smuzhiyun reg = <0x0 0xfe4c0000 0x0 0x1000>; 1501*4882a593Smuzhiyun clocks = <&cru MCLK_PDM1>, <&cru HCLK_PDM1>; 1502*4882a593Smuzhiyun clock-names = "pdm_clk", "pdm_hclk"; 1503*4882a593Smuzhiyun dmas = <&dmac1 4>; 1504*4882a593Smuzhiyun dma-names = "rx"; 1505*4882a593Smuzhiyun pinctrl-names = "default"; 1506*4882a593Smuzhiyun pinctrl-0 = <&pdm1m0_clk 1507*4882a593Smuzhiyun &pdm1m0_clk1 1508*4882a593Smuzhiyun &pdm1m0_sdi0 1509*4882a593Smuzhiyun &pdm1m0_sdi1 1510*4882a593Smuzhiyun &pdm1m0_sdi2 1511*4882a593Smuzhiyun &pdm1m0_sdi3>; 1512*4882a593Smuzhiyun #sound-dai-cells = <0>; 1513*4882a593Smuzhiyun status = "disabled"; 1514*4882a593Smuzhiyun }; 1515*4882a593Smuzhiyun 1516*4882a593Smuzhiyun vad: vad@fe4d0000 { 1517*4882a593Smuzhiyun compatible = "rockchip,rk3588-vad"; 1518*4882a593Smuzhiyun reg = <0x0 0xfe4d0000 0x0 0x1000>; 1519*4882a593Smuzhiyun reg-names = "vad"; 1520*4882a593Smuzhiyun clocks = <&cru HCLK_VAD>; 1521*4882a593Smuzhiyun clock-names = "hclk"; 1522*4882a593Smuzhiyun interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; 1523*4882a593Smuzhiyun rockchip,audio-src = <0>; 1524*4882a593Smuzhiyun rockchip,det-channel = <0>; 1525*4882a593Smuzhiyun rockchip,mode = <0>; 1526*4882a593Smuzhiyun #sound-dai-cells = <0>; 1527*4882a593Smuzhiyun status = "disabled"; 1528*4882a593Smuzhiyun }; 1529*4882a593Smuzhiyun 1530*4882a593Smuzhiyun spdif_tx0: spdif-tx@fe4e0000 { 1531*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif"; 1532*4882a593Smuzhiyun reg = <0x0 0xfe4e0000 0x0 0x1000>; 1533*4882a593Smuzhiyun interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 1534*4882a593Smuzhiyun dmas = <&dmac0 5>; 1535*4882a593Smuzhiyun dma-names = "tx"; 1536*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 1537*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIF0>, <&cru HCLK_SPDIF0>; 1538*4882a593Smuzhiyun pinctrl-names = "default"; 1539*4882a593Smuzhiyun pinctrl-0 = <&spdif0m0_tx>; 1540*4882a593Smuzhiyun #sound-dai-cells = <0>; 1541*4882a593Smuzhiyun status = "disabled"; 1542*4882a593Smuzhiyun }; 1543*4882a593Smuzhiyun 1544*4882a593Smuzhiyun spdif_tx1: spdif-tx@fe4f0000 { 1545*4882a593Smuzhiyun compatible = "rockchip,rk3588-spdif", "rockchip,rk3568-spdif"; 1546*4882a593Smuzhiyun reg = <0x0 0xfe4f0000 0x0 0x1000>; 1547*4882a593Smuzhiyun interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 1548*4882a593Smuzhiyun dmas = <&dmac1 5>; 1549*4882a593Smuzhiyun dma-names = "tx"; 1550*4882a593Smuzhiyun clock-names = "mclk", "hclk"; 1551*4882a593Smuzhiyun clocks = <&cru MCLK_SPDIF1>, <&cru HCLK_SPDIF1>; 1552*4882a593Smuzhiyun pinctrl-names = "default"; 1553*4882a593Smuzhiyun pinctrl-0 = <&spdif1m0_tx>; 1554*4882a593Smuzhiyun #sound-dai-cells = <0>; 1555*4882a593Smuzhiyun status = "disabled"; 1556*4882a593Smuzhiyun }; 1557*4882a593Smuzhiyun 1558*4882a593Smuzhiyun acdcdig_dsm: codec-digital@fe500000 { 1559*4882a593Smuzhiyun compatible = "rockchip,rk3588-codec-digital", "rockchip,codec-digital-v1"; 1560*4882a593Smuzhiyun reg = <0x0 0xfe500000 0x0 0x1000>; 1561*4882a593Smuzhiyun clocks = <&cru CLK_DAC_ACDCDIG>, <&cru PCLK_ACDCDIG>; 1562*4882a593Smuzhiyun clock-names = "dac", "pclk"; 1563*4882a593Smuzhiyun resets = <&cru SRST_DAC_ACDCDIG>; 1564*4882a593Smuzhiyun reset-names = "reset" ; 1565*4882a593Smuzhiyun rockchip,grf = <&sys_grf>; 1566*4882a593Smuzhiyun rockchip,pwm-output-mode; 1567*4882a593Smuzhiyun pinctrl-names = "default"; 1568*4882a593Smuzhiyun pinctrl-0 = <&auddsm_pins>; 1569*4882a593Smuzhiyun #sound-dai-cells = <0>; 1570*4882a593Smuzhiyun status = "disabled"; 1571*4882a593Smuzhiyun }; 1572*4882a593Smuzhiyun 1573*4882a593Smuzhiyun hwlock: hwspinlock@fe5a0000 { 1574*4882a593Smuzhiyun compatible = "rockchip,hwspinlock"; 1575*4882a593Smuzhiyun reg = <0 0xfe5a0000 0 0x100>; 1576*4882a593Smuzhiyun #hwlock-cells = <1>; 1577*4882a593Smuzhiyun }; 1578*4882a593Smuzhiyun 1579*4882a593Smuzhiyun gic: interrupt-controller@fe600000 { 1580*4882a593Smuzhiyun compatible = "arm,gic-v3"; 1581*4882a593Smuzhiyun #interrupt-cells = <3>; 1582*4882a593Smuzhiyun #address-cells = <2>; 1583*4882a593Smuzhiyun #size-cells = <2>; 1584*4882a593Smuzhiyun ranges; 1585*4882a593Smuzhiyun interrupt-controller; 1586*4882a593Smuzhiyun 1587*4882a593Smuzhiyun reg = <0x0 0xfe600000 0 0x10000>, /* GICD */ 1588*4882a593Smuzhiyun <0x0 0xfe680000 0 0x100000>; /* GICR */ 1589*4882a593Smuzhiyun interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 1590*4882a593Smuzhiyun its: interrupt-controller@fe640000 { 1591*4882a593Smuzhiyun compatible = "arm,gic-v3-its"; 1592*4882a593Smuzhiyun msi-controller; 1593*4882a593Smuzhiyun #msi-cells = <1>; 1594*4882a593Smuzhiyun reg = <0x0 0xfe640000 0x0 0x20000>; 1595*4882a593Smuzhiyun }; 1596*4882a593Smuzhiyun }; 1597*4882a593Smuzhiyun 1598*4882a593Smuzhiyun dmac0: dma-controller@fea10000 { 1599*4882a593Smuzhiyun compatible = "arm,pl330", "arm,primecell"; 1600*4882a593Smuzhiyun reg = <0x0 0xfea10000 0x0 0x4000>; 1601*4882a593Smuzhiyun interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 1602*4882a593Smuzhiyun <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 1603*4882a593Smuzhiyun clocks = <&cru ACLK_DMAC0>; 1604*4882a593Smuzhiyun clock-names = "apb_pclk"; 1605*4882a593Smuzhiyun #dma-cells = <1>; 1606*4882a593Smuzhiyun arm,pl330-periph-burst; 1607*4882a593Smuzhiyun }; 1608*4882a593Smuzhiyun 1609*4882a593Smuzhiyun dmac1: dma-controller@fea30000 { 1610*4882a593Smuzhiyun compatible = "arm,pl330", "arm,primecell"; 1611*4882a593Smuzhiyun reg = <0x0 0xfea30000 0x0 0x4000>; 1612*4882a593Smuzhiyun interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 1613*4882a593Smuzhiyun <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 1614*4882a593Smuzhiyun clocks = <&cru ACLK_DMAC1>; 1615*4882a593Smuzhiyun clock-names = "apb_pclk"; 1616*4882a593Smuzhiyun #dma-cells = <1>; 1617*4882a593Smuzhiyun arm,pl330-periph-burst; 1618*4882a593Smuzhiyun }; 1619*4882a593Smuzhiyun 1620*4882a593Smuzhiyun can0: can@fea50000 { 1621*4882a593Smuzhiyun compatible = "rockchip,canfd-1.0"; 1622*4882a593Smuzhiyun reg = <0x0 0xfea50000 0x0 0x1000>; 1623*4882a593Smuzhiyun iinterrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>; 1624*4882a593Smuzhiyun clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>; 1625*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1626*4882a593Smuzhiyun resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>; 1627*4882a593Smuzhiyun reset-names = "can", "can-apb"; 1628*4882a593Smuzhiyun pinctrl-names = "default"; 1629*4882a593Smuzhiyun pinctrl-0 = <&can0m0_pins>; 1630*4882a593Smuzhiyun tx-fifo-depth = <1>; 1631*4882a593Smuzhiyun rx-fifo-depth = <6>; 1632*4882a593Smuzhiyun status = "disabled"; 1633*4882a593Smuzhiyun }; 1634*4882a593Smuzhiyun 1635*4882a593Smuzhiyun can1: can@fea60000 { 1636*4882a593Smuzhiyun compatible = "rockchip,canfd-1.0"; 1637*4882a593Smuzhiyun reg = <0x0 0xfea60000 0x0 0x1000>; 1638*4882a593Smuzhiyun interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>; 1639*4882a593Smuzhiyun clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>; 1640*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1641*4882a593Smuzhiyun resets = <&cru SRST_CAN1>, <&cru SRST_P_CAN1>; 1642*4882a593Smuzhiyun reset-names = "can", "can-apb"; 1643*4882a593Smuzhiyun pinctrl-names = "default"; 1644*4882a593Smuzhiyun pinctrl-0 = <&can1m0_pins>; 1645*4882a593Smuzhiyun tx-fifo-depth = <1>; 1646*4882a593Smuzhiyun rx-fifo-depth = <6>; 1647*4882a593Smuzhiyun status = "disabled"; 1648*4882a593Smuzhiyun }; 1649*4882a593Smuzhiyun 1650*4882a593Smuzhiyun can2: can@fea70000 { 1651*4882a593Smuzhiyun compatible = "rockchip,canfd-1.0"; 1652*4882a593Smuzhiyun reg = <0x0 0xfea70000 0x0 0x1000>; 1653*4882a593Smuzhiyun interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; 1654*4882a593Smuzhiyun clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>; 1655*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1656*4882a593Smuzhiyun resets = <&cru SRST_CAN2>, <&cru SRST_P_CAN2>; 1657*4882a593Smuzhiyun reset-names = "can", "can-apb"; 1658*4882a593Smuzhiyun pinctrl-names = "default"; 1659*4882a593Smuzhiyun pinctrl-0 = <&can2m0_pins>; 1660*4882a593Smuzhiyun tx-fifo-depth = <1>; 1661*4882a593Smuzhiyun rx-fifo-depth = <6>; 1662*4882a593Smuzhiyun status = "disabled"; 1663*4882a593Smuzhiyun }; 1664*4882a593Smuzhiyun 1665*4882a593Smuzhiyun hw_decompress: decompress@fea80000 { 1666*4882a593Smuzhiyun compatible = "rockchip,hw-decompress"; 1667*4882a593Smuzhiyun reg = <0x0 0xfea80000 0x0 0x1000>; 1668*4882a593Smuzhiyun interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 1669*4882a593Smuzhiyun clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 1670*4882a593Smuzhiyun clock-names = "aclk", "dclk", "pclk"; 1671*4882a593Smuzhiyun resets = <&cru SRST_D_DECOM>; 1672*4882a593Smuzhiyun reset-names = "dresetn"; 1673*4882a593Smuzhiyun status = "disabled"; 1674*4882a593Smuzhiyun }; 1675*4882a593Smuzhiyun 1676*4882a593Smuzhiyun i2c1: i2c@fea90000 { 1677*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1678*4882a593Smuzhiyun reg = <0x0 0xfea90000 0x0 0x1000>; 1679*4882a593Smuzhiyun clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1680*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 1681*4882a593Smuzhiyun interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>; 1682*4882a593Smuzhiyun pinctrl-names = "default"; 1683*4882a593Smuzhiyun pinctrl-0 = <&i2c1m0_xfer>; 1684*4882a593Smuzhiyun #address-cells = <1>; 1685*4882a593Smuzhiyun #size-cells = <0>; 1686*4882a593Smuzhiyun status = "disabled"; 1687*4882a593Smuzhiyun }; 1688*4882a593Smuzhiyun 1689*4882a593Smuzhiyun i2c2: i2c@feaa0000 { 1690*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1691*4882a593Smuzhiyun reg = <0x0 0xfeaa0000 0x0 0x1000>; 1692*4882a593Smuzhiyun clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1693*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 1694*4882a593Smuzhiyun interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>; 1695*4882a593Smuzhiyun pinctrl-names = "default"; 1696*4882a593Smuzhiyun pinctrl-0 = <&i2c2m0_xfer>; 1697*4882a593Smuzhiyun #address-cells = <1>; 1698*4882a593Smuzhiyun #size-cells = <0>; 1699*4882a593Smuzhiyun status = "disabled"; 1700*4882a593Smuzhiyun }; 1701*4882a593Smuzhiyun 1702*4882a593Smuzhiyun i2c3: i2c@feab0000 { 1703*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1704*4882a593Smuzhiyun reg = <0x0 0xfeab0000 0x0 0x1000>; 1705*4882a593Smuzhiyun clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1706*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 1707*4882a593Smuzhiyun interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>; 1708*4882a593Smuzhiyun pinctrl-names = "default"; 1709*4882a593Smuzhiyun pinctrl-0 = <&i2c3m0_xfer>; 1710*4882a593Smuzhiyun #address-cells = <1>; 1711*4882a593Smuzhiyun #size-cells = <0>; 1712*4882a593Smuzhiyun status = "disabled"; 1713*4882a593Smuzhiyun }; 1714*4882a593Smuzhiyun 1715*4882a593Smuzhiyun i2c4: i2c@feac0000 { 1716*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1717*4882a593Smuzhiyun reg = <0x0 0xfeac0000 0x0 0x1000>; 1718*4882a593Smuzhiyun clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1719*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 1720*4882a593Smuzhiyun interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>; 1721*4882a593Smuzhiyun pinctrl-names = "default"; 1722*4882a593Smuzhiyun pinctrl-0 = <&i2c4m0_xfer>; 1723*4882a593Smuzhiyun #address-cells = <1>; 1724*4882a593Smuzhiyun #size-cells = <0>; 1725*4882a593Smuzhiyun status = "disabled"; 1726*4882a593Smuzhiyun }; 1727*4882a593Smuzhiyun 1728*4882a593Smuzhiyun i2c5: i2c@fead0000 { 1729*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 1730*4882a593Smuzhiyun reg = <0x0 0xfead0000 0x0 0x1000>; 1731*4882a593Smuzhiyun clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1732*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 1733*4882a593Smuzhiyun interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>; 1734*4882a593Smuzhiyun pinctrl-names = "default"; 1735*4882a593Smuzhiyun pinctrl-0 = <&i2c5m0_xfer>; 1736*4882a593Smuzhiyun #address-cells = <1>; 1737*4882a593Smuzhiyun #size-cells = <0>; 1738*4882a593Smuzhiyun status = "disabled"; 1739*4882a593Smuzhiyun }; 1740*4882a593Smuzhiyun 1741*4882a593Smuzhiyun rktimer: timer@feae0000 { 1742*4882a593Smuzhiyun compatible = "rockchip,rk3588-timer", "rockchip,rk3288-timer"; 1743*4882a593Smuzhiyun reg = <0x0 0xfeae0000 0x0 0x20>; 1744*4882a593Smuzhiyun interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>; 1745*4882a593Smuzhiyun clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_BUSTIMER0>; 1746*4882a593Smuzhiyun clock-names = "pclk", "timer"; 1747*4882a593Smuzhiyun }; 1748*4882a593Smuzhiyun 1749*4882a593Smuzhiyun wdt: watchdog@feaf0000 { 1750*4882a593Smuzhiyun compatible = "snps,dw-wdt"; 1751*4882a593Smuzhiyun reg = <0x0 0xfeaf0000 0x0 0x100>; 1752*4882a593Smuzhiyun clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>; 1753*4882a593Smuzhiyun clock-names = "tclk", "pclk"; 1754*4882a593Smuzhiyun interrupts = <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>; 1755*4882a593Smuzhiyun status = "disabled"; 1756*4882a593Smuzhiyun }; 1757*4882a593Smuzhiyun 1758*4882a593Smuzhiyun spi0: spi@feb00000 { 1759*4882a593Smuzhiyun compatible = "rockchip,rk3066-spi"; 1760*4882a593Smuzhiyun reg = <0x0 0xfeb00000 0x0 0x1000>; 1761*4882a593Smuzhiyun interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>; 1762*4882a593Smuzhiyun #address-cells = <1>; 1763*4882a593Smuzhiyun #size-cells = <0>; 1764*4882a593Smuzhiyun clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 1765*4882a593Smuzhiyun clock-names = "spiclk", "apb_pclk"; 1766*4882a593Smuzhiyun dmas = <&dmac0 14>, <&dmac0 15>; 1767*4882a593Smuzhiyun dma-names = "tx", "rx"; 1768*4882a593Smuzhiyun pinctrl-names = "default", "high_speed"; 1769*4882a593Smuzhiyun pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>; 1770*4882a593Smuzhiyun pinctrl-1 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins_hs>; 1771*4882a593Smuzhiyun num-cs = <2>; 1772*4882a593Smuzhiyun status = "disabled"; 1773*4882a593Smuzhiyun }; 1774*4882a593Smuzhiyun 1775*4882a593Smuzhiyun spi1: spi@feb10000 { 1776*4882a593Smuzhiyun compatible = "rockchip,rk3066-spi"; 1777*4882a593Smuzhiyun reg = <0x0 0xfeb10000 0x0 0x1000>; 1778*4882a593Smuzhiyun interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>; 1779*4882a593Smuzhiyun #address-cells = <1>; 1780*4882a593Smuzhiyun #size-cells = <0>; 1781*4882a593Smuzhiyun clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 1782*4882a593Smuzhiyun clock-names = "spiclk", "apb_pclk"; 1783*4882a593Smuzhiyun dmas = <&dmac0 16>, <&dmac0 17>; 1784*4882a593Smuzhiyun dma-names = "tx", "rx"; 1785*4882a593Smuzhiyun pinctrl-names = "default", "high_speed"; 1786*4882a593Smuzhiyun pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>; 1787*4882a593Smuzhiyun pinctrl-1 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins_hs>; 1788*4882a593Smuzhiyun num-cs = <2>; 1789*4882a593Smuzhiyun status = "disabled"; 1790*4882a593Smuzhiyun }; 1791*4882a593Smuzhiyun 1792*4882a593Smuzhiyun spi2: spi@feb20000 { 1793*4882a593Smuzhiyun compatible = "rockchip,rk3066-spi"; 1794*4882a593Smuzhiyun reg = <0x0 0xfeb20000 0x0 0x1000>; 1795*4882a593Smuzhiyun interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 1796*4882a593Smuzhiyun #address-cells = <1>; 1797*4882a593Smuzhiyun #size-cells = <0>; 1798*4882a593Smuzhiyun clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 1799*4882a593Smuzhiyun clock-names = "spiclk", "apb_pclk"; 1800*4882a593Smuzhiyun dmas = <&dmac1 15>, <&dmac1 16>; 1801*4882a593Smuzhiyun dma-names = "tx", "rx"; 1802*4882a593Smuzhiyun pinctrl-names = "default", "high_speed"; 1803*4882a593Smuzhiyun pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>; 1804*4882a593Smuzhiyun pinctrl-1 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins_hs>; 1805*4882a593Smuzhiyun num-cs = <2>; 1806*4882a593Smuzhiyun status = "disabled"; 1807*4882a593Smuzhiyun }; 1808*4882a593Smuzhiyun 1809*4882a593Smuzhiyun spi3: spi@feb30000 { 1810*4882a593Smuzhiyun compatible = "rockchip,rk3066-spi"; 1811*4882a593Smuzhiyun reg = <0x0 0xfeb30000 0x0 0x1000>; 1812*4882a593Smuzhiyun interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 1813*4882a593Smuzhiyun #address-cells = <1>; 1814*4882a593Smuzhiyun #size-cells = <0>; 1815*4882a593Smuzhiyun clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 1816*4882a593Smuzhiyun clock-names = "spiclk", "apb_pclk"; 1817*4882a593Smuzhiyun dmas = <&dmac1 17>, <&dmac1 18>; 1818*4882a593Smuzhiyun dma-names = "tx", "rx"; 1819*4882a593Smuzhiyun pinctrl-names = "default", "high_speed"; 1820*4882a593Smuzhiyun pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>; 1821*4882a593Smuzhiyun pinctrl-1 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins_hs>; 1822*4882a593Smuzhiyun num-cs = <2>; 1823*4882a593Smuzhiyun status = "disabled"; 1824*4882a593Smuzhiyun }; 1825*4882a593Smuzhiyun 1826*4882a593Smuzhiyun uart1: serial@feb40000 { 1827*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1828*4882a593Smuzhiyun reg = <0x0 0xfeb40000 0x0 0x100>; 1829*4882a593Smuzhiyun interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>; 1830*4882a593Smuzhiyun clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1831*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1832*4882a593Smuzhiyun reg-shift = <2>; 1833*4882a593Smuzhiyun reg-io-width = <4>; 1834*4882a593Smuzhiyun dmas = <&dmac0 8>, <&dmac0 9>; 1835*4882a593Smuzhiyun pinctrl-names = "default"; 1836*4882a593Smuzhiyun pinctrl-0 = <&uart1m0_xfer>; 1837*4882a593Smuzhiyun status = "disabled"; 1838*4882a593Smuzhiyun }; 1839*4882a593Smuzhiyun 1840*4882a593Smuzhiyun uart2: serial@feb50000 { 1841*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1842*4882a593Smuzhiyun reg = <0x0 0xfeb50000 0x0 0x100>; 1843*4882a593Smuzhiyun interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1844*4882a593Smuzhiyun clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1845*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1846*4882a593Smuzhiyun reg-shift = <2>; 1847*4882a593Smuzhiyun reg-io-width = <4>; 1848*4882a593Smuzhiyun dmas = <&dmac0 10>, <&dmac0 11>; 1849*4882a593Smuzhiyun pinctrl-names = "default"; 1850*4882a593Smuzhiyun pinctrl-0 = <&uart2m0_xfer>; 1851*4882a593Smuzhiyun status = "disabled"; 1852*4882a593Smuzhiyun }; 1853*4882a593Smuzhiyun 1854*4882a593Smuzhiyun uart3: serial@feb60000 { 1855*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1856*4882a593Smuzhiyun reg = <0x0 0xfeb60000 0x0 0x100>; 1857*4882a593Smuzhiyun interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>; 1858*4882a593Smuzhiyun clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1859*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1860*4882a593Smuzhiyun reg-shift = <2>; 1861*4882a593Smuzhiyun reg-io-width = <4>; 1862*4882a593Smuzhiyun dmas = <&dmac0 12>, <&dmac0 13>; 1863*4882a593Smuzhiyun pinctrl-names = "default"; 1864*4882a593Smuzhiyun pinctrl-0 = <&uart3m0_xfer>; 1865*4882a593Smuzhiyun status = "disabled"; 1866*4882a593Smuzhiyun }; 1867*4882a593Smuzhiyun 1868*4882a593Smuzhiyun uart4: serial@feb70000 { 1869*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1870*4882a593Smuzhiyun reg = <0x0 0xfeb70000 0x0 0x100>; 1871*4882a593Smuzhiyun interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>; 1872*4882a593Smuzhiyun clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1873*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1874*4882a593Smuzhiyun reg-shift = <2>; 1875*4882a593Smuzhiyun reg-io-width = <4>; 1876*4882a593Smuzhiyun dmas = <&dmac1 9>, <&dmac1 10>; 1877*4882a593Smuzhiyun pinctrl-names = "default"; 1878*4882a593Smuzhiyun pinctrl-0 = <&uart4m0_xfer>; 1879*4882a593Smuzhiyun status = "disabled"; 1880*4882a593Smuzhiyun }; 1881*4882a593Smuzhiyun 1882*4882a593Smuzhiyun uart5: serial@feb80000 { 1883*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1884*4882a593Smuzhiyun reg = <0x0 0xfeb80000 0x0 0x100>; 1885*4882a593Smuzhiyun interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>; 1886*4882a593Smuzhiyun clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1887*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1888*4882a593Smuzhiyun reg-shift = <2>; 1889*4882a593Smuzhiyun reg-io-width = <4>; 1890*4882a593Smuzhiyun dmas = <&dmac1 11>, <&dmac1 12>; 1891*4882a593Smuzhiyun pinctrl-names = "default"; 1892*4882a593Smuzhiyun pinctrl-0 = <&uart5m0_xfer>; 1893*4882a593Smuzhiyun status = "disabled"; 1894*4882a593Smuzhiyun }; 1895*4882a593Smuzhiyun 1896*4882a593Smuzhiyun uart6: serial@feb90000 { 1897*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1898*4882a593Smuzhiyun reg = <0x0 0xfeb90000 0x0 0x100>; 1899*4882a593Smuzhiyun interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 1900*4882a593Smuzhiyun clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 1901*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1902*4882a593Smuzhiyun reg-shift = <2>; 1903*4882a593Smuzhiyun reg-io-width = <4>; 1904*4882a593Smuzhiyun dmas = <&dmac1 13>, <&dmac1 14>; 1905*4882a593Smuzhiyun pinctrl-names = "default"; 1906*4882a593Smuzhiyun pinctrl-0 = <&uart6m0_xfer>; 1907*4882a593Smuzhiyun status = "disabled"; 1908*4882a593Smuzhiyun }; 1909*4882a593Smuzhiyun 1910*4882a593Smuzhiyun uart7: serial@feba0000 { 1911*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1912*4882a593Smuzhiyun reg = <0x0 0xfeba0000 0x0 0x100>; 1913*4882a593Smuzhiyun interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; 1914*4882a593Smuzhiyun clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 1915*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1916*4882a593Smuzhiyun reg-shift = <2>; 1917*4882a593Smuzhiyun reg-io-width = <4>; 1918*4882a593Smuzhiyun dmas = <&dmac2 7>, <&dmac2 8>; 1919*4882a593Smuzhiyun pinctrl-names = "default"; 1920*4882a593Smuzhiyun pinctrl-0 = <&uart7m0_xfer>; 1921*4882a593Smuzhiyun status = "disabled"; 1922*4882a593Smuzhiyun }; 1923*4882a593Smuzhiyun 1924*4882a593Smuzhiyun uart8: serial@febb0000 { 1925*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1926*4882a593Smuzhiyun reg = <0x0 0xfebb0000 0x0 0x100>; 1927*4882a593Smuzhiyun interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>; 1928*4882a593Smuzhiyun clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 1929*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1930*4882a593Smuzhiyun reg-shift = <2>; 1931*4882a593Smuzhiyun reg-io-width = <4>; 1932*4882a593Smuzhiyun dmas = <&dmac2 9>, <&dmac2 10>; 1933*4882a593Smuzhiyun pinctrl-names = "default"; 1934*4882a593Smuzhiyun pinctrl-0 = <&uart8m0_xfer>; 1935*4882a593Smuzhiyun status = "disabled"; 1936*4882a593Smuzhiyun }; 1937*4882a593Smuzhiyun 1938*4882a593Smuzhiyun uart9: serial@febc0000 { 1939*4882a593Smuzhiyun compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart"; 1940*4882a593Smuzhiyun reg = <0x0 0xfebc0000 0x0 0x100>; 1941*4882a593Smuzhiyun interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>; 1942*4882a593Smuzhiyun clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 1943*4882a593Smuzhiyun clock-names = "baudclk", "apb_pclk"; 1944*4882a593Smuzhiyun reg-shift = <2>; 1945*4882a593Smuzhiyun reg-io-width = <4>; 1946*4882a593Smuzhiyun dmas = <&dmac2 11>, <&dmac2 12>; 1947*4882a593Smuzhiyun pinctrl-names = "default"; 1948*4882a593Smuzhiyun pinctrl-0 = <&uart9m0_xfer>; 1949*4882a593Smuzhiyun status = "disabled"; 1950*4882a593Smuzhiyun }; 1951*4882a593Smuzhiyun 1952*4882a593Smuzhiyun pwm4: pwm@febd0000 { 1953*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1954*4882a593Smuzhiyun reg = <0x0 0xfebd0000 0x0 0x10>; 1955*4882a593Smuzhiyun #pwm-cells = <3>; 1956*4882a593Smuzhiyun pinctrl-names = "active"; 1957*4882a593Smuzhiyun pinctrl-0 = <&pwm4m0_pins>; 1958*4882a593Smuzhiyun clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1959*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 1960*4882a593Smuzhiyun status = "disabled"; 1961*4882a593Smuzhiyun }; 1962*4882a593Smuzhiyun 1963*4882a593Smuzhiyun pwm5: pwm@febd0010 { 1964*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1965*4882a593Smuzhiyun reg = <0x0 0xfebd0010 0x0 0x10>; 1966*4882a593Smuzhiyun #pwm-cells = <3>; 1967*4882a593Smuzhiyun pinctrl-names = "active"; 1968*4882a593Smuzhiyun pinctrl-0 = <&pwm5m0_pins>; 1969*4882a593Smuzhiyun clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1970*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 1971*4882a593Smuzhiyun status = "disabled"; 1972*4882a593Smuzhiyun }; 1973*4882a593Smuzhiyun 1974*4882a593Smuzhiyun pwm6: pwm@febd0020 { 1975*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1976*4882a593Smuzhiyun reg = <0x0 0xfebd0020 0x0 0x10>; 1977*4882a593Smuzhiyun #pwm-cells = <3>; 1978*4882a593Smuzhiyun pinctrl-names = "active"; 1979*4882a593Smuzhiyun pinctrl-0 = <&pwm6m0_pins>; 1980*4882a593Smuzhiyun clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1981*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 1982*4882a593Smuzhiyun status = "disabled"; 1983*4882a593Smuzhiyun }; 1984*4882a593Smuzhiyun 1985*4882a593Smuzhiyun pwm7: pwm@febd0030 { 1986*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 1987*4882a593Smuzhiyun reg = <0x0 0xfebd0030 0x0 0x10>; 1988*4882a593Smuzhiyun interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>, 1989*4882a593Smuzhiyun <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>; 1990*4882a593Smuzhiyun #pwm-cells = <3>; 1991*4882a593Smuzhiyun pinctrl-names = "active"; 1992*4882a593Smuzhiyun pinctrl-0 = <&pwm7m0_pins>; 1993*4882a593Smuzhiyun clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1994*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 1995*4882a593Smuzhiyun status = "disabled"; 1996*4882a593Smuzhiyun }; 1997*4882a593Smuzhiyun 1998*4882a593Smuzhiyun pwm8: pwm@febe0000 { 1999*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2000*4882a593Smuzhiyun reg = <0x0 0xfebe0000 0x0 0x10>; 2001*4882a593Smuzhiyun #pwm-cells = <3>; 2002*4882a593Smuzhiyun pinctrl-names = "active"; 2003*4882a593Smuzhiyun pinctrl-0 = <&pwm8m0_pins>; 2004*4882a593Smuzhiyun clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2005*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2006*4882a593Smuzhiyun status = "disabled"; 2007*4882a593Smuzhiyun }; 2008*4882a593Smuzhiyun 2009*4882a593Smuzhiyun pwm9: pwm@febe0010 { 2010*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2011*4882a593Smuzhiyun reg = <0x0 0xfebe0010 0x0 0x10>; 2012*4882a593Smuzhiyun #pwm-cells = <3>; 2013*4882a593Smuzhiyun pinctrl-names = "active"; 2014*4882a593Smuzhiyun pinctrl-0 = <&pwm9m0_pins>; 2015*4882a593Smuzhiyun clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2016*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2017*4882a593Smuzhiyun status = "disabled"; 2018*4882a593Smuzhiyun }; 2019*4882a593Smuzhiyun 2020*4882a593Smuzhiyun pwm10: pwm@febe0020 { 2021*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2022*4882a593Smuzhiyun reg = <0x0 0xfebe0020 0x0 0x10>; 2023*4882a593Smuzhiyun #pwm-cells = <3>; 2024*4882a593Smuzhiyun pinctrl-names = "active"; 2025*4882a593Smuzhiyun pinctrl-0 = <&pwm10m0_pins>; 2026*4882a593Smuzhiyun clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2027*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2028*4882a593Smuzhiyun status = "disabled"; 2029*4882a593Smuzhiyun }; 2030*4882a593Smuzhiyun 2031*4882a593Smuzhiyun pwm11: pwm@febe0030 { 2032*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2033*4882a593Smuzhiyun reg = <0x0 0xfebe0030 0x0 0x10>; 2034*4882a593Smuzhiyun interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>, 2035*4882a593Smuzhiyun <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>; 2036*4882a593Smuzhiyun #pwm-cells = <3>; 2037*4882a593Smuzhiyun pinctrl-names = "active"; 2038*4882a593Smuzhiyun pinctrl-0 = <&pwm11m0_pins>; 2039*4882a593Smuzhiyun clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 2040*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2041*4882a593Smuzhiyun status = "disabled"; 2042*4882a593Smuzhiyun }; 2043*4882a593Smuzhiyun 2044*4882a593Smuzhiyun pwm12: pwm@febf0000 { 2045*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2046*4882a593Smuzhiyun reg = <0x0 0xfebf0000 0x0 0x10>; 2047*4882a593Smuzhiyun #pwm-cells = <3>; 2048*4882a593Smuzhiyun pinctrl-names = "active"; 2049*4882a593Smuzhiyun pinctrl-0 = <&pwm12m0_pins>; 2050*4882a593Smuzhiyun clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2051*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2052*4882a593Smuzhiyun status = "disabled"; 2053*4882a593Smuzhiyun }; 2054*4882a593Smuzhiyun 2055*4882a593Smuzhiyun pwm13: pwm@febf0010 { 2056*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2057*4882a593Smuzhiyun reg = <0x0 0xfebf0010 0x0 0x10>; 2058*4882a593Smuzhiyun #pwm-cells = <3>; 2059*4882a593Smuzhiyun pinctrl-names = "active"; 2060*4882a593Smuzhiyun pinctrl-0 = <&pwm13m0_pins>; 2061*4882a593Smuzhiyun clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2062*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2063*4882a593Smuzhiyun status = "disabled"; 2064*4882a593Smuzhiyun }; 2065*4882a593Smuzhiyun 2066*4882a593Smuzhiyun pwm14: pwm@febf0020 { 2067*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2068*4882a593Smuzhiyun reg = <0x0 0xfebf0020 0x0 0x10>; 2069*4882a593Smuzhiyun #pwm-cells = <3>; 2070*4882a593Smuzhiyun pinctrl-names = "active"; 2071*4882a593Smuzhiyun pinctrl-0 = <&pwm14m0_pins>; 2072*4882a593Smuzhiyun clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2073*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2074*4882a593Smuzhiyun status = "disabled"; 2075*4882a593Smuzhiyun }; 2076*4882a593Smuzhiyun 2077*4882a593Smuzhiyun pwm15: pwm@febf0030 { 2078*4882a593Smuzhiyun compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm"; 2079*4882a593Smuzhiyun reg = <0x0 0xfebf0030 0x0 0x10>; 2080*4882a593Smuzhiyun interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>, 2081*4882a593Smuzhiyun <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>; 2082*4882a593Smuzhiyun #pwm-cells = <3>; 2083*4882a593Smuzhiyun pinctrl-names = "active"; 2084*4882a593Smuzhiyun pinctrl-0 = <&pwm15m0_pins>; 2085*4882a593Smuzhiyun clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 2086*4882a593Smuzhiyun clock-names = "pwm", "pclk"; 2087*4882a593Smuzhiyun status = "disabled"; 2088*4882a593Smuzhiyun }; 2089*4882a593Smuzhiyun 2090*4882a593Smuzhiyun tsadc: tsadc@fec00000 { 2091*4882a593Smuzhiyun compatible = "rockchip,rk3588-tsadc"; 2092*4882a593Smuzhiyun reg = <0x0 0xfec00000 0x0 0x400>; 2093*4882a593Smuzhiyun interrupts = <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>; 2094*4882a593Smuzhiyun clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>; 2095*4882a593Smuzhiyun clock-names = "tsadc", "apb_pclk"; 2096*4882a593Smuzhiyun assigned-clocks = <&cru CLK_TSADC>; 2097*4882a593Smuzhiyun assigned-clock-rates = <2000000>; 2098*4882a593Smuzhiyun resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>; 2099*4882a593Smuzhiyun reset-names = "tsadc", "tsadc-apb"; 2100*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 2101*4882a593Smuzhiyun rockchip,hw-tshut-temp = <120000>; 2102*4882a593Smuzhiyun rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 2103*4882a593Smuzhiyun rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 2104*4882a593Smuzhiyun pinctrl-names = "gpio", "otpout"; 2105*4882a593Smuzhiyun pinctrl-0 = <&tsadc_gpio_func>; 2106*4882a593Smuzhiyun pinctrl-1 = <&tsadc_shut_org>; 2107*4882a593Smuzhiyun status = "disabled"; 2108*4882a593Smuzhiyun }; 2109*4882a593Smuzhiyun 2110*4882a593Smuzhiyun saradc: saradc@fec10000 { 2111*4882a593Smuzhiyun compatible = "rockchip,rk3588-saradc"; 2112*4882a593Smuzhiyun reg = <0x0 0xfec10000 0x0 0x10000>; 2113*4882a593Smuzhiyun interrupts = <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>; 2114*4882a593Smuzhiyun #io-channel-cells = <1>; 2115*4882a593Smuzhiyun clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 2116*4882a593Smuzhiyun clock-names = "saradc", "apb_pclk"; 2117*4882a593Smuzhiyun resets = <&cru SRST_P_SARADC>; 2118*4882a593Smuzhiyun reset-names = "saradc-apb"; 2119*4882a593Smuzhiyun status = "disabled"; 2120*4882a593Smuzhiyun }; 2121*4882a593Smuzhiyun 2122*4882a593Smuzhiyun mailbox0: mailbox@fec60000 { 2123*4882a593Smuzhiyun compatible = "rockchip,rk3588-mailbox", 2124*4882a593Smuzhiyun "rockchip,rk3368-mailbox"; 2125*4882a593Smuzhiyun reg = <0x0 0xfec60000 0x0 0x200>; 2126*4882a593Smuzhiyun interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 2127*4882a593Smuzhiyun <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, 2128*4882a593Smuzhiyun <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 2129*4882a593Smuzhiyun <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 2130*4882a593Smuzhiyun clocks = <&cru PCLK_MAILBOX0>; 2131*4882a593Smuzhiyun clock-names = "pclk_mailbox"; 2132*4882a593Smuzhiyun #mbox-cells = <1>; 2133*4882a593Smuzhiyun status = "disabled"; 2134*4882a593Smuzhiyun }; 2135*4882a593Smuzhiyun 2136*4882a593Smuzhiyun mailbox1: mailbox@fec70000 { 2137*4882a593Smuzhiyun compatible = "rockchip,rk3588-mailbox", 2138*4882a593Smuzhiyun "rockchip,rk3368-mailbox"; 2139*4882a593Smuzhiyun reg = <0x0 0xfec70000 0x0 0x200>; 2140*4882a593Smuzhiyun interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 2141*4882a593Smuzhiyun <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 2142*4882a593Smuzhiyun <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 2143*4882a593Smuzhiyun <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 2144*4882a593Smuzhiyun clocks = <&cru PCLK_MAILBOX1>; 2145*4882a593Smuzhiyun clock-names = "pclk_mailbox"; 2146*4882a593Smuzhiyun #mbox-cells = <1>; 2147*4882a593Smuzhiyun status = "disabled"; 2148*4882a593Smuzhiyun }; 2149*4882a593Smuzhiyun 2150*4882a593Smuzhiyun i2c6: i2c@fec80000 { 2151*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 2152*4882a593Smuzhiyun reg = <0x0 0xfec80000 0x0 0x1000>; 2153*4882a593Smuzhiyun clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>; 2154*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 2155*4882a593Smuzhiyun interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>; 2156*4882a593Smuzhiyun pinctrl-names = "default"; 2157*4882a593Smuzhiyun pinctrl-0 = <&i2c6m0_xfer>; 2158*4882a593Smuzhiyun #address-cells = <1>; 2159*4882a593Smuzhiyun #size-cells = <0>; 2160*4882a593Smuzhiyun status = "disabled"; 2161*4882a593Smuzhiyun }; 2162*4882a593Smuzhiyun 2163*4882a593Smuzhiyun i2c7: i2c@fec90000 { 2164*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 2165*4882a593Smuzhiyun reg = <0x0 0xfec90000 0x0 0x1000>; 2166*4882a593Smuzhiyun clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>; 2167*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 2168*4882a593Smuzhiyun interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>; 2169*4882a593Smuzhiyun pinctrl-names = "default"; 2170*4882a593Smuzhiyun pinctrl-0 = <&i2c7m0_xfer>; 2171*4882a593Smuzhiyun #address-cells = <1>; 2172*4882a593Smuzhiyun #size-cells = <0>; 2173*4882a593Smuzhiyun status = "disabled"; 2174*4882a593Smuzhiyun }; 2175*4882a593Smuzhiyun 2176*4882a593Smuzhiyun i2c8: i2c@feca0000 { 2177*4882a593Smuzhiyun compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c"; 2178*4882a593Smuzhiyun reg = <0x0 0xfeca0000 0x0 0x1000>; 2179*4882a593Smuzhiyun clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>; 2180*4882a593Smuzhiyun clock-names = "i2c", "pclk"; 2181*4882a593Smuzhiyun interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>; 2182*4882a593Smuzhiyun pinctrl-names = "default"; 2183*4882a593Smuzhiyun pinctrl-0 = <&i2c8m0_xfer>; 2184*4882a593Smuzhiyun #address-cells = <1>; 2185*4882a593Smuzhiyun #size-cells = <0>; 2186*4882a593Smuzhiyun status = "disabled"; 2187*4882a593Smuzhiyun }; 2188*4882a593Smuzhiyun 2189*4882a593Smuzhiyun spi4: spi@fecb0000 { 2190*4882a593Smuzhiyun compatible = "rockchip,rk3066-spi"; 2191*4882a593Smuzhiyun reg = <0x0 0xfecb0000 0x0 0x1000>; 2192*4882a593Smuzhiyun interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>; 2193*4882a593Smuzhiyun #address-cells = <1>; 2194*4882a593Smuzhiyun #size-cells = <0>; 2195*4882a593Smuzhiyun clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>; 2196*4882a593Smuzhiyun clock-names = "spiclk", "apb_pclk"; 2197*4882a593Smuzhiyun dmas = <&dmac2 13>, <&dmac2 14>; 2198*4882a593Smuzhiyun dma-names = "tx", "rx"; 2199*4882a593Smuzhiyun pinctrl-names = "default", "high_speed"; 2200*4882a593Smuzhiyun pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>; 2201*4882a593Smuzhiyun pinctrl-1 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins_hs>; 2202*4882a593Smuzhiyun num-cs = <2>; 2203*4882a593Smuzhiyun status = "disabled"; 2204*4882a593Smuzhiyun }; 2205*4882a593Smuzhiyun 2206*4882a593Smuzhiyun otp: otp@fecc0000 { 2207*4882a593Smuzhiyun compatible = "rockchip,rk3588-otp"; 2208*4882a593Smuzhiyun reg = <0x0 0xfecc0000 0x0 0x400>; 2209*4882a593Smuzhiyun #address-cells = <1>; 2210*4882a593Smuzhiyun #size-cells = <1>; 2211*4882a593Smuzhiyun clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>, 2212*4882a593Smuzhiyun <&cru CLK_OTPC_ARB>, <&cru CLK_OTP_PHY_G>; 2213*4882a593Smuzhiyun clock-names = "otpc", "apb", "arb", "phy"; 2214*4882a593Smuzhiyun resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>, 2215*4882a593Smuzhiyun <&cru SRST_OTPC_ARB>; 2216*4882a593Smuzhiyun reset-names = "otpc", "apb", "arb"; 2217*4882a593Smuzhiyun }; 2218*4882a593Smuzhiyun 2219*4882a593Smuzhiyun mailbox2: mailbox@fece0000 { 2220*4882a593Smuzhiyun compatible = "rockchip,rk3588-mailbox", 2221*4882a593Smuzhiyun "rockchip,rk3368-mailbox"; 2222*4882a593Smuzhiyun reg = <0x0 0xfece0000 0x0 0x200>; 2223*4882a593Smuzhiyun interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 2224*4882a593Smuzhiyun <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 2225*4882a593Smuzhiyun <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>, 2226*4882a593Smuzhiyun <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 2227*4882a593Smuzhiyun clocks = <&cru PCLK_MAILBOX2>; 2228*4882a593Smuzhiyun clock-names = "pclk_mailbox"; 2229*4882a593Smuzhiyun #mbox-cells = <1>; 2230*4882a593Smuzhiyun status = "disabled"; 2231*4882a593Smuzhiyun }; 2232*4882a593Smuzhiyun 2233*4882a593Smuzhiyun dmac2: dma-controller@fed10000 { 2234*4882a593Smuzhiyun compatible = "arm,pl330", "arm,primecell"; 2235*4882a593Smuzhiyun reg = <0x0 0xfed10000 0x0 0x4000>; 2236*4882a593Smuzhiyun interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 2237*4882a593Smuzhiyun <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 2238*4882a593Smuzhiyun clocks = <&cru ACLK_DMAC2>; 2239*4882a593Smuzhiyun clock-names = "apb_pclk"; 2240*4882a593Smuzhiyun #dma-cells = <1>; 2241*4882a593Smuzhiyun arm,pl330-periph-burst; 2242*4882a593Smuzhiyun }; 2243*4882a593Smuzhiyun 2244*4882a593Smuzhiyun hdptxphy0: phy@fed60000 { 2245*4882a593Smuzhiyun compatible = "rockchip,rk3588-hdptx-phy"; 2246*4882a593Smuzhiyun reg = <0x0 0xfed60000 0x0 0x2000>; 2247*4882a593Smuzhiyun clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>; 2248*4882a593Smuzhiyun clock-names = "ref", "apb"; 2249*4882a593Smuzhiyun resets = <&cru SRST_HDPTX0>, <&cru SRST_P_HDPTX0>, 2250*4882a593Smuzhiyun <&cru SRST_HDPTX0_INIT>, <&cru SRST_HDPTX0_CMN>, 2251*4882a593Smuzhiyun <&cru SRST_HDPTX0_LANE>, <&cru SRST_HDPTX0_ROPLL>, 2252*4882a593Smuzhiyun <&cru SRST_HDPTX0_LCPLL>; 2253*4882a593Smuzhiyun reset-names = "phy", "apb", "init", "cmn", "lane", "ropll", 2254*4882a593Smuzhiyun "lcpll"; 2255*4882a593Smuzhiyun rockchip,grf = <&hdptxphy0_grf>; 2256*4882a593Smuzhiyun #phy-cells = <0>; 2257*4882a593Smuzhiyun status = "disabled"; 2258*4882a593Smuzhiyun }; 2259*4882a593Smuzhiyun 2260*4882a593Smuzhiyun usbdp_phy0: phy@fed80000 { 2261*4882a593Smuzhiyun compatible = "rockchip,rk3588-usbdp-phy"; 2262*4882a593Smuzhiyun reg = <0x0 0xfed80000 0x0 0x10000>; 2263*4882a593Smuzhiyun rockchip,usb-grf = <&usb_grf>; 2264*4882a593Smuzhiyun rockchip,usbdpphy-grf = <&usbdpphy0_grf>; 2265*4882a593Smuzhiyun rockchip,vo-grf = <&vo0_grf>; 2266*4882a593Smuzhiyun clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>, 2267*4882a593Smuzhiyun <&cru CLK_USBDP_PHY0_IMMORTAL>, 2268*4882a593Smuzhiyun <&cru PCLK_USBDPPHY0>; 2269*4882a593Smuzhiyun clock-names = "refclk", "immortal", "pclk"; 2270*4882a593Smuzhiyun resets = <&cru SRST_USBDP_COMBO_PHY0_INIT>, 2271*4882a593Smuzhiyun <&cru SRST_USBDP_COMBO_PHY0_CMN>, 2272*4882a593Smuzhiyun <&cru SRST_USBDP_COMBO_PHY0_LANE>, 2273*4882a593Smuzhiyun <&cru SRST_USBDP_COMBO_PHY0_PCS>, 2274*4882a593Smuzhiyun <&cru SRST_P_USBDPPHY0>; 2275*4882a593Smuzhiyun reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb"; 2276*4882a593Smuzhiyun status = "disabled"; 2277*4882a593Smuzhiyun 2278*4882a593Smuzhiyun usbdp_phy0_dp: dp-port { 2279*4882a593Smuzhiyun #phy-cells = <0>; 2280*4882a593Smuzhiyun status = "disabled"; 2281*4882a593Smuzhiyun }; 2282*4882a593Smuzhiyun 2283*4882a593Smuzhiyun usbdp_phy0_u3: u3-port { 2284*4882a593Smuzhiyun #phy-cells = <0>; 2285*4882a593Smuzhiyun status = "disabled"; 2286*4882a593Smuzhiyun }; 2287*4882a593Smuzhiyun }; 2288*4882a593Smuzhiyun 2289*4882a593Smuzhiyun combphy0_ps: phy@fee00000 { 2290*4882a593Smuzhiyun compatible = "rockchip,rk3588-naneng-combphy"; 2291*4882a593Smuzhiyun reg = <0x0 0xfee00000 0x0 0x100>; 2292*4882a593Smuzhiyun #phy-cells = <1>; 2293*4882a593Smuzhiyun clocks = <&cru CLK_REF_PIPE_PHY0>, <&cru PCLK_PCIE_COMBO_PIPE_PHY0>; 2294*4882a593Smuzhiyun clock-names = "refclk", "apbclk"; 2295*4882a593Smuzhiyun assigned-clocks = <&cru CLK_REF_PIPE_PHY0>; 2296*4882a593Smuzhiyun assigned-clock-rates = <100000000>; 2297*4882a593Smuzhiyun resets = <&cru SRST_P_PCIE2_PHY0>, <&cru SRST_REF_PIPE_PHY0>; 2298*4882a593Smuzhiyun reset-names = "combphy-apb", "combphy"; 2299*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 2300*4882a593Smuzhiyun rockchip,pipe-phy-grf = <&pipe_phy0_grf>; 2301*4882a593Smuzhiyun status = "disabled"; 2302*4882a593Smuzhiyun }; 2303*4882a593Smuzhiyun 2304*4882a593Smuzhiyun combphy2_psu: phy@fee20000 { 2305*4882a593Smuzhiyun compatible = "rockchip,rk3588-naneng-combphy"; 2306*4882a593Smuzhiyun reg = <0x0 0xfee20000 0x0 0x100>; 2307*4882a593Smuzhiyun #phy-cells = <1>; 2308*4882a593Smuzhiyun clocks = <&cru CLK_REF_PIPE_PHY2>, <&cru PCLK_PCIE_COMBO_PIPE_PHY2>; 2309*4882a593Smuzhiyun clock-names = "refclk", "apbclk"; 2310*4882a593Smuzhiyun assigned-clocks = <&cru CLK_REF_PIPE_PHY2>; 2311*4882a593Smuzhiyun assigned-clock-rates = <100000000>; 2312*4882a593Smuzhiyun resets = <&cru SRST_P_PCIE2_PHY2>, <&cru SRST_REF_PIPE_PHY2>; 2313*4882a593Smuzhiyun reset-names = "combphy-apb", "combphy"; 2314*4882a593Smuzhiyun rockchip,pipe-grf = <&php_grf>; 2315*4882a593Smuzhiyun rockchip,pipe-phy-grf = <&pipe_phy2_grf>; 2316*4882a593Smuzhiyun rockchip,pcie1ln-sel-bits = <0x100 1 1 0>; 2317*4882a593Smuzhiyun status = "disabled"; 2318*4882a593Smuzhiyun }; 2319*4882a593Smuzhiyun 2320*4882a593Smuzhiyun pinctrl: pinctrl { 2321*4882a593Smuzhiyun compatible = "rockchip,rk3588-pinctrl"; 2322*4882a593Smuzhiyun rockchip,grf = <&ioc>; 2323*4882a593Smuzhiyun #address-cells = <2>; 2324*4882a593Smuzhiyun #size-cells = <2>; 2325*4882a593Smuzhiyun ranges; 2326*4882a593Smuzhiyun 2327*4882a593Smuzhiyun gpio0: gpio@fd8a0000 { 2328*4882a593Smuzhiyun compatible = "rockchip,gpio-bank"; 2329*4882a593Smuzhiyun reg = <0x0 0xfd8a0000 0x0 0x100>; 2330*4882a593Smuzhiyun interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>; 2331*4882a593Smuzhiyun clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 2332*4882a593Smuzhiyun 2333*4882a593Smuzhiyun gpio-controller; 2334*4882a593Smuzhiyun #gpio-cells = <2>; 2335*4882a593Smuzhiyun gpio-ranges = <&pinctrl 0 0 32>; 2336*4882a593Smuzhiyun interrupt-controller; 2337*4882a593Smuzhiyun #interrupt-cells = <2>; 2338*4882a593Smuzhiyun }; 2339*4882a593Smuzhiyun 2340*4882a593Smuzhiyun gpio1: gpio@fec20000 { 2341*4882a593Smuzhiyun compatible = "rockchip,gpio-bank"; 2342*4882a593Smuzhiyun reg = <0x0 0xfec20000 0x0 0x100>; 2343*4882a593Smuzhiyun interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; 2344*4882a593Smuzhiyun clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 2345*4882a593Smuzhiyun 2346*4882a593Smuzhiyun gpio-controller; 2347*4882a593Smuzhiyun #gpio-cells = <2>; 2348*4882a593Smuzhiyun gpio-ranges = <&pinctrl 0 32 32>; 2349*4882a593Smuzhiyun interrupt-controller; 2350*4882a593Smuzhiyun #interrupt-cells = <2>; 2351*4882a593Smuzhiyun }; 2352*4882a593Smuzhiyun 2353*4882a593Smuzhiyun gpio2: gpio@fec30000 { 2354*4882a593Smuzhiyun compatible = "rockchip,gpio-bank"; 2355*4882a593Smuzhiyun reg = <0x0 0xfec30000 0x0 0x100>; 2356*4882a593Smuzhiyun interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>; 2357*4882a593Smuzhiyun clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 2358*4882a593Smuzhiyun 2359*4882a593Smuzhiyun gpio-controller; 2360*4882a593Smuzhiyun #gpio-cells = <2>; 2361*4882a593Smuzhiyun gpio-ranges = <&pinctrl 0 64 32>; 2362*4882a593Smuzhiyun interrupt-controller; 2363*4882a593Smuzhiyun #interrupt-cells = <2>; 2364*4882a593Smuzhiyun }; 2365*4882a593Smuzhiyun 2366*4882a593Smuzhiyun gpio3: gpio@fec40000 { 2367*4882a593Smuzhiyun compatible = "rockchip,gpio-bank"; 2368*4882a593Smuzhiyun reg = <0x0 0xfec40000 0x0 0x100>; 2369*4882a593Smuzhiyun interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>; 2370*4882a593Smuzhiyun clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 2371*4882a593Smuzhiyun 2372*4882a593Smuzhiyun gpio-controller; 2373*4882a593Smuzhiyun #gpio-cells = <2>; 2374*4882a593Smuzhiyun gpio-ranges = <&pinctrl 0 96 32>; 2375*4882a593Smuzhiyun interrupt-controller; 2376*4882a593Smuzhiyun #interrupt-cells = <2>; 2377*4882a593Smuzhiyun }; 2378*4882a593Smuzhiyun 2379*4882a593Smuzhiyun gpio4: gpio@fec50000 { 2380*4882a593Smuzhiyun compatible = "rockchip,gpio-bank"; 2381*4882a593Smuzhiyun reg = <0x0 0xfec50000 0x0 0x100>; 2382*4882a593Smuzhiyun interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>; 2383*4882a593Smuzhiyun clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 2384*4882a593Smuzhiyun 2385*4882a593Smuzhiyun gpio-controller; 2386*4882a593Smuzhiyun #gpio-cells = <2>; 2387*4882a593Smuzhiyun gpio-ranges = <&pinctrl 0 128 32>; 2388*4882a593Smuzhiyun interrupt-controller; 2389*4882a593Smuzhiyun #interrupt-cells = <2>; 2390*4882a593Smuzhiyun }; 2391*4882a593Smuzhiyun }; 2392*4882a593Smuzhiyun}; 2393*4882a593Smuzhiyun 2394*4882a593Smuzhiyun#include "rk3588s-pinctrl.dtsi" 2395