1*4e72b326SXuhui Lin// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4e72b326SXuhui Lin/* 3*4e72b326SXuhui Lin * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4*4e72b326SXuhui Lin */ 5*4e72b326SXuhui Lin 6*4e72b326SXuhui Lin#include <dt-bindings/clock/rockchip,rv1126b-cru.h> 7*4e72b326SXuhui Lin#include <dt-bindings/gpio/gpio.h> 8*4e72b326SXuhui Lin#include <dt-bindings/interrupt-controller/arm-gic.h> 9*4e72b326SXuhui Lin#include <dt-bindings/interrupt-controller/irq.h> 10*4e72b326SXuhui Lin#include <dt-bindings/phy/phy.h> 11*4e72b326SXuhui Lin#include <dt-bindings/pinctrl/rockchip.h> 12*4e72b326SXuhui Lin#include <dt-bindings/power/rockchip,rv1126b-power.h> 13*4e72b326SXuhui Lin#include <dt-bindings/soc/rockchip,boot-mode.h> 14*4e72b326SXuhui Lin#include <dt-bindings/soc/rockchip-system-status.h> 15*4e72b326SXuhui Lin 16*4e72b326SXuhui Lin/ { 17*4e72b326SXuhui Lin compatible = "rockchip,rv1126b"; 18*4e72b326SXuhui Lin 19*4e72b326SXuhui Lin interrupt-parent = <&gic>; 20*4e72b326SXuhui Lin #address-cells = <1>; 21*4e72b326SXuhui Lin #size-cells = <1>; 22*4e72b326SXuhui Lin 23*4e72b326SXuhui Lin aliases { 24*4e72b326SXuhui Lin csi2dphy0 = &csi2_dphy0; 25*4e72b326SXuhui Lin csi2dphy1 = &csi2_dphy1; 26*4e72b326SXuhui Lin csi2dphy2 = &csi2_dphy2; 27*4e72b326SXuhui Lin csi2dphy3 = &csi2_dphy3; 28*4e72b326SXuhui Lin csi2dphy4 = &csi2_dphy4; 29*4e72b326SXuhui Lin csi2dphy5 = &csi2_dphy5; 30*4e72b326SXuhui Lin ethernet0 = &gmac; 31*4e72b326SXuhui Lin gpio0 = &gpio0; 32*4e72b326SXuhui Lin gpio1 = &gpio1; 33*4e72b326SXuhui Lin gpio2 = &gpio2; 34*4e72b326SXuhui Lin gpio3 = &gpio3; 35*4e72b326SXuhui Lin gpio4 = &gpio4; 36*4e72b326SXuhui Lin gpio5 = &gpio5; 37*4e72b326SXuhui Lin gpio6 = &gpio6; 38*4e72b326SXuhui Lin gpio7 = &gpio7; 39*4e72b326SXuhui Lin i2c0 = &i2c0; 40*4e72b326SXuhui Lin i2c1 = &i2c1; 41*4e72b326SXuhui Lin i2c2 = &i2c2; 42*4e72b326SXuhui Lin i2c3 = &i2c3; 43*4e72b326SXuhui Lin i2c4 = &i2c4; 44*4e72b326SXuhui Lin i2c5 = &i2c5; 45*4e72b326SXuhui Lin mmc0 = &emmc; 46*4e72b326SXuhui Lin mmc1 = &sdmmc0; 47*4e72b326SXuhui Lin mmc2 = &sdmmc1; 48*4e72b326SXuhui Lin rkcif_mipi_lvds0= &rkcif_mipi_lvds; 49*4e72b326SXuhui Lin rkcif_mipi_lvds1= &rkcif_mipi_lvds1; 50*4e72b326SXuhui Lin rkcif_mipi_lvds2= &rkcif_mipi_lvds2; 51*4e72b326SXuhui Lin rkcif_mipi_lvds3= &rkcif_mipi_lvds3; 52*4e72b326SXuhui Lin serial0 = &uart0; 53*4e72b326SXuhui Lin serial1 = &uart1; 54*4e72b326SXuhui Lin serial2 = &uart2; 55*4e72b326SXuhui Lin serial3 = &uart3; 56*4e72b326SXuhui Lin serial4 = &uart4; 57*4e72b326SXuhui Lin serial5 = &uart5; 58*4e72b326SXuhui Lin serial6 = &uart6; 59*4e72b326SXuhui Lin serial7 = &uart7; 60*4e72b326SXuhui Lin spi0 = &spi0; 61*4e72b326SXuhui Lin spi1 = &spi1; 62*4e72b326SXuhui Lin spi2 = &fspi0; 63*4e72b326SXuhui Lin spi3 = &fspi1; 64*4e72b326SXuhui Lin }; 65*4e72b326SXuhui Lin 66*4e72b326SXuhui Lin clocks { 67*4e72b326SXuhui Lin compatible = "simple-bus"; 68*4e72b326SXuhui Lin #address-cells = <1>; 69*4e72b326SXuhui Lin #size-cells = <1>; 70*4e72b326SXuhui Lin ranges; 71*4e72b326SXuhui Lin 72*4e72b326SXuhui Lin mclkin_sai0: mclkin-sai0 { 73*4e72b326SXuhui Lin compatible = "fixed-clock"; 74*4e72b326SXuhui Lin #clock-cells = <0>; 75*4e72b326SXuhui Lin clock-frequency = <0>; 76*4e72b326SXuhui Lin clock-output-names = "mclk_sai0_from_io"; 77*4e72b326SXuhui Lin status = "disabled"; 78*4e72b326SXuhui Lin }; 79*4e72b326SXuhui Lin 80*4e72b326SXuhui Lin mclkin_sai1: mclkin-sai1 { 81*4e72b326SXuhui Lin compatible = "fixed-clock"; 82*4e72b326SXuhui Lin #clock-cells = <0>; 83*4e72b326SXuhui Lin clock-frequency = <0>; 84*4e72b326SXuhui Lin clock-output-names = "mclk_sai1_from_io"; 85*4e72b326SXuhui Lin status = "disabled"; 86*4e72b326SXuhui Lin }; 87*4e72b326SXuhui Lin 88*4e72b326SXuhui Lin mclkin_sai2: mclkin-sai2 { 89*4e72b326SXuhui Lin compatible = "fixed-clock"; 90*4e72b326SXuhui Lin #clock-cells = <0>; 91*4e72b326SXuhui Lin clock-frequency = <0>; 92*4e72b326SXuhui Lin clock-output-names = "mclk_sai2_from_io"; 93*4e72b326SXuhui Lin status = "disabled"; 94*4e72b326SXuhui Lin }; 95*4e72b326SXuhui Lin 96*4e72b326SXuhui Lin sclkin_sai0: sclkin-sai0 { 97*4e72b326SXuhui Lin compatible = "fixed-clock"; 98*4e72b326SXuhui Lin #clock-cells = <0>; 99*4e72b326SXuhui Lin clock-frequency = <0>; 100*4e72b326SXuhui Lin clock-output-names = "sclk_sai0_from_io"; 101*4e72b326SXuhui Lin status = "disabled"; 102*4e72b326SXuhui Lin }; 103*4e72b326SXuhui Lin 104*4e72b326SXuhui Lin sclkin_sai1: sclkin-sai1 { 105*4e72b326SXuhui Lin compatible = "fixed-clock"; 106*4e72b326SXuhui Lin #clock-cells = <0>; 107*4e72b326SXuhui Lin clock-frequency = <0>; 108*4e72b326SXuhui Lin clock-output-names = "sclk_sai1_from_io"; 109*4e72b326SXuhui Lin status = "disabled"; 110*4e72b326SXuhui Lin }; 111*4e72b326SXuhui Lin 112*4e72b326SXuhui Lin sclkin_sai2: sclkin-sai2 { 113*4e72b326SXuhui Lin compatible = "fixed-clock"; 114*4e72b326SXuhui Lin #clock-cells = <0>; 115*4e72b326SXuhui Lin clock-frequency = <0>; 116*4e72b326SXuhui Lin clock-output-names = "sclk_sai2_from_io"; 117*4e72b326SXuhui Lin status = "disabled"; 118*4e72b326SXuhui Lin }; 119*4e72b326SXuhui Lin 120*4e72b326SXuhui Lin xin32k: xin32k { 121*4e72b326SXuhui Lin compatible = "fixed-clock"; 122*4e72b326SXuhui Lin #clock-cells = <0>; 123*4e72b326SXuhui Lin clock-frequency = <32768>; 124*4e72b326SXuhui Lin clock-output-names = "xin32k"; 125*4e72b326SXuhui Lin }; 126*4e72b326SXuhui Lin 127*4e72b326SXuhui Lin xin24m: xin24m { 128*4e72b326SXuhui Lin compatible = "fixed-clock"; 129*4e72b326SXuhui Lin #clock-cells = <0>; 130*4e72b326SXuhui Lin clock-frequency = <24000000>; 131*4e72b326SXuhui Lin clock-output-names = "xin24m"; 132*4e72b326SXuhui Lin }; 133*4e72b326SXuhui Lin 134*4e72b326SXuhui Lin clk_rcosc: clk_rcosc { 135*4e72b326SXuhui Lin compatible = "fixed-clock"; 136*4e72b326SXuhui Lin #clock-cells = <0>; 137*4e72b326SXuhui Lin clock-frequency = <96000000>; 138*4e72b326SXuhui Lin clock-output-names = "clk_rcosc"; 139*4e72b326SXuhui Lin }; 140*4e72b326SXuhui Lin 141*4e72b326SXuhui Lin mclkout_sai0: mclkout-sai0@20100048 { 142*4e72b326SXuhui Lin compatible = "rockchip,clk-out"; 143*4e72b326SXuhui Lin reg = <0x20100048 0x4>; 144*4e72b326SXuhui Lin clocks = <&cru MCLK_SAI0_OUT2IO>; 145*4e72b326SXuhui Lin #clock-cells = <0>; 146*4e72b326SXuhui Lin clock-output-names = "mclk_sai0_to_io"; 147*4e72b326SXuhui Lin rockchip,bit-shift = <0>; 148*4e72b326SXuhui Lin rockchip,bit-set-to-disable; 149*4e72b326SXuhui Lin status = "disabled"; 150*4e72b326SXuhui Lin }; 151*4e72b326SXuhui Lin 152*4e72b326SXuhui Lin mclkout_sai1: mclkout-sai1@20100048 { 153*4e72b326SXuhui Lin compatible = "rockchip,clk-out"; 154*4e72b326SXuhui Lin reg = <0x20100048 0x4>; 155*4e72b326SXuhui Lin clocks = <&cru MCLK_SAI1_OUT2IO>; 156*4e72b326SXuhui Lin #clock-cells = <0>; 157*4e72b326SXuhui Lin clock-output-names = "mclk_sai1_to_io"; 158*4e72b326SXuhui Lin rockchip,bit-shift = <1>; 159*4e72b326SXuhui Lin rockchip,bit-set-to-disable; 160*4e72b326SXuhui Lin status = "disabled"; 161*4e72b326SXuhui Lin }; 162*4e72b326SXuhui Lin 163*4e72b326SXuhui Lin mclkout_sai2: mclkout-sai2@20100048 { 164*4e72b326SXuhui Lin compatible = "rockchip,clk-out"; 165*4e72b326SXuhui Lin reg = <0x20100048 0x4>; 166*4e72b326SXuhui Lin clocks = <&cru MCLK_SAI2_OUT2IO>; 167*4e72b326SXuhui Lin #clock-cells = <0>; 168*4e72b326SXuhui Lin clock-output-names = "mclk_sai2_to_io"; 169*4e72b326SXuhui Lin rockchip,bit-shift = <2>; 170*4e72b326SXuhui Lin rockchip,bit-set-to-disable; 171*4e72b326SXuhui Lin status = "disabled"; 172*4e72b326SXuhui Lin }; 173*4e72b326SXuhui Lin 174*4e72b326SXuhui Lin pvtpll_core: pvtpll-core@20480000 { 175*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-core-pvtpll", "syscon"; 176*4e72b326SXuhui Lin reg = <0x20480000 0x100>; 177*4e72b326SXuhui Lin clocks = <&cru ARMCLK>; 178*4e72b326SXuhui Lin #clock-cells = <0>; 179*4e72b326SXuhui Lin clock-output-names = "clk_core_pvtpll"; 180*4e72b326SXuhui Lin assigned-clocks = <&pvtpll_core>; 181*4e72b326SXuhui Lin assigned-clock-rates = <1200000000>; 182*4e72b326SXuhui Lin }; 183*4e72b326SXuhui Lin }; 184*4e72b326SXuhui Lin 185*4e72b326SXuhui Lin cpus { 186*4e72b326SXuhui Lin #address-cells = <1>; 187*4e72b326SXuhui Lin #size-cells = <0>; 188*4e72b326SXuhui Lin 189*4e72b326SXuhui Lin cpu0: cpu@0 { 190*4e72b326SXuhui Lin device_type = "cpu"; 191*4e72b326SXuhui Lin compatible = "arm,cortex-a53"; 192*4e72b326SXuhui Lin reg = <0x0>; 193*4e72b326SXuhui Lin enable-method = "psci"; 194*4e72b326SXuhui Lin clocks = <&cru ARMCLK>; 195*4e72b326SXuhui Lin operating-points-v2 = <&cpu_opp_table>; 196*4e72b326SXuhui Lin }; 197*4e72b326SXuhui Lin cpu1: cpu@1 { 198*4e72b326SXuhui Lin device_type = "cpu"; 199*4e72b326SXuhui Lin compatible = "arm,cortex-a53"; 200*4e72b326SXuhui Lin reg = <0x1>; 201*4e72b326SXuhui Lin enable-method = "psci"; 202*4e72b326SXuhui Lin clocks = <&cru ARMCLK>; 203*4e72b326SXuhui Lin operating-points-v2 = <&cpu_opp_table>; 204*4e72b326SXuhui Lin }; 205*4e72b326SXuhui Lin cpu2: cpu@2 { 206*4e72b326SXuhui Lin device_type = "cpu"; 207*4e72b326SXuhui Lin compatible = "arm,cortex-a53"; 208*4e72b326SXuhui Lin reg = <0x2>; 209*4e72b326SXuhui Lin enable-method = "psci"; 210*4e72b326SXuhui Lin clocks = <&cru ARMCLK>; 211*4e72b326SXuhui Lin operating-points-v2 = <&cpu_opp_table>; 212*4e72b326SXuhui Lin }; 213*4e72b326SXuhui Lin cpu3: cpu@3 { 214*4e72b326SXuhui Lin device_type = "cpu"; 215*4e72b326SXuhui Lin compatible = "arm,cortex-a53"; 216*4e72b326SXuhui Lin reg = <0x3>; 217*4e72b326SXuhui Lin enable-method = "psci"; 218*4e72b326SXuhui Lin clocks = <&cru ARMCLK>; 219*4e72b326SXuhui Lin operating-points-v2 = <&cpu_opp_table>; 220*4e72b326SXuhui Lin }; 221*4e72b326SXuhui Lin }; 222*4e72b326SXuhui Lin 223*4e72b326SXuhui Lin cpu_opp_table: cpu0-opp-table { 224*4e72b326SXuhui Lin compatible = "operating-points-v2"; 225*4e72b326SXuhui Lin opp-shared; 226*4e72b326SXuhui Lin 227*4e72b326SXuhui Lin nvmem-cells = <&cpu_leakage>; 228*4e72b326SXuhui Lin nvmem-cell-names = "leakage"; 229*4e72b326SXuhui Lin 230*4e72b326SXuhui Lin opp-594000000 { 231*4e72b326SXuhui Lin opp-hz = /bits/ 64 <594000000>; 232*4e72b326SXuhui Lin opp-microvolt = <850000 850000 1100000>; 233*4e72b326SXuhui Lin clock-latency-ns = <40000>; 234*4e72b326SXuhui Lin opp-suspend; 235*4e72b326SXuhui Lin }; 236*4e72b326SXuhui Lin 237*4e72b326SXuhui Lin opp-816000000 { 238*4e72b326SXuhui Lin opp-hz = /bits/ 64 <816000000>; 239*4e72b326SXuhui Lin opp-microvolt = <850000 850000 1100000>; 240*4e72b326SXuhui Lin clock-latency-ns = <40000>; 241*4e72b326SXuhui Lin }; 242*4e72b326SXuhui Lin opp-1008000000 { 243*4e72b326SXuhui Lin opp-hz = /bits/ 64 <1008000000>; 244*4e72b326SXuhui Lin opp-microvolt = <850000 850000 1100000>; 245*4e72b326SXuhui Lin clock-latency-ns = <40000>; 246*4e72b326SXuhui Lin }; 247*4e72b326SXuhui Lin opp-1200000000 { 248*4e72b326SXuhui Lin opp-hz = /bits/ 64 <1200000000>; 249*4e72b326SXuhui Lin opp-microvolt = <862500 862500 1100000>; 250*4e72b326SXuhui Lin clock-latency-ns = <40000>; 251*4e72b326SXuhui Lin }; 252*4e72b326SXuhui Lin opp-1296000000 { 253*4e72b326SXuhui Lin opp-hz = /bits/ 64 <1296000000>; 254*4e72b326SXuhui Lin opp-microvolt = <912500 912500 1100000>; 255*4e72b326SXuhui Lin clock-latency-ns = <40000>; 256*4e72b326SXuhui Lin }; 257*4e72b326SXuhui Lin opp-1416000000 { 258*4e72b326SXuhui Lin opp-hz = /bits/ 64 <1416000000>; 259*4e72b326SXuhui Lin opp-microvolt = <937500 937500 1100000>; 260*4e72b326SXuhui Lin clock-latency-ns = <40000>; 261*4e72b326SXuhui Lin }; 262*4e72b326SXuhui Lin opp-1512000000 { 263*4e72b326SXuhui Lin opp-hz = /bits/ 64 <1512000000>; 264*4e72b326SXuhui Lin opp-microvolt = <962500 962500 1100000>; 265*4e72b326SXuhui Lin clock-latency-ns = <40000>; 266*4e72b326SXuhui Lin }; 267*4e72b326SXuhui Lin opp-1608000000 { 268*4e72b326SXuhui Lin opp-hz = /bits/ 64 <1608000000>; 269*4e72b326SXuhui Lin opp-microvolt = <1012500 1012500 1100000>; 270*4e72b326SXuhui Lin clock-latency-ns = <40000>; 271*4e72b326SXuhui Lin }; 272*4e72b326SXuhui Lin }; 273*4e72b326SXuhui Lin 274*4e72b326SXuhui Lin cpuinfo { 275*4e72b326SXuhui Lin compatible = "rockchip,cpuinfo"; 276*4e72b326SXuhui Lin nvmem-cells = <&otp_id>, <&cpu_version>, <&cpu_code>; 277*4e72b326SXuhui Lin nvmem-cell-names = "id", "cpu-version", "cpu-code"; 278*4e72b326SXuhui Lin }; 279*4e72b326SXuhui Lin 280*4e72b326SXuhui Lin /* dphy0 full mode */ 281*4e72b326SXuhui Lin csi2_dphy0: csi2-dphy0 { 282*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy"; 283*4e72b326SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 284*4e72b326SXuhui Lin status = "disabled"; 285*4e72b326SXuhui Lin }; 286*4e72b326SXuhui Lin 287*4e72b326SXuhui Lin /* dphy0 split mode 01 */ 288*4e72b326SXuhui Lin csi2_dphy1: csi2-dphy1 { 289*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy"; 290*4e72b326SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 291*4e72b326SXuhui Lin status = "disabled"; 292*4e72b326SXuhui Lin }; 293*4e72b326SXuhui Lin 294*4e72b326SXuhui Lin /* dphy0 split mode 23 */ 295*4e72b326SXuhui Lin csi2_dphy2: csi2-dphy2 { 296*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy"; 297*4e72b326SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 298*4e72b326SXuhui Lin status = "disabled"; 299*4e72b326SXuhui Lin }; 300*4e72b326SXuhui Lin 301*4e72b326SXuhui Lin /* dphy1 full mode */ 302*4e72b326SXuhui Lin csi2_dphy3: csi2-dphy3 { 303*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy"; 304*4e72b326SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 305*4e72b326SXuhui Lin status = "disabled"; 306*4e72b326SXuhui Lin }; 307*4e72b326SXuhui Lin 308*4e72b326SXuhui Lin /* dphy1 split mode 01 */ 309*4e72b326SXuhui Lin csi2_dphy4: csi2-dphy4 { 310*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy"; 311*4e72b326SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 312*4e72b326SXuhui Lin status = "disabled"; 313*4e72b326SXuhui Lin }; 314*4e72b326SXuhui Lin 315*4e72b326SXuhui Lin /* dphy1 split mode 23 */ 316*4e72b326SXuhui Lin csi2_dphy5: csi2-dphy5 { 317*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy"; 318*4e72b326SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 319*4e72b326SXuhui Lin status = "disabled"; 320*4e72b326SXuhui Lin }; 321*4e72b326SXuhui Lin 322*4e72b326SXuhui Lin display_subsystem: display-subsystem { 323*4e72b326SXuhui Lin compatible = "rockchip,display-subsystem"; 324*4e72b326SXuhui Lin ports = <&vop_out>; 325*4e72b326SXuhui Lin status = "disabled"; 326*4e72b326SXuhui Lin logo-memory-region = <&drm_logo>; 327*4e72b326SXuhui Lin 328*4e72b326SXuhui Lin route { 329*4e72b326SXuhui Lin route_dsi: route-dsi { 330*4e72b326SXuhui Lin status = "disabled"; 331*4e72b326SXuhui Lin logo,uboot = "logo.bmp"; 332*4e72b326SXuhui Lin logo,kernel = "logo_kernel.bmp"; 333*4e72b326SXuhui Lin logo,mode = "center"; 334*4e72b326SXuhui Lin charge_logo,mode = "center"; 335*4e72b326SXuhui Lin connect = <&vop_out_dsi>; 336*4e72b326SXuhui Lin }; 337*4e72b326SXuhui Lin 338*4e72b326SXuhui Lin route_rgb: route-rgb { 339*4e72b326SXuhui Lin status = "disabled"; 340*4e72b326SXuhui Lin logo,uboot = "logo.bmp"; 341*4e72b326SXuhui Lin logo,kernel = "logo_kernel.bmp"; 342*4e72b326SXuhui Lin logo,mode = "center"; 343*4e72b326SXuhui Lin charge_logo,mode = "center"; 344*4e72b326SXuhui Lin connect = <&vop_out_rgb>; 345*4e72b326SXuhui Lin }; 346*4e72b326SXuhui Lin }; 347*4e72b326SXuhui Lin }; 348*4e72b326SXuhui Lin 349*4e72b326SXuhui Lin fiq_debugger: fiq-debugger { 350*4e72b326SXuhui Lin compatible = "rockchip,fiq-debugger"; 351*4e72b326SXuhui Lin rockchip,serial-id = <0>; 352*4e72b326SXuhui Lin rockchip,wake-irq = <0>; 353*4e72b326SXuhui Lin rockchip,irq-mode-enable = <0>; 354*4e72b326SXuhui Lin rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ 355*4e72b326SXuhui Lin interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>; 356*4e72b326SXuhui Lin status = "disabled"; 357*4e72b326SXuhui Lin }; 358*4e72b326SXuhui Lin 359*4e72b326SXuhui Lin mipi0_csi2: mipi0-csi2 { 360*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2"; 361*4e72b326SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 362*4e72b326SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>; 363*4e72b326SXuhui Lin status = "disabled"; 364*4e72b326SXuhui Lin }; 365*4e72b326SXuhui Lin 366*4e72b326SXuhui Lin mipi1_csi2: mipi1-csi2 { 367*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2"; 368*4e72b326SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 369*4e72b326SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>; 370*4e72b326SXuhui Lin status = "disabled"; 371*4e72b326SXuhui Lin }; 372*4e72b326SXuhui Lin 373*4e72b326SXuhui Lin mipi2_csi2: mipi2-csi2 { 374*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2"; 375*4e72b326SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 376*4e72b326SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>; 377*4e72b326SXuhui Lin status = "disabled"; 378*4e72b326SXuhui Lin }; 379*4e72b326SXuhui Lin 380*4e72b326SXuhui Lin mipi3_csi2: mipi3-csi2 { 381*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2"; 382*4e72b326SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 383*4e72b326SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>; 384*4e72b326SXuhui Lin status = "disabled"; 385*4e72b326SXuhui Lin }; 386*4e72b326SXuhui Lin 387*4e72b326SXuhui Lin mpp_srv: mpp-srv { 388*4e72b326SXuhui Lin compatible = "rockchip,mpp-service"; 389*4e72b326SXuhui Lin rockchip,taskqueue-count = <3>; 390*4e72b326SXuhui Lin rockchip,resetgroup-count = <3>; 391*4e72b326SXuhui Lin status = "disabled"; 392*4e72b326SXuhui Lin }; 393*4e72b326SXuhui Lin 394*4e72b326SXuhui Lin mpp_vcodec: mpp-vcodec { 395*4e72b326SXuhui Lin compatible = "rockchip,vcodec"; 396*4e72b326SXuhui Lin status = "disabled"; 397*4e72b326SXuhui Lin }; 398*4e72b326SXuhui Lin 399*4e72b326SXuhui Lin pmu_a53: pmu-a53 { 400*4e72b326SXuhui Lin compatible = "arm,cortex-a53-pmu"; 401*4e72b326SXuhui Lin interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 402*4e72b326SXuhui Lin <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 403*4e72b326SXuhui Lin <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 404*4e72b326SXuhui Lin <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>; 405*4e72b326SXuhui Lin interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 406*4e72b326SXuhui Lin }; 407*4e72b326SXuhui Lin 408*4e72b326SXuhui Lin psci: psci { 409*4e72b326SXuhui Lin compatible = "arm,psci-1.0"; 410*4e72b326SXuhui Lin method = "smc"; 411*4e72b326SXuhui Lin }; 412*4e72b326SXuhui Lin 413*4e72b326SXuhui Lin reserved-memory { 414*4e72b326SXuhui Lin #address-cells = <1>; 415*4e72b326SXuhui Lin #size-cells = <1>; 416*4e72b326SXuhui Lin ranges; 417*4e72b326SXuhui Lin 418*4e72b326SXuhui Lin drm_logo: drm-logo@0 { 419*4e72b326SXuhui Lin compatible = "rockchip,drm-logo"; 420*4e72b326SXuhui Lin reg = <0x0 0x0>; 421*4e72b326SXuhui Lin }; 422*4e72b326SXuhui Lin }; 423*4e72b326SXuhui Lin 424*4e72b326SXuhui Lin rkaiisp_vir0: rkaiisp-vir0 { 425*4e72b326SXuhui Lin compatible = "rockchip,rkaiisp-vir"; 426*4e72b326SXuhui Lin rockchip,hw = <&rkaiisp>; 427*4e72b326SXuhui Lin status = "disabled"; 428*4e72b326SXuhui Lin }; 429*4e72b326SXuhui Lin 430*4e72b326SXuhui Lin rkaiisp_vir1: rkaiisp-vir1 { 431*4e72b326SXuhui Lin compatible = "rockchip,rkaiisp-vir"; 432*4e72b326SXuhui Lin rockchip,hw = <&rkaiisp>; 433*4e72b326SXuhui Lin status = "disabled"; 434*4e72b326SXuhui Lin }; 435*4e72b326SXuhui Lin 436*4e72b326SXuhui Lin rkaiisp_vir2: rkaiisp-vir2 { 437*4e72b326SXuhui Lin compatible = "rockchip,rkaiisp-vir"; 438*4e72b326SXuhui Lin rockchip,hw = <&rkaiisp>; 439*4e72b326SXuhui Lin status = "disabled"; 440*4e72b326SXuhui Lin }; 441*4e72b326SXuhui Lin 442*4e72b326SXuhui Lin rkaiisp_vir3: rkaiisp-vir3 { 443*4e72b326SXuhui Lin compatible = "rockchip,rkaiisp-vir"; 444*4e72b326SXuhui Lin rockchip,hw = <&rkaiisp>; 445*4e72b326SXuhui Lin status = "disabled"; 446*4e72b326SXuhui Lin }; 447*4e72b326SXuhui Lin 448*4e72b326SXuhui Lin rkcif_mipi_lvds: rkcif-mipi-lvds { 449*4e72b326SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 450*4e72b326SXuhui Lin rockchip,hw = <&rkcif>; 451*4e72b326SXuhui Lin status = "disabled"; 452*4e72b326SXuhui Lin }; 453*4e72b326SXuhui Lin 454*4e72b326SXuhui Lin rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf { 455*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 456*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 457*4e72b326SXuhui Lin status = "disabled"; 458*4e72b326SXuhui Lin }; 459*4e72b326SXuhui Lin 460*4e72b326SXuhui Lin rkcif_mipi_lvds_sditf_vir1: rkcif-mipi-lvds-sditf-vir1 { 461*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 462*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 463*4e72b326SXuhui Lin status = "disabled"; 464*4e72b326SXuhui Lin }; 465*4e72b326SXuhui Lin 466*4e72b326SXuhui Lin rkcif_mipi_lvds_sditf_vir2: rkcif-mipi-lvds-sditf-vir2 { 467*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 468*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 469*4e72b326SXuhui Lin status = "disabled"; 470*4e72b326SXuhui Lin }; 471*4e72b326SXuhui Lin 472*4e72b326SXuhui Lin rkcif_mipi_lvds_sditf_vir3: rkcif-mipi-lvds-sditf-vir3 { 473*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 474*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 475*4e72b326SXuhui Lin status = "disabled"; 476*4e72b326SXuhui Lin }; 477*4e72b326SXuhui Lin 478*4e72b326SXuhui Lin rkcif_mipi_lvds1: rkcif-mipi-lvds1 { 479*4e72b326SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 480*4e72b326SXuhui Lin rockchip,hw = <&rkcif>; 481*4e72b326SXuhui Lin status = "disabled"; 482*4e72b326SXuhui Lin }; 483*4e72b326SXuhui Lin 484*4e72b326SXuhui Lin rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf { 485*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 486*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 487*4e72b326SXuhui Lin status = "disabled"; 488*4e72b326SXuhui Lin }; 489*4e72b326SXuhui Lin 490*4e72b326SXuhui Lin rkcif_mipi_lvds1_sditf_vir1: rkcif-mipi-lvds1-sditf-vir1 { 491*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 492*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 493*4e72b326SXuhui Lin status = "disabled"; 494*4e72b326SXuhui Lin }; 495*4e72b326SXuhui Lin 496*4e72b326SXuhui Lin rkcif_mipi_lvds1_sditf_vir2: rkcif-mipi-lvds1-sditf-vir2 { 497*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 498*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 499*4e72b326SXuhui Lin status = "disabled"; 500*4e72b326SXuhui Lin }; 501*4e72b326SXuhui Lin 502*4e72b326SXuhui Lin rkcif_mipi_lvds1_sditf_vir3: rkcif-mipi-lvds1-sditf-vir3 { 503*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 504*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 505*4e72b326SXuhui Lin status = "disabled"; 506*4e72b326SXuhui Lin }; 507*4e72b326SXuhui Lin 508*4e72b326SXuhui Lin rkcif_mipi_lvds2: rkcif-mipi-lvds2 { 509*4e72b326SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 510*4e72b326SXuhui Lin rockchip,hw = <&rkcif>; 511*4e72b326SXuhui Lin status = "disabled"; 512*4e72b326SXuhui Lin }; 513*4e72b326SXuhui Lin 514*4e72b326SXuhui Lin rkcif_mipi_lvds2_sditf: rkcif-mipi-lvds2-sditf { 515*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 516*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 517*4e72b326SXuhui Lin status = "disabled"; 518*4e72b326SXuhui Lin }; 519*4e72b326SXuhui Lin 520*4e72b326SXuhui Lin rkcif_mipi_lvds2_sditf_vir1: rkcif-mipi-lvds2-sditf-vir1 { 521*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 522*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 523*4e72b326SXuhui Lin status = "disabled"; 524*4e72b326SXuhui Lin }; 525*4e72b326SXuhui Lin 526*4e72b326SXuhui Lin rkcif_mipi_lvds2_sditf_vir2: rkcif-mipi-lvds2-sditf-vir2 { 527*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 528*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 529*4e72b326SXuhui Lin status = "disabled"; 530*4e72b326SXuhui Lin }; 531*4e72b326SXuhui Lin 532*4e72b326SXuhui Lin rkcif_mipi_lvds2_sditf_vir3: rkcif-mipi-lvds2-sditf-vir3 { 533*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 534*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 535*4e72b326SXuhui Lin status = "disabled"; 536*4e72b326SXuhui Lin }; 537*4e72b326SXuhui Lin 538*4e72b326SXuhui Lin rkcif_mipi_lvds3: rkcif-mipi-lvds3 { 539*4e72b326SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 540*4e72b326SXuhui Lin rockchip,hw = <&rkcif>; 541*4e72b326SXuhui Lin status = "disabled"; 542*4e72b326SXuhui Lin }; 543*4e72b326SXuhui Lin 544*4e72b326SXuhui Lin rkcif_mipi_lvds3_sditf: rkcif-mipi-lvds3-sditf { 545*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 546*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 547*4e72b326SXuhui Lin status = "disabled"; 548*4e72b326SXuhui Lin }; 549*4e72b326SXuhui Lin 550*4e72b326SXuhui Lin rkcif_mipi_lvds3_sditf_vir1: rkcif-mipi-lvds3-sditf-vir1 { 551*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 552*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 553*4e72b326SXuhui Lin status = "disabled"; 554*4e72b326SXuhui Lin }; 555*4e72b326SXuhui Lin 556*4e72b326SXuhui Lin rkcif_mipi_lvds3_sditf_vir2: rkcif-mipi-lvds3-sditf-vir2 { 557*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 558*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 559*4e72b326SXuhui Lin status = "disabled"; 560*4e72b326SXuhui Lin }; 561*4e72b326SXuhui Lin 562*4e72b326SXuhui Lin rkcif_mipi_lvds3_sditf_vir3: rkcif-mipi-lvds3-sditf-vir3 { 563*4e72b326SXuhui Lin compatible = "rockchip,rkcif-sditf"; 564*4e72b326SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 565*4e72b326SXuhui Lin status = "disabled"; 566*4e72b326SXuhui Lin }; 567*4e72b326SXuhui Lin 568*4e72b326SXuhui Lin rkdvbm: rkdvbm { 569*4e72b326SXuhui Lin compatible = "rockchip,rk-dvbm"; 570*4e72b326SXuhui Lin status = "disabled"; 571*4e72b326SXuhui Lin }; 572*4e72b326SXuhui Lin 573*4e72b326SXuhui Lin rkisp_vir0: rkisp-vir0 { 574*4e72b326SXuhui Lin compatible = "rockchip,rkisp-vir"; 575*4e72b326SXuhui Lin rockchip,hw = <&rkisp>; 576*4e72b326SXuhui Lin dvbm = <&rkdvbm>; 577*4e72b326SXuhui Lin status = "disabled"; 578*4e72b326SXuhui Lin }; 579*4e72b326SXuhui Lin 580*4e72b326SXuhui Lin rkisp_vir1: rkisp-vir1 { 581*4e72b326SXuhui Lin compatible = "rockchip,rkisp-vir"; 582*4e72b326SXuhui Lin rockchip,hw = <&rkisp>; 583*4e72b326SXuhui Lin dvbm = <&rkdvbm>; 584*4e72b326SXuhui Lin status = "disabled"; 585*4e72b326SXuhui Lin }; 586*4e72b326SXuhui Lin 587*4e72b326SXuhui Lin rkisp_vir2: rkisp-vir2 { 588*4e72b326SXuhui Lin compatible = "rockchip,rkisp-vir"; 589*4e72b326SXuhui Lin rockchip,hw = <&rkisp>; 590*4e72b326SXuhui Lin dvbm = <&rkdvbm>; 591*4e72b326SXuhui Lin status = "disabled"; 592*4e72b326SXuhui Lin }; 593*4e72b326SXuhui Lin 594*4e72b326SXuhui Lin rkisp_vir3: rkisp-vir3 { 595*4e72b326SXuhui Lin compatible = "rockchip,rkisp-vir"; 596*4e72b326SXuhui Lin rockchip,hw = <&rkisp>; 597*4e72b326SXuhui Lin dvbm = <&rkdvbm>; 598*4e72b326SXuhui Lin status = "disabled"; 599*4e72b326SXuhui Lin }; 600*4e72b326SXuhui Lin 601*4e72b326SXuhui Lin rkisp_vir0_sditf: rkisp-vir0-sditf { 602*4e72b326SXuhui Lin compatible = "rockchip,rkisp-sditf"; 603*4e72b326SXuhui Lin rockchip,isp = <&rkisp_vir0>; 604*4e72b326SXuhui Lin status = "disabled"; 605*4e72b326SXuhui Lin 606*4e72b326SXuhui Lin port { 607*4e72b326SXuhui Lin isp_sditf0: endpoint { 608*4e72b326SXuhui Lin remote-endpoint = <&vpss0_in>; 609*4e72b326SXuhui Lin }; 610*4e72b326SXuhui Lin }; 611*4e72b326SXuhui Lin }; 612*4e72b326SXuhui Lin 613*4e72b326SXuhui Lin rkisp_vir1_sditf: rkisp-vir1-sditf { 614*4e72b326SXuhui Lin compatible = "rockchip,rkisp-sditf"; 615*4e72b326SXuhui Lin rockchip,isp = <&rkisp_vir1>; 616*4e72b326SXuhui Lin status = "disabled"; 617*4e72b326SXuhui Lin 618*4e72b326SXuhui Lin port { 619*4e72b326SXuhui Lin isp_sditf1: endpoint { 620*4e72b326SXuhui Lin remote-endpoint = <&vpss1_in>; 621*4e72b326SXuhui Lin }; 622*4e72b326SXuhui Lin }; 623*4e72b326SXuhui Lin }; 624*4e72b326SXuhui Lin 625*4e72b326SXuhui Lin rkisp_vir2_sditf: rkisp-vir2-sditf { 626*4e72b326SXuhui Lin compatible = "rockchip,rkisp-sditf"; 627*4e72b326SXuhui Lin rockchip,isp = <&rkisp_vir2>; 628*4e72b326SXuhui Lin status = "disabled"; 629*4e72b326SXuhui Lin 630*4e72b326SXuhui Lin port { 631*4e72b326SXuhui Lin isp_sditf2: endpoint { 632*4e72b326SXuhui Lin remote-endpoint = <&vpss2_in>; 633*4e72b326SXuhui Lin }; 634*4e72b326SXuhui Lin }; 635*4e72b326SXuhui Lin }; 636*4e72b326SXuhui Lin 637*4e72b326SXuhui Lin rkisp_vir3_sditf: rkisp-vir3-sditf { 638*4e72b326SXuhui Lin compatible = "rockchip,rkisp-sditf"; 639*4e72b326SXuhui Lin rockchip,isp = <&rkisp_vir3>; 640*4e72b326SXuhui Lin status = "disabled"; 641*4e72b326SXuhui Lin 642*4e72b326SXuhui Lin port { 643*4e72b326SXuhui Lin isp_sditf3: endpoint { 644*4e72b326SXuhui Lin remote-endpoint = <&vpss3_in>; 645*4e72b326SXuhui Lin }; 646*4e72b326SXuhui Lin }; 647*4e72b326SXuhui Lin }; 648*4e72b326SXuhui Lin 649*4e72b326SXuhui Lin rkvpss_vir0: rkvpss-vir0 { 650*4e72b326SXuhui Lin compatible = "rockchip,rkvpss-vir"; 651*4e72b326SXuhui Lin rockchip,hw = <&rkvpss>; 652*4e72b326SXuhui Lin status = "disabled"; 653*4e72b326SXuhui Lin 654*4e72b326SXuhui Lin port { 655*4e72b326SXuhui Lin vpss0_in: endpoint { 656*4e72b326SXuhui Lin remote-endpoint = <&isp_sditf0>; 657*4e72b326SXuhui Lin }; 658*4e72b326SXuhui Lin }; 659*4e72b326SXuhui Lin }; 660*4e72b326SXuhui Lin 661*4e72b326SXuhui Lin rkvpss_vir1: rkvpss-vir1 { 662*4e72b326SXuhui Lin compatible = "rockchip,rkvpss-vir"; 663*4e72b326SXuhui Lin rockchip,hw = <&rkvpss>; 664*4e72b326SXuhui Lin status = "disabled"; 665*4e72b326SXuhui Lin 666*4e72b326SXuhui Lin port { 667*4e72b326SXuhui Lin vpss1_in: endpoint { 668*4e72b326SXuhui Lin remote-endpoint = <&isp_sditf1>; 669*4e72b326SXuhui Lin }; 670*4e72b326SXuhui Lin }; 671*4e72b326SXuhui Lin }; 672*4e72b326SXuhui Lin 673*4e72b326SXuhui Lin rkvpss_vir2: rkvpss-vir2 { 674*4e72b326SXuhui Lin compatible = "rockchip,rkvpss-vir"; 675*4e72b326SXuhui Lin rockchip,hw = <&rkvpss>; 676*4e72b326SXuhui Lin status = "disabled"; 677*4e72b326SXuhui Lin 678*4e72b326SXuhui Lin port { 679*4e72b326SXuhui Lin vpss2_in: endpoint { 680*4e72b326SXuhui Lin remote-endpoint = <&isp_sditf2>; 681*4e72b326SXuhui Lin }; 682*4e72b326SXuhui Lin }; 683*4e72b326SXuhui Lin }; 684*4e72b326SXuhui Lin 685*4e72b326SXuhui Lin rkvpss_vir3: rkvpss-vir3 { 686*4e72b326SXuhui Lin compatible = "rockchip,rkvpss-vir"; 687*4e72b326SXuhui Lin rockchip,hw = <&rkvpss>; 688*4e72b326SXuhui Lin status = "disabled"; 689*4e72b326SXuhui Lin 690*4e72b326SXuhui Lin port { 691*4e72b326SXuhui Lin vpss3_in: endpoint { 692*4e72b326SXuhui Lin remote-endpoint = <&isp_sditf3>; 693*4e72b326SXuhui Lin }; 694*4e72b326SXuhui Lin }; 695*4e72b326SXuhui Lin }; 696*4e72b326SXuhui Lin 697*4e72b326SXuhui Lin rockchip_system_monitor: rockchip-system-monitor { 698*4e72b326SXuhui Lin compatible = "rockchip,system-monitor"; 699*4e72b326SXuhui Lin }; 700*4e72b326SXuhui Lin 701*4e72b326SXuhui Lin thermal_zones: thermal-zones { 702*4e72b326SXuhui Lin cpu_thermal: cpu-thermal { 703*4e72b326SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 704*4e72b326SXuhui Lin polling-delay = <1000>; /* milliseconds */ 705*4e72b326SXuhui Lin thermal-sensors = <&tsadc 0>; 706*4e72b326SXuhui Lin trips { 707*4e72b326SXuhui Lin soc_crit: soc-crit { 708*4e72b326SXuhui Lin /* millicelsius */ 709*4e72b326SXuhui Lin temperature = <115000>; 710*4e72b326SXuhui Lin /* millicelsius */ 711*4e72b326SXuhui Lin hysteresis = <2000>; 712*4e72b326SXuhui Lin type = "critical"; 713*4e72b326SXuhui Lin }; 714*4e72b326SXuhui Lin }; 715*4e72b326SXuhui Lin }; 716*4e72b326SXuhui Lin npu_thermal: npu-thermal { 717*4e72b326SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 718*4e72b326SXuhui Lin polling-delay = <1000>; /* milliseconds */ 719*4e72b326SXuhui Lin thermal-sensors = <&tsadc 1>; 720*4e72b326SXuhui Lin trips { 721*4e72b326SXuhui Lin bigcore_crit: bigcore-crit { 722*4e72b326SXuhui Lin /* millicelsius */ 723*4e72b326SXuhui Lin temperature = <115000>; 724*4e72b326SXuhui Lin /* millicelsius */ 725*4e72b326SXuhui Lin hysteresis = <2000>; 726*4e72b326SXuhui Lin type = "critical"; 727*4e72b326SXuhui Lin }; 728*4e72b326SXuhui Lin }; 729*4e72b326SXuhui Lin }; 730*4e72b326SXuhui Lin }; 731*4e72b326SXuhui Lin 732*4e72b326SXuhui Lin timer { 733*4e72b326SXuhui Lin compatible = "arm,armv8-timer"; 734*4e72b326SXuhui Lin interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 735*4e72b326SXuhui Lin <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 736*4e72b326SXuhui Lin <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 737*4e72b326SXuhui Lin <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 738*4e72b326SXuhui Lin }; 739*4e72b326SXuhui Lin 740*4e72b326SXuhui Lin cru: clock-controller@20000000 { 741*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-cru"; 742*4e72b326SXuhui Lin reg = <0x20000000 0xc0000>; 743*4e72b326SXuhui Lin #clock-cells = <1>; 744*4e72b326SXuhui Lin #reset-cells = <1>; 745*4e72b326SXuhui Lin 746*4e72b326SXuhui Lin assigned-clocks = 747*4e72b326SXuhui Lin <&cru PLL_GPLL>, <&cru PLL_CPLL>, 748*4e72b326SXuhui Lin <&cru PLL_AUPLL>, <&cru CLK_AUDIO_FRAC0_SRC>, 749*4e72b326SXuhui Lin <&cru CLK_AUDIO_FRAC1_SRC>, <&cru CLK_UART_FRAC0_SRC>, 750*4e72b326SXuhui Lin <&cru CLK_UART_FRAC1_SRC>, <&cru CLK_CM_FRAC0_SRC>, 751*4e72b326SXuhui Lin <&cru CLK_CM_FRAC1_SRC>, <&cru CLK_CM_FRAC2_SRC>, 752*4e72b326SXuhui Lin <&cru CLK_UART_FRAC0>, <&cru CLK_UART_FRAC1>, 753*4e72b326SXuhui Lin <&cru CLK_CM_FRAC0>, <&cru CLK_CM_FRAC1>, 754*4e72b326SXuhui Lin <&cru CLK_CM_FRAC2>, <&cru CLK_AUDIO_FRAC0>, 755*4e72b326SXuhui Lin <&cru CLK_AUDIO_FRAC1>; 756*4e72b326SXuhui Lin assigned-clock-rates = 757*4e72b326SXuhui Lin <1188000000>, <1000000000>, 758*4e72b326SXuhui Lin <786432000>, <786432000>, 759*4e72b326SXuhui Lin <786432000>, <1188000000>, 760*4e72b326SXuhui Lin <1188000000>, <1188000000>, 761*4e72b326SXuhui Lin <1188000000>, <786432000>, 762*4e72b326SXuhui Lin <96000000>, <128000000>, 763*4e72b326SXuhui Lin <18432000>, <500000000>, 764*4e72b326SXuhui Lin <32768000>, <45158400>, 765*4e72b326SXuhui Lin <49152000>; 766*4e72b326SXuhui Lin }; 767*4e72b326SXuhui Lin 768*4e72b326SXuhui Lin grf: syscon@20100000 { 769*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-grf", "syscon", "simple-mfd"; 770*4e72b326SXuhui Lin reg = <0x20100000 0x91000>; 771*4e72b326SXuhui Lin 772*4e72b326SXuhui Lin reboot_mode: reboot-mode { 773*4e72b326SXuhui Lin compatible = "syscon-reboot-mode"; 774*4e72b326SXuhui Lin offset = <0x30200>; 775*4e72b326SXuhui Lin mode-bootloader = <BOOT_BL_DOWNLOAD>; 776*4e72b326SXuhui Lin mode-charge = <BOOT_CHARGING>; 777*4e72b326SXuhui Lin mode-fastboot = <BOOT_FASTBOOT>; 778*4e72b326SXuhui Lin mode-loader = <BOOT_BL_DOWNLOAD>; 779*4e72b326SXuhui Lin mode-normal = <BOOT_NORMAL>; 780*4e72b326SXuhui Lin mode-recovery = <BOOT_RECOVERY>; 781*4e72b326SXuhui Lin mode-ums = <BOOT_UMS>; 782*4e72b326SXuhui Lin mode-panic = <BOOT_PANIC>; 783*4e72b326SXuhui Lin mode-watchdog = <BOOT_WATCHDOG>; 784*4e72b326SXuhui Lin }; 785*4e72b326SXuhui Lin }; 786*4e72b326SXuhui Lin 787*4e72b326SXuhui Lin ioc_grf: syscon@201a0000 { 788*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-ioc-grf", "syscon", "simple-mfd"; 789*4e72b326SXuhui Lin reg = <0x201a0000 0x50000>; 790*4e72b326SXuhui Lin 791*4e72b326SXuhui Lin rgb: rgb { 792*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rgb"; 793*4e72b326SXuhui Lin status = "disabled"; 794*4e72b326SXuhui Lin 795*4e72b326SXuhui Lin ports { 796*4e72b326SXuhui Lin #address-cells = <1>; 797*4e72b326SXuhui Lin #size-cells = <0>; 798*4e72b326SXuhui Lin 799*4e72b326SXuhui Lin port@0 { 800*4e72b326SXuhui Lin reg = <0>; 801*4e72b326SXuhui Lin #address-cells = <1>; 802*4e72b326SXuhui Lin #size-cells = <0>; 803*4e72b326SXuhui Lin 804*4e72b326SXuhui Lin rgb_in_vop: endpoint@0 { 805*4e72b326SXuhui Lin reg = <0>; 806*4e72b326SXuhui Lin remote-endpoint = <&vop_out_rgb>; 807*4e72b326SXuhui Lin }; 808*4e72b326SXuhui Lin }; 809*4e72b326SXuhui Lin 810*4e72b326SXuhui Lin }; 811*4e72b326SXuhui Lin }; 812*4e72b326SXuhui Lin }; 813*4e72b326SXuhui Lin 814*4e72b326SXuhui Lin qos_cpu: qos@20310000 { 815*4e72b326SXuhui Lin compatible = "syscon"; 816*4e72b326SXuhui Lin reg = <0x20310000 0x20>; 817*4e72b326SXuhui Lin }; 818*4e72b326SXuhui Lin 819*4e72b326SXuhui Lin shaping_cpu: shaping@20310088 { 820*4e72b326SXuhui Lin compatible = "syscon"; 821*4e72b326SXuhui Lin reg = <0x20310088 0x4>; 822*4e72b326SXuhui Lin }; 823*4e72b326SXuhui Lin 824*4e72b326SXuhui Lin qos_emmc: qos@20320000 { 825*4e72b326SXuhui Lin compatible = "syscon"; 826*4e72b326SXuhui Lin reg = <0x20320000 0x20>; 827*4e72b326SXuhui Lin }; 828*4e72b326SXuhui Lin 829*4e72b326SXuhui Lin shaping_emmc: shaping@20320088 { 830*4e72b326SXuhui Lin compatible = "syscon"; 831*4e72b326SXuhui Lin reg = <0x20320088 0x4>; 832*4e72b326SXuhui Lin }; 833*4e72b326SXuhui Lin 834*4e72b326SXuhui Lin qos_fspi0: qos@20320100 { 835*4e72b326SXuhui Lin compatible = "syscon"; 836*4e72b326SXuhui Lin reg = <0x20320100 0x20>; 837*4e72b326SXuhui Lin }; 838*4e72b326SXuhui Lin 839*4e72b326SXuhui Lin shaping_fspi0: shaping@20320188 { 840*4e72b326SXuhui Lin compatible = "syscon"; 841*4e72b326SXuhui Lin reg = <0x20320188 0x4>; 842*4e72b326SXuhui Lin }; 843*4e72b326SXuhui Lin 844*4e72b326SXuhui Lin qos_usb2host: qos@20320200 { 845*4e72b326SXuhui Lin compatible = "syscon"; 846*4e72b326SXuhui Lin reg = <0x20320200 0x20>; 847*4e72b326SXuhui Lin }; 848*4e72b326SXuhui Lin 849*4e72b326SXuhui Lin shaping_usb2host: shaping@20320288 { 850*4e72b326SXuhui Lin compatible = "syscon"; 851*4e72b326SXuhui Lin reg = <0x20320288 0x4>; 852*4e72b326SXuhui Lin }; 853*4e72b326SXuhui Lin 854*4e72b326SXuhui Lin qos_usb3otg: qos@20320300 { 855*4e72b326SXuhui Lin compatible = "syscon"; 856*4e72b326SXuhui Lin reg = <0x20320300 0x20>; 857*4e72b326SXuhui Lin }; 858*4e72b326SXuhui Lin 859*4e72b326SXuhui Lin shaping_usb3otg: shaping@20320388 { 860*4e72b326SXuhui Lin compatible = "syscon"; 861*4e72b326SXuhui Lin reg = <0x20320388 0x4>; 862*4e72b326SXuhui Lin }; 863*4e72b326SXuhui Lin 864*4e72b326SXuhui Lin qos_gmac: qos@20330000 { 865*4e72b326SXuhui Lin compatible = "syscon"; 866*4e72b326SXuhui Lin reg = <0x20330000 0x20>; 867*4e72b326SXuhui Lin }; 868*4e72b326SXuhui Lin 869*4e72b326SXuhui Lin shaping_gmac: shaping@20330088 { 870*4e72b326SXuhui Lin compatible = "syscon"; 871*4e72b326SXuhui Lin reg = <0x20330088 0x4>; 872*4e72b326SXuhui Lin }; 873*4e72b326SXuhui Lin 874*4e72b326SXuhui Lin qos_isp: qos@20330100 { 875*4e72b326SXuhui Lin compatible = "syscon"; 876*4e72b326SXuhui Lin reg = <0x20330100 0x20>; 877*4e72b326SXuhui Lin }; 878*4e72b326SXuhui Lin 879*4e72b326SXuhui Lin shaping_isp: shaping@20330188 { 880*4e72b326SXuhui Lin compatible = "syscon"; 881*4e72b326SXuhui Lin reg = <0x20330188 0x4>; 882*4e72b326SXuhui Lin }; 883*4e72b326SXuhui Lin 884*4e72b326SXuhui Lin qos_rkcan0: qos@20330200 { 885*4e72b326SXuhui Lin compatible = "syscon"; 886*4e72b326SXuhui Lin reg = <0x20330200 0x20>; 887*4e72b326SXuhui Lin }; 888*4e72b326SXuhui Lin 889*4e72b326SXuhui Lin shaping_rkcan0: shaping@20330288 { 890*4e72b326SXuhui Lin compatible = "syscon"; 891*4e72b326SXuhui Lin reg = <0x20330288 0x4>; 892*4e72b326SXuhui Lin }; 893*4e72b326SXuhui Lin 894*4e72b326SXuhui Lin qos_rkcan1: qos@20330300 { 895*4e72b326SXuhui Lin compatible = "syscon"; 896*4e72b326SXuhui Lin reg = <0x20330300 0x20>; 897*4e72b326SXuhui Lin }; 898*4e72b326SXuhui Lin 899*4e72b326SXuhui Lin shaping_rkcan1: shaping@20330388 { 900*4e72b326SXuhui Lin compatible = "syscon"; 901*4e72b326SXuhui Lin reg = <0x20330388 0x4>; 902*4e72b326SXuhui Lin }; 903*4e72b326SXuhui Lin 904*4e72b326SXuhui Lin qos_sdmmc0: qos@20330400 { 905*4e72b326SXuhui Lin compatible = "syscon"; 906*4e72b326SXuhui Lin reg = <0x20330400 0x20>; 907*4e72b326SXuhui Lin }; 908*4e72b326SXuhui Lin 909*4e72b326SXuhui Lin shaping_sdmmc0: shaping@20330488 { 910*4e72b326SXuhui Lin compatible = "syscon"; 911*4e72b326SXuhui Lin reg = <0x20330488 0x4>; 912*4e72b326SXuhui Lin }; 913*4e72b326SXuhui Lin 914*4e72b326SXuhui Lin qos_vicap: qos@20330500 { 915*4e72b326SXuhui Lin compatible = "syscon"; 916*4e72b326SXuhui Lin reg = <0x20330500 0x20>; 917*4e72b326SXuhui Lin }; 918*4e72b326SXuhui Lin 919*4e72b326SXuhui Lin shaping_vicap: shaping@20330588 { 920*4e72b326SXuhui Lin compatible = "syscon"; 921*4e72b326SXuhui Lin reg = <0x20330588 0x4>; 922*4e72b326SXuhui Lin }; 923*4e72b326SXuhui Lin 924*4e72b326SXuhui Lin qos_vpsl: qos@20330600 { 925*4e72b326SXuhui Lin compatible = "syscon"; 926*4e72b326SXuhui Lin reg = <0x20330600 0x20>; 927*4e72b326SXuhui Lin }; 928*4e72b326SXuhui Lin 929*4e72b326SXuhui Lin shaping_vpsl: shaping@20330688 { 930*4e72b326SXuhui Lin compatible = "syscon"; 931*4e72b326SXuhui Lin reg = <0x20330688 0x4>; 932*4e72b326SXuhui Lin }; 933*4e72b326SXuhui Lin 934*4e72b326SXuhui Lin qos_vpss: qos@20330700 { 935*4e72b326SXuhui Lin compatible = "syscon"; 936*4e72b326SXuhui Lin reg = <0x20330700 0x20>; 937*4e72b326SXuhui Lin }; 938*4e72b326SXuhui Lin 939*4e72b326SXuhui Lin shaping_vpss: shaping@20330788 { 940*4e72b326SXuhui Lin compatible = "syscon"; 941*4e72b326SXuhui Lin reg = <0x20330788 0x4>; 942*4e72b326SXuhui Lin }; 943*4e72b326SXuhui Lin 944*4e72b326SXuhui Lin qos_saradc1: qos@20330800 { 945*4e72b326SXuhui Lin compatible = "syscon"; 946*4e72b326SXuhui Lin reg = <0x20330800 0x20>; 947*4e72b326SXuhui Lin }; 948*4e72b326SXuhui Lin 949*4e72b326SXuhui Lin shaping_saradc1: shaping@20330888 { 950*4e72b326SXuhui Lin compatible = "syscon"; 951*4e72b326SXuhui Lin reg = <0x20330888 0x4>; 952*4e72b326SXuhui Lin }; 953*4e72b326SXuhui Lin 954*4e72b326SXuhui Lin qos_saradc2: qos@20330900 { 955*4e72b326SXuhui Lin compatible = "syscon"; 956*4e72b326SXuhui Lin reg = <0x20330900 0x20>; 957*4e72b326SXuhui Lin }; 958*4e72b326SXuhui Lin 959*4e72b326SXuhui Lin shaping_saradc2: shaping@20330988 { 960*4e72b326SXuhui Lin compatible = "syscon"; 961*4e72b326SXuhui Lin reg = <0x20330988 0x4>; 962*4e72b326SXuhui Lin }; 963*4e72b326SXuhui Lin 964*4e72b326SXuhui Lin qos_npu: qos@20340000 { 965*4e72b326SXuhui Lin compatible = "syscon"; 966*4e72b326SXuhui Lin reg = <0x20340000 0x20>; 967*4e72b326SXuhui Lin }; 968*4e72b326SXuhui Lin 969*4e72b326SXuhui Lin shaping_npu: shaping@20340088 { 970*4e72b326SXuhui Lin compatible = "syscon"; 971*4e72b326SXuhui Lin reg = <0x20340088 0x4>; 972*4e72b326SXuhui Lin }; 973*4e72b326SXuhui Lin 974*4e72b326SXuhui Lin qos_rkvenc: qos@20350000 { 975*4e72b326SXuhui Lin compatible = "syscon"; 976*4e72b326SXuhui Lin reg = <0x20350000 0x20>; 977*4e72b326SXuhui Lin }; 978*4e72b326SXuhui Lin 979*4e72b326SXuhui Lin shaping_rkvenc: shaping@20350088 { 980*4e72b326SXuhui Lin compatible = "syscon"; 981*4e72b326SXuhui Lin reg = <0x20350088 0x4>; 982*4e72b326SXuhui Lin }; 983*4e72b326SXuhui Lin 984*4e72b326SXuhui Lin qos_saradc0: qos@20350100 { 985*4e72b326SXuhui Lin compatible = "syscon"; 986*4e72b326SXuhui Lin reg = <0x20350100 0x20>; 987*4e72b326SXuhui Lin }; 988*4e72b326SXuhui Lin 989*4e72b326SXuhui Lin shaping_saradc0: shaping@20350188 { 990*4e72b326SXuhui Lin compatible = "syscon"; 991*4e72b326SXuhui Lin reg = <0x20350188 0x4>; 992*4e72b326SXuhui Lin }; 993*4e72b326SXuhui Lin 994*4e72b326SXuhui Lin qos_sdmmc1: qos@20350200 { 995*4e72b326SXuhui Lin compatible = "syscon"; 996*4e72b326SXuhui Lin reg = <0x20350200 0x20>; 997*4e72b326SXuhui Lin }; 998*4e72b326SXuhui Lin 999*4e72b326SXuhui Lin shaping_sdmmc1: shaping@20350288 { 1000*4e72b326SXuhui Lin compatible = "syscon"; 1001*4e72b326SXuhui Lin reg = <0x20350288 0x4>; 1002*4e72b326SXuhui Lin }; 1003*4e72b326SXuhui Lin 1004*4e72b326SXuhui Lin qos_lpmcu: qos@20360000 { 1005*4e72b326SXuhui Lin compatible = "syscon"; 1006*4e72b326SXuhui Lin reg = <0x20360000 0x20>; 1007*4e72b326SXuhui Lin }; 1008*4e72b326SXuhui Lin 1009*4e72b326SXuhui Lin shaping_lpmcu: shaping@20360088 { 1010*4e72b326SXuhui Lin compatible = "syscon"; 1011*4e72b326SXuhui Lin reg = <0x20360088 0x4>; 1012*4e72b326SXuhui Lin }; 1013*4e72b326SXuhui Lin 1014*4e72b326SXuhui Lin qos_mcu: qos@20370100 { 1015*4e72b326SXuhui Lin compatible = "syscon"; 1016*4e72b326SXuhui Lin reg = <0x20370100 0x20>; 1017*4e72b326SXuhui Lin }; 1018*4e72b326SXuhui Lin 1019*4e72b326SXuhui Lin shaping_mcu: shaping@20370188 { 1020*4e72b326SXuhui Lin compatible = "syscon"; 1021*4e72b326SXuhui Lin reg = <0x20370188 0x4>; 1022*4e72b326SXuhui Lin }; 1023*4e72b326SXuhui Lin 1024*4e72b326SXuhui Lin qos_rga: qos@20370200 { 1025*4e72b326SXuhui Lin compatible = "syscon"; 1026*4e72b326SXuhui Lin reg = <0x20370200 0x20>; 1027*4e72b326SXuhui Lin }; 1028*4e72b326SXuhui Lin 1029*4e72b326SXuhui Lin shaping_rga: shaping@20370288 { 1030*4e72b326SXuhui Lin compatible = "syscon"; 1031*4e72b326SXuhui Lin reg = <0x20370288 0x4>; 1032*4e72b326SXuhui Lin }; 1033*4e72b326SXuhui Lin 1034*4e72b326SXuhui Lin qos_rkce: qos@20370400 { 1035*4e72b326SXuhui Lin compatible = "syscon"; 1036*4e72b326SXuhui Lin reg = <0x20370400 0x20>; 1037*4e72b326SXuhui Lin }; 1038*4e72b326SXuhui Lin 1039*4e72b326SXuhui Lin shaping_rkce: shaping@20370488 { 1040*4e72b326SXuhui Lin compatible = "syscon"; 1041*4e72b326SXuhui Lin reg = <0x20370488 0x4>; 1042*4e72b326SXuhui Lin }; 1043*4e72b326SXuhui Lin 1044*4e72b326SXuhui Lin qos_rkdma: qos@20370500 { 1045*4e72b326SXuhui Lin compatible = "syscon"; 1046*4e72b326SXuhui Lin reg = <0x20370500 0x20>; 1047*4e72b326SXuhui Lin }; 1048*4e72b326SXuhui Lin 1049*4e72b326SXuhui Lin shaping_rkdma: shaping@20370588 { 1050*4e72b326SXuhui Lin compatible = "syscon"; 1051*4e72b326SXuhui Lin reg = <0x20370588 0x4>; 1052*4e72b326SXuhui Lin }; 1053*4e72b326SXuhui Lin 1054*4e72b326SXuhui Lin qos_decom: qos@20380000 { 1055*4e72b326SXuhui Lin compatible = "syscon"; 1056*4e72b326SXuhui Lin reg = <0x20380000 0x20>; 1057*4e72b326SXuhui Lin }; 1058*4e72b326SXuhui Lin 1059*4e72b326SXuhui Lin shaping_decom: shaping@20380088 { 1060*4e72b326SXuhui Lin compatible = "syscon"; 1061*4e72b326SXuhui Lin reg = <0x20380088 0x4>; 1062*4e72b326SXuhui Lin }; 1063*4e72b326SXuhui Lin 1064*4e72b326SXuhui Lin qos_ooc: qos@20380100 { 1065*4e72b326SXuhui Lin compatible = "syscon"; 1066*4e72b326SXuhui Lin reg = <0x20380100 0x20>; 1067*4e72b326SXuhui Lin }; 1068*4e72b326SXuhui Lin 1069*4e72b326SXuhui Lin shaping_ooc: shaping@20380188 { 1070*4e72b326SXuhui Lin compatible = "syscon"; 1071*4e72b326SXuhui Lin reg = <0x20380188 0x4>; 1072*4e72b326SXuhui Lin }; 1073*4e72b326SXuhui Lin 1074*4e72b326SXuhui Lin qos_rkjpeg: qos@20380200 { 1075*4e72b326SXuhui Lin compatible = "syscon"; 1076*4e72b326SXuhui Lin reg = <0x20380200 0x20>; 1077*4e72b326SXuhui Lin }; 1078*4e72b326SXuhui Lin 1079*4e72b326SXuhui Lin shaping_rkjpeg: shaping@20380288 { 1080*4e72b326SXuhui Lin compatible = "syscon"; 1081*4e72b326SXuhui Lin reg = <0x20380288 0x4>; 1082*4e72b326SXuhui Lin }; 1083*4e72b326SXuhui Lin 1084*4e72b326SXuhui Lin qos_rkvdec: qos@20380300 { 1085*4e72b326SXuhui Lin compatible = "syscon"; 1086*4e72b326SXuhui Lin reg = <0x20380300 0x20>; 1087*4e72b326SXuhui Lin }; 1088*4e72b326SXuhui Lin 1089*4e72b326SXuhui Lin shaping_rkvdec: shaping@20380388 { 1090*4e72b326SXuhui Lin compatible = "syscon"; 1091*4e72b326SXuhui Lin reg = <0x20380388 0x4>; 1092*4e72b326SXuhui Lin }; 1093*4e72b326SXuhui Lin 1094*4e72b326SXuhui Lin qos_vop: qos@20380400 { 1095*4e72b326SXuhui Lin compatible = "syscon"; 1096*4e72b326SXuhui Lin reg = <0x20380400 0x20>; 1097*4e72b326SXuhui Lin }; 1098*4e72b326SXuhui Lin 1099*4e72b326SXuhui Lin shaping_vop: shaping@20380488 { 1100*4e72b326SXuhui Lin compatible = "syscon"; 1101*4e72b326SXuhui Lin reg = <0x20380488 0x4>; 1102*4e72b326SXuhui Lin }; 1103*4e72b326SXuhui Lin 1104*4e72b326SXuhui Lin qos_avsp_ro: qos@20390000 { 1105*4e72b326SXuhui Lin compatible = "syscon"; 1106*4e72b326SXuhui Lin reg = <0x20390000 0x20>; 1107*4e72b326SXuhui Lin }; 1108*4e72b326SXuhui Lin 1109*4e72b326SXuhui Lin shaping_avsp_ro: shaping@20390088 { 1110*4e72b326SXuhui Lin compatible = "syscon"; 1111*4e72b326SXuhui Lin reg = <0x20390088 0x4>; 1112*4e72b326SXuhui Lin }; 1113*4e72b326SXuhui Lin 1114*4e72b326SXuhui Lin qos_avsp_wo: qos@20390100 { 1115*4e72b326SXuhui Lin compatible = "syscon"; 1116*4e72b326SXuhui Lin reg = <0x20390100 0x20>; 1117*4e72b326SXuhui Lin }; 1118*4e72b326SXuhui Lin 1119*4e72b326SXuhui Lin shaping_avsp_wo: shaping@20390188 { 1120*4e72b326SXuhui Lin compatible = "syscon"; 1121*4e72b326SXuhui Lin reg = <0x20390188 0x4>; 1122*4e72b326SXuhui Lin }; 1123*4e72b326SXuhui Lin 1124*4e72b326SXuhui Lin qos_fec_ro: qos@20390200 { 1125*4e72b326SXuhui Lin compatible = "syscon"; 1126*4e72b326SXuhui Lin reg = <0x20390200 0x20>; 1127*4e72b326SXuhui Lin }; 1128*4e72b326SXuhui Lin 1129*4e72b326SXuhui Lin shaping_fec_ro: shaping@20390288 { 1130*4e72b326SXuhui Lin compatible = "syscon"; 1131*4e72b326SXuhui Lin reg = <0x20390288 0x4>; 1132*4e72b326SXuhui Lin }; 1133*4e72b326SXuhui Lin 1134*4e72b326SXuhui Lin qos_fec_wo: qos@20390300 { 1135*4e72b326SXuhui Lin compatible = "syscon"; 1136*4e72b326SXuhui Lin reg = <0x20390300 0x20>; 1137*4e72b326SXuhui Lin }; 1138*4e72b326SXuhui Lin 1139*4e72b326SXuhui Lin shaping_fec_wo: shaping@20390388 { 1140*4e72b326SXuhui Lin compatible = "syscon"; 1141*4e72b326SXuhui Lin reg = <0x20390388 0x4>; 1142*4e72b326SXuhui Lin }; 1143*4e72b326SXuhui Lin 1144*4e72b326SXuhui Lin qos_aad: qos@203a0000 { 1145*4e72b326SXuhui Lin compatible = "syscon"; 1146*4e72b326SXuhui Lin reg = <0x203a0000 0x20>; 1147*4e72b326SXuhui Lin }; 1148*4e72b326SXuhui Lin 1149*4e72b326SXuhui Lin shaping_aad: shaping@203a0088 { 1150*4e72b326SXuhui Lin compatible = "syscon"; 1151*4e72b326SXuhui Lin reg = <0x203a0088 0x4>; 1152*4e72b326SXuhui Lin }; 1153*4e72b326SXuhui Lin 1154*4e72b326SXuhui Lin qos_afe: qos@203a0100 { 1155*4e72b326SXuhui Lin compatible = "syscon"; 1156*4e72b326SXuhui Lin reg = <0x203a0100 0x20>; 1157*4e72b326SXuhui Lin }; 1158*4e72b326SXuhui Lin 1159*4e72b326SXuhui Lin shaping_afe: shaping@203a0188 { 1160*4e72b326SXuhui Lin compatible = "syscon"; 1161*4e72b326SXuhui Lin reg = <0x203a0188 0x4>; 1162*4e72b326SXuhui Lin }; 1163*4e72b326SXuhui Lin 1164*4e72b326SXuhui Lin qos_atdd: qos@203a0200 { 1165*4e72b326SXuhui Lin compatible = "syscon"; 1166*4e72b326SXuhui Lin reg = <0x203a0200 0x20>; 1167*4e72b326SXuhui Lin }; 1168*4e72b326SXuhui Lin 1169*4e72b326SXuhui Lin shaping_atdd: shaping@203a0288 { 1170*4e72b326SXuhui Lin compatible = "syscon"; 1171*4e72b326SXuhui Lin reg = <0x203a0288 0x4>; 1172*4e72b326SXuhui Lin }; 1173*4e72b326SXuhui Lin 1174*4e72b326SXuhui Lin qos_fspi1: qos@203a0300 { 1175*4e72b326SXuhui Lin compatible = "syscon"; 1176*4e72b326SXuhui Lin reg = <0x203a0300 0x20>; 1177*4e72b326SXuhui Lin }; 1178*4e72b326SXuhui Lin 1179*4e72b326SXuhui Lin shaping_fspi1: shaping@203a0388 { 1180*4e72b326SXuhui Lin compatible = "syscon"; 1181*4e72b326SXuhui Lin reg = <0x203a0388 0x4>; 1182*4e72b326SXuhui Lin }; 1183*4e72b326SXuhui Lin 1184*4e72b326SXuhui Lin qos_lpdma: qos@203a0400 { 1185*4e72b326SXuhui Lin compatible = "syscon"; 1186*4e72b326SXuhui Lin reg = <0x203a0400 0x20>; 1187*4e72b326SXuhui Lin }; 1188*4e72b326SXuhui Lin 1189*4e72b326SXuhui Lin shaping_lpdma: shaping@203a0488 { 1190*4e72b326SXuhui Lin compatible = "syscon"; 1191*4e72b326SXuhui Lin reg = <0x203a0488 0x4>; 1192*4e72b326SXuhui Lin }; 1193*4e72b326SXuhui Lin 1194*4e72b326SXuhui Lin qos_spi2ahb: qos@203a0500 { 1195*4e72b326SXuhui Lin compatible = "syscon"; 1196*4e72b326SXuhui Lin reg = <0x203a0500 0x20>; 1197*4e72b326SXuhui Lin }; 1198*4e72b326SXuhui Lin 1199*4e72b326SXuhui Lin shaping_spi2ahb: shaping@203a0588 { 1200*4e72b326SXuhui Lin compatible = "syscon"; 1201*4e72b326SXuhui Lin reg = <0x203a0588 0x4>; 1202*4e72b326SXuhui Lin }; 1203*4e72b326SXuhui Lin 1204*4e72b326SXuhui Lin qos_aisp: qos@203b0000 { 1205*4e72b326SXuhui Lin compatible = "syscon"; 1206*4e72b326SXuhui Lin reg = <0x203b0000 0x20>; 1207*4e72b326SXuhui Lin }; 1208*4e72b326SXuhui Lin 1209*4e72b326SXuhui Lin lpmcu_mbox0: mailbox@20500000 { 1210*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1211*4e72b326SXuhui Lin reg = <0x20500000 0x20>; 1212*4e72b326SXuhui Lin interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1213*4e72b326SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 1214*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1215*4e72b326SXuhui Lin #mbox-cells = <1>; 1216*4e72b326SXuhui Lin status = "disabled"; 1217*4e72b326SXuhui Lin }; 1218*4e72b326SXuhui Lin 1219*4e72b326SXuhui Lin lpmcu_mbox1: mailbox@20510000 { 1220*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1221*4e72b326SXuhui Lin reg = <0x20510000 0x20>; 1222*4e72b326SXuhui Lin interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 1223*4e72b326SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 1224*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1225*4e72b326SXuhui Lin #mbox-cells = <1>; 1226*4e72b326SXuhui Lin status = "disabled"; 1227*4e72b326SXuhui Lin }; 1228*4e72b326SXuhui Lin 1229*4e72b326SXuhui Lin lpmcu_mbox2: mailbox@20520000 { 1230*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1231*4e72b326SXuhui Lin reg = <0x20520000 0x20>; 1232*4e72b326SXuhui Lin interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 1233*4e72b326SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 1234*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1235*4e72b326SXuhui Lin #mbox-cells = <1>; 1236*4e72b326SXuhui Lin status = "disabled"; 1237*4e72b326SXuhui Lin }; 1238*4e72b326SXuhui Lin 1239*4e72b326SXuhui Lin lpmcu_mbox3: mailbox@20530000 { 1240*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1241*4e72b326SXuhui Lin reg = <0x20530000 0x20>; 1242*4e72b326SXuhui Lin interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 1243*4e72b326SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 1244*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1245*4e72b326SXuhui Lin #mbox-cells = <1>; 1246*4e72b326SXuhui Lin status = "disabled"; 1247*4e72b326SXuhui Lin }; 1248*4e72b326SXuhui Lin 1249*4e72b326SXuhui Lin pwm1_4ch_0: pwm@20700000 { 1250*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1251*4e72b326SXuhui Lin reg = <0x20700000 0x1000>; 1252*4e72b326SXuhui Lin interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 1253*4e72b326SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1254*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1255*4e72b326SXuhui Lin pinctrl-names = "active"; 1256*4e72b326SXuhui Lin pinctrl-0 = <&pwm1m0_ch0_pins>; 1257*4e72b326SXuhui Lin #pwm-cells = <3>; 1258*4e72b326SXuhui Lin status = "disabled"; 1259*4e72b326SXuhui Lin }; 1260*4e72b326SXuhui Lin 1261*4e72b326SXuhui Lin pwm1_4ch_1: pwm@20710000 { 1262*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1263*4e72b326SXuhui Lin reg = <0x20710000 0x1000>; 1264*4e72b326SXuhui Lin interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1265*4e72b326SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1266*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1267*4e72b326SXuhui Lin pinctrl-names = "active"; 1268*4e72b326SXuhui Lin pinctrl-0 = <&pwm1m0_ch1_pins>; 1269*4e72b326SXuhui Lin #pwm-cells = <3>; 1270*4e72b326SXuhui Lin status = "disabled"; 1271*4e72b326SXuhui Lin }; 1272*4e72b326SXuhui Lin 1273*4e72b326SXuhui Lin pwm1_4ch_2: pwm@20720000 { 1274*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1275*4e72b326SXuhui Lin reg = <0x20720000 0x1000>; 1276*4e72b326SXuhui Lin interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 1277*4e72b326SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1278*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1279*4e72b326SXuhui Lin pinctrl-names = "active"; 1280*4e72b326SXuhui Lin pinctrl-0 = <&pwm1m0_ch2_pins>; 1281*4e72b326SXuhui Lin #pwm-cells = <3>; 1282*4e72b326SXuhui Lin status = "disabled"; 1283*4e72b326SXuhui Lin }; 1284*4e72b326SXuhui Lin 1285*4e72b326SXuhui Lin pwm1_4ch_3: pwm@20730000 { 1286*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1287*4e72b326SXuhui Lin reg = <0x20730000 0x1000>; 1288*4e72b326SXuhui Lin interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 1289*4e72b326SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1290*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1291*4e72b326SXuhui Lin pinctrl-names = "active"; 1292*4e72b326SXuhui Lin pinctrl-0 = <&pwm1m0_ch3_pins>; 1293*4e72b326SXuhui Lin #pwm-cells = <3>; 1294*4e72b326SXuhui Lin status = "disabled"; 1295*4e72b326SXuhui Lin }; 1296*4e72b326SXuhui Lin 1297*4e72b326SXuhui Lin i2c2: i2c@20800000 { 1298*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-i2c", "rockchip,rk3399-i2c"; 1299*4e72b326SXuhui Lin reg = <0x20800000 0x1000>; 1300*4e72b326SXuhui Lin interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 1301*4e72b326SXuhui Lin #address-cells = <1>; 1302*4e72b326SXuhui Lin #size-cells = <0>; 1303*4e72b326SXuhui Lin clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1304*4e72b326SXuhui Lin clock-names = "i2c", "pclk"; 1305*4e72b326SXuhui Lin pinctrl-names = "default"; 1306*4e72b326SXuhui Lin pinctrl-0 = <&i2c2m0_pins>; 1307*4e72b326SXuhui Lin status = "disabled"; 1308*4e72b326SXuhui Lin }; 1309*4e72b326SXuhui Lin 1310*4e72b326SXuhui Lin uart0: serial@20810000 { 1311*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 1312*4e72b326SXuhui Lin reg = <0x20810000 0x100>; 1313*4e72b326SXuhui Lin interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 1314*4e72b326SXuhui Lin clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 1315*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 1316*4e72b326SXuhui Lin reg-shift = <2>; 1317*4e72b326SXuhui Lin reg-io-width = <4>; 1318*4e72b326SXuhui Lin dmas = <&dmac 1>, <&dmac 0>; 1319*4e72b326SXuhui Lin pinctrl-names = "default"; 1320*4e72b326SXuhui Lin pinctrl-0 = <&uart0m0_xfer_pins>; 1321*4e72b326SXuhui Lin status = "disabled"; 1322*4e72b326SXuhui Lin }; 1323*4e72b326SXuhui Lin 1324*4e72b326SXuhui Lin pmu: power-management@20838000 { 1325*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pmu", "syscon", "simple-mfd"; 1326*4e72b326SXuhui Lin reg = <0x20838000 0x400>; 1327*4e72b326SXuhui Lin 1328*4e72b326SXuhui Lin power: power-controller { 1329*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-power-controller"; 1330*4e72b326SXuhui Lin #power-domain-cells = <1>; 1331*4e72b326SXuhui Lin #address-cells = <1>; 1332*4e72b326SXuhui Lin #size-cells = <0>; 1333*4e72b326SXuhui Lin status = "okay"; 1334*4e72b326SXuhui Lin 1335*4e72b326SXuhui Lin /* These power domains are grouped by VD_NPU */ 1336*4e72b326SXuhui Lin power-domain@RV1126B_PD_NPU { 1337*4e72b326SXuhui Lin reg = <RV1126B_PD_NPU>; 1338*4e72b326SXuhui Lin pm_qos = <&qos_npu>; 1339*4e72b326SXuhui Lin pm_shaping = <&shaping_npu>; 1340*4e72b326SXuhui Lin }; 1341*4e72b326SXuhui Lin /* These power domains are grouped by VD_LOGIC */ 1342*4e72b326SXuhui Lin power-domain@RV1126B_PD_VDO { 1343*4e72b326SXuhui Lin reg = <RV1126B_PD_VDO>; 1344*4e72b326SXuhui Lin pm_qos = <&qos_vop>, 1345*4e72b326SXuhui Lin <&qos_rkvdec>, 1346*4e72b326SXuhui Lin <&qos_rkjpeg>, 1347*4e72b326SXuhui Lin <&qos_decom>; 1348*4e72b326SXuhui Lin pm_shaping = <&shaping_vop>, 1349*4e72b326SXuhui Lin <&shaping_rkvdec>, 1350*4e72b326SXuhui Lin <&shaping_rkjpeg>, 1351*4e72b326SXuhui Lin <&shaping_decom>; 1352*4e72b326SXuhui Lin }; 1353*4e72b326SXuhui Lin power-domain@RV1126B_PD_AISP { 1354*4e72b326SXuhui Lin reg = <RV1126B_PD_AISP>; 1355*4e72b326SXuhui Lin pm_qos = <&qos_aisp>; 1356*4e72b326SXuhui Lin }; 1357*4e72b326SXuhui Lin }; 1358*4e72b326SXuhui Lin }; 1359*4e72b326SXuhui Lin 1360*4e72b326SXuhui Lin audio_codec_pmu: audio-codec@20890000 { 1361*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-codec", "rockchip,rk3506-codec"; 1362*4e72b326SXuhui Lin reg = <0x20890000 0x1000>; 1363*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1364*4e72b326SXuhui Lin sound-name-prefix = "ACodec_LP"; 1365*4e72b326SXuhui Lin clocks = <&cru PCLK_AUDIO_ADC_PMU>, <&cru MCLK_AUDIO_ADC_PMU>; 1366*4e72b326SXuhui Lin clock-names = "pclk", "mclk"; 1367*4e72b326SXuhui Lin resets = <&cru SRST_MRESETN_AUDIO_ADC_PMU>; 1368*4e72b326SXuhui Lin reset-names = "rst"; 1369*4e72b326SXuhui Lin rockchip,grf = <&grf>; 1370*4e72b326SXuhui Lin status = "disabled"; 1371*4e72b326SXuhui Lin }; 1372*4e72b326SXuhui Lin 1373*4e72b326SXuhui Lin fspi1: spi@208c0000 { 1374*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-fspi", "rockchip,fspi"; 1375*4e72b326SXuhui Lin reg = <0x208c0000 0x4000>; 1376*4e72b326SXuhui Lin interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 1377*4e72b326SXuhui Lin clocks = <&cru SCLK_1X_FSPI1>, <&cru HCLK_FSPI1>; 1378*4e72b326SXuhui Lin clock-names = "clk_sfc", "hclk_sfc"; 1379*4e72b326SXuhui Lin rockchip,grf = <&grf>; 1380*4e72b326SXuhui Lin rockchip,max-dll = <0x7F>; 1381*4e72b326SXuhui Lin rockchip,sclk-x2-bypass; 1382*4e72b326SXuhui Lin #address-cells = <1>; 1383*4e72b326SXuhui Lin #size-cells = <0>; 1384*4e72b326SXuhui Lin status = "disabled"; 1385*4e72b326SXuhui Lin }; 1386*4e72b326SXuhui Lin 1387*4e72b326SXuhui Lin crypto: crypto@20940000 { 1388*4e72b326SXuhui Lin compatible = "rockchip,crypto-ce"; 1389*4e72b326SXuhui Lin reg = <0x20940000 0x2000>; 1390*4e72b326SXuhui Lin interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 1391*4e72b326SXuhui Lin clocks = <&cru ACLK_NSRKCE>, <&cru HCLK_NS_RKCE>, 1392*4e72b326SXuhui Lin <&cru CLK_PKA_NSRKCE>; 1393*4e72b326SXuhui Lin clock-names = "aclk", "hclk", "pka"; 1394*4e72b326SXuhui Lin resets = <&cru SRST_HRESETN_NS_RKCE>; 1395*4e72b326SXuhui Lin reset-names = "crypto-rst"; 1396*4e72b326SXuhui Lin status = "disabled"; 1397*4e72b326SXuhui Lin }; 1398*4e72b326SXuhui Lin 1399*4e72b326SXuhui Lin rng: rng@20950000 { 1400*4e72b326SXuhui Lin compatible = "rockchip,rkrng"; 1401*4e72b326SXuhui Lin reg = <0x20950000 0x200>; 1402*4e72b326SXuhui Lin interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 1403*4e72b326SXuhui Lin resets = <&cru SRST_HRESETN_RKRNG_NS>; 1404*4e72b326SXuhui Lin reset-names = "reset"; 1405*4e72b326SXuhui Lin status = "disabled"; 1406*4e72b326SXuhui Lin }; 1407*4e72b326SXuhui Lin 1408*4e72b326SXuhui Lin sai0: sai@20960000 { 1409*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-sai", "rockchip,sai-v1"; 1410*4e72b326SXuhui Lin reg = <0x20960000 0x1000>; 1411*4e72b326SXuhui Lin interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>; 1412*4e72b326SXuhui Lin clocks = <&cru MCLK_SAI0>, <&cru HCLK_SAI0>; 1413*4e72b326SXuhui Lin clock-names = "mclk", "hclk"; 1414*4e72b326SXuhui Lin dmas = <&dmac 17>, <&dmac 16>; 1415*4e72b326SXuhui Lin dma-names = "tx", "rx"; 1416*4e72b326SXuhui Lin resets = <&cru SRST_MRESETN_SAI0>, <&cru SRST_HRESETN_SAI0>; 1417*4e72b326SXuhui Lin reset-names = "m", "h"; 1418*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1419*4e72b326SXuhui Lin sound-name-prefix = "SAI0"; 1420*4e72b326SXuhui Lin pinctrl-names = "default"; 1421*4e72b326SXuhui Lin pinctrl-0 = <&sai0m0_lrck_pins 1422*4e72b326SXuhui Lin &sai0m0_sclk_pins 1423*4e72b326SXuhui Lin &sai0m0_sdi0_pins 1424*4e72b326SXuhui Lin &sai0m0_sdi1_pins 1425*4e72b326SXuhui Lin &sai0m0_sdi2_pins 1426*4e72b326SXuhui Lin &sai0m0_sdi3_pins 1427*4e72b326SXuhui Lin &sai0m0_sdo0_pins>; 1428*4e72b326SXuhui Lin status = "disabled"; 1429*4e72b326SXuhui Lin }; 1430*4e72b326SXuhui Lin 1431*4e72b326SXuhui Lin sai1: sai@20970000 { 1432*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-sai", "rockchip,sai-v1"; 1433*4e72b326SXuhui Lin reg = <0x20970000 0x1000>; 1434*4e72b326SXuhui Lin interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; 1435*4e72b326SXuhui Lin clocks = <&cru MCLK_SAI1>, <&cru HCLK_SAI1>; 1436*4e72b326SXuhui Lin clock-names = "mclk", "hclk"; 1437*4e72b326SXuhui Lin dmas = <&dmac 19>, <&dmac 18>; 1438*4e72b326SXuhui Lin dma-names = "tx", "rx"; 1439*4e72b326SXuhui Lin resets = <&cru SRST_MRESETN_SAI1>, <&cru SRST_HRESETN_SAI1>; 1440*4e72b326SXuhui Lin reset-names = "m", "h"; 1441*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1442*4e72b326SXuhui Lin sound-name-prefix = "SAI1"; 1443*4e72b326SXuhui Lin pinctrl-names = "default"; 1444*4e72b326SXuhui Lin pinctrl-0 = <&sai1m0_lrck_pins 1445*4e72b326SXuhui Lin &sai1m0_sclk_pins 1446*4e72b326SXuhui Lin &sai1m0_sdi_pins 1447*4e72b326SXuhui Lin &sai1m0_sdo_pins>; 1448*4e72b326SXuhui Lin status = "disabled"; 1449*4e72b326SXuhui Lin }; 1450*4e72b326SXuhui Lin 1451*4e72b326SXuhui Lin sai2: sai@20980000 { 1452*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-sai", "rockchip,sai-v1"; 1453*4e72b326SXuhui Lin reg = <0x20980000 0x1000>; 1454*4e72b326SXuhui Lin interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>; 1455*4e72b326SXuhui Lin clocks = <&cru MCLK_SAI2>, <&cru HCLK_SAI2>; 1456*4e72b326SXuhui Lin clock-names = "mclk", "hclk"; 1457*4e72b326SXuhui Lin dmas = <&dmac 21>, <&dmac 20>; 1458*4e72b326SXuhui Lin dma-names = "tx", "rx"; 1459*4e72b326SXuhui Lin resets = <&cru SRST_MRESETN_SAI2>, <&cru SRST_HRESETN_SAI2>; 1460*4e72b326SXuhui Lin reset-names = "m", "h"; 1461*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1462*4e72b326SXuhui Lin sound-name-prefix = "SAI2"; 1463*4e72b326SXuhui Lin pinctrl-names = "default"; 1464*4e72b326SXuhui Lin pinctrl-0 = <&sai2m0_lrck_pins 1465*4e72b326SXuhui Lin &sai2m0_sclk_pins 1466*4e72b326SXuhui Lin &sai2m0_sdi0_pins 1467*4e72b326SXuhui Lin &sai2m0_sdi1_pins 1468*4e72b326SXuhui Lin &sai2m0_sdi2_pins 1469*4e72b326SXuhui Lin &sai2m0_sdo_pins>; 1470*4e72b326SXuhui Lin status = "disabled"; 1471*4e72b326SXuhui Lin }; 1472*4e72b326SXuhui Lin 1473*4e72b326SXuhui Lin pdm: pdm@20990000 { 1474*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pdm", "rockchip,rk3576-pdm"; 1475*4e72b326SXuhui Lin reg = <0x20990000 0x1000>; 1476*4e72b326SXuhui Lin interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>; 1477*4e72b326SXuhui Lin clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>, <&cru CLKOUT_PDM>; 1478*4e72b326SXuhui Lin clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out"; 1479*4e72b326SXuhui Lin dmas = <&dmac 26>; 1480*4e72b326SXuhui Lin dma-names = "rx"; 1481*4e72b326SXuhui Lin rockchip,pdm-data-shift = <5 5 5 5 5 5 5 5>; 1482*4e72b326SXuhui Lin pinctrl-names = "default", "idle", "clk"; 1483*4e72b326SXuhui Lin pinctrl-0 = <&pdmm0_sdi0_pins 1484*4e72b326SXuhui Lin &pdmm0_sdi1_pins 1485*4e72b326SXuhui Lin &pdmm0_sdi2_pins 1486*4e72b326SXuhui Lin &pdmm0_sdi3_pins>; 1487*4e72b326SXuhui Lin pinctrl-1 = <&pdmm0_clk0_idle 1488*4e72b326SXuhui Lin &pdmm0_clk1_idle>; 1489*4e72b326SXuhui Lin pinctrl-2 = <&pdmm0_clk0_pins 1490*4e72b326SXuhui Lin &pdmm0_clk1_pins>; 1491*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1492*4e72b326SXuhui Lin sound-name-prefix = "PDM0"; 1493*4e72b326SXuhui Lin status = "disabled"; 1494*4e72b326SXuhui Lin }; 1495*4e72b326SXuhui Lin 1496*4e72b326SXuhui Lin acdcdig_dsm: acdcdig-dsm@209a0000 { 1497*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dsm"; 1498*4e72b326SXuhui Lin reg = <0x209a0000 0x1000>; 1499*4e72b326SXuhui Lin clocks = <&cru MCLK_RKDSM>, <&cru HCLK_RKDSM>; 1500*4e72b326SXuhui Lin clock-names = "dac", "pclk"; 1501*4e72b326SXuhui Lin resets = <&cru SRST_MRESETN_RKDSM>; 1502*4e72b326SXuhui Lin reset-names = "reset" ; 1503*4e72b326SXuhui Lin rockchip,grf = <&grf>; 1504*4e72b326SXuhui Lin rockchip,ioc-grf = <&ioc_grf>; 1505*4e72b326SXuhui Lin pinctrl-names = "default"; 1506*4e72b326SXuhui Lin pinctrl-0 = <&dsm_aud_ln_pins 1507*4e72b326SXuhui Lin &dsm_aud_lp_pins 1508*4e72b326SXuhui Lin &dsm_aud_rn_pins 1509*4e72b326SXuhui Lin &dsm_aud_rp_pins>; 1510*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1511*4e72b326SXuhui Lin status = "disabled"; 1512*4e72b326SXuhui Lin }; 1513*4e72b326SXuhui Lin 1514*4e72b326SXuhui Lin asrc0: asrc@209b0000 { 1515*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-asrc", "rockchip,rk3506-asrc"; 1516*4e72b326SXuhui Lin reg = <0x209b0000 0x1000>; 1517*4e72b326SXuhui Lin interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; 1518*4e72b326SXuhui Lin clocks = <&cru CLK_ASRC0>, <&cru HCLK_ASRC0>, 1519*4e72b326SXuhui Lin <&cru LRCK_SRC_ASRC0>, <&cru LRCK_DST_ASRC0>; 1520*4e72b326SXuhui Lin clock-names = "mclk", "hclk", 1521*4e72b326SXuhui Lin "src_lrck", "dst_lrck"; 1522*4e72b326SXuhui Lin dmas = <&dmac 22>, <&dmac 23>; 1523*4e72b326SXuhui Lin dma-names = "rx", "tx"; 1524*4e72b326SXuhui Lin resets = <&cru SRST_RESETN_ASRC0>, <&cru SRST_HRESETN_ASRC0>; 1525*4e72b326SXuhui Lin reset-names = "m", "h"; 1526*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1527*4e72b326SXuhui Lin sound-name-prefix = "ASRC0"; 1528*4e72b326SXuhui Lin status = "disabled"; 1529*4e72b326SXuhui Lin }; 1530*4e72b326SXuhui Lin 1531*4e72b326SXuhui Lin asrc1: asrc@209c0000 { 1532*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-asrc", "rockchip,rk3506-asrc"; 1533*4e72b326SXuhui Lin reg = <0x209c0000 0x1000>; 1534*4e72b326SXuhui Lin interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 1535*4e72b326SXuhui Lin clocks = <&cru CLK_ASRC1>, <&cru HCLK_ASRC1>, 1536*4e72b326SXuhui Lin <&cru LRCK_SRC_ASRC1>, <&cru LRCK_DST_ASRC1>; 1537*4e72b326SXuhui Lin clock-names = "mclk", "hclk", 1538*4e72b326SXuhui Lin "src_lrck", "dst_lrck"; 1539*4e72b326SXuhui Lin dmas = <&dmac 24>, <&dmac 25>; 1540*4e72b326SXuhui Lin dma-names = "rx", "tx"; 1541*4e72b326SXuhui Lin resets = <&cru SRST_RESETN_ASRC1>, <&cru SRST_HRESETN_ASRC1>; 1542*4e72b326SXuhui Lin reset-names = "m", "h"; 1543*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1544*4e72b326SXuhui Lin sound-name-prefix = "ASRC1"; 1545*4e72b326SXuhui Lin status = "disabled"; 1546*4e72b326SXuhui Lin }; 1547*4e72b326SXuhui Lin 1548*4e72b326SXuhui Lin rga2_core0: rga@209f0000 { 1549*4e72b326SXuhui Lin compatible = "rockchip,rga2"; 1550*4e72b326SXuhui Lin reg = <0x209f0000 0x1000>; 1551*4e72b326SXuhui Lin interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 1552*4e72b326SXuhui Lin interrupt-names = "rga2_core0_irq"; 1553*4e72b326SXuhui Lin clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_CORE_RGA>; 1554*4e72b326SXuhui Lin clock-names = "aclk_rga", "hclk_rga", "clk_rga"; 1555*4e72b326SXuhui Lin iommus = <&rga2_core0_mmu>; 1556*4e72b326SXuhui Lin status = "disabled"; 1557*4e72b326SXuhui Lin }; 1558*4e72b326SXuhui Lin 1559*4e72b326SXuhui Lin rga2_core0_mmu: iommu@209f0f00 { 1560*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 1561*4e72b326SXuhui Lin reg = <0x209f0f00 0x100>; 1562*4e72b326SXuhui Lin interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 1563*4e72b326SXuhui Lin interrupt-names = "rga2_0_mmu"; 1564*4e72b326SXuhui Lin clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>; 1565*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 1566*4e72b326SXuhui Lin #iommu-cells = <0>; 1567*4e72b326SXuhui Lin status = "disabled"; 1568*4e72b326SXuhui Lin }; 1569*4e72b326SXuhui Lin 1570*4e72b326SXuhui Lin wdt: watchdog@20b60000 { 1571*4e72b326SXuhui Lin compatible = "snps,dw-wdt"; 1572*4e72b326SXuhui Lin reg = <0x20b60000 0x100>; 1573*4e72b326SXuhui Lin clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; 1574*4e72b326SXuhui Lin clock-names = "tclk", "pclk"; 1575*4e72b326SXuhui Lin interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 1576*4e72b326SXuhui Lin status = "disabled"; 1577*4e72b326SXuhui Lin }; 1578*4e72b326SXuhui Lin 1579*4e72b326SXuhui Lin dmac: dma-controller@20b80000 { 1580*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dma", "rockchip,dma"; 1581*4e72b326SXuhui Lin reg = <0x20b80000 0x2000>; 1582*4e72b326SXuhui Lin interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 1583*4e72b326SXuhui Lin clocks = <&cru ACLK_RKDMA>; 1584*4e72b326SXuhui Lin clock-names = "aclk"; 1585*4e72b326SXuhui Lin #dma-cells = <1>; 1586*4e72b326SXuhui Lin }; 1587*4e72b326SXuhui Lin 1588*4e72b326SXuhui Lin otp: otp@20b90000 { 1589*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-otp"; 1590*4e72b326SXuhui Lin reg = <0x20b90000 0x4000>; 1591*4e72b326SXuhui Lin #address-cells = <1>; 1592*4e72b326SXuhui Lin #size-cells = <1>; 1593*4e72b326SXuhui Lin clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>, 1594*4e72b326SXuhui Lin <&cru PCLK_OTPC_NS>, <&cru PCLK_OTP_MASK>; 1595*4e72b326SXuhui Lin clock-names = "usr", "sbpi", "apb", "phy"; 1596*4e72b326SXuhui Lin resets = <&cru SRST_RESETN_USER_OTPC_NS>, <&cru SRST_RESETN_SBPI_OTPC_NS>, 1597*4e72b326SXuhui Lin <&cru SRST_PRESETN_OTPC_NS>, <&cru SRST_PRESETN_OTP_MASK>; 1598*4e72b326SXuhui Lin reset-names = "usr", "sbpi", "apb", "phy"; 1599*4e72b326SXuhui Lin 1600*4e72b326SXuhui Lin /* Data cells */ 1601*4e72b326SXuhui Lin cpu_code: cpu-code@2 { 1602*4e72b326SXuhui Lin reg = <0x02 0x2>; 1603*4e72b326SXuhui Lin }; 1604*4e72b326SXuhui Lin cpu_version: cpu-version@21 { 1605*4e72b326SXuhui Lin reg = <0x21 0x1>; 1606*4e72b326SXuhui Lin bits = <3 3>; 1607*4e72b326SXuhui Lin }; 1608*4e72b326SXuhui Lin otp_id: otp-id@22 { 1609*4e72b326SXuhui Lin reg = <0x22 0x10>; 1610*4e72b326SXuhui Lin }; 1611*4e72b326SXuhui Lin cpu_leakage: cpu-leakage@32 { 1612*4e72b326SXuhui Lin reg = <0x32 0x1>; 1613*4e72b326SXuhui Lin }; 1614*4e72b326SXuhui Lin log_leakage: log-leakage@33 { 1615*4e72b326SXuhui Lin reg = <0x33 0x1>; 1616*4e72b326SXuhui Lin }; 1617*4e72b326SXuhui Lin npu_leakage: npu-leakage@34 { 1618*4e72b326SXuhui Lin reg = <0x34 0x1>; 1619*4e72b326SXuhui Lin }; 1620*4e72b326SXuhui Lin }; 1621*4e72b326SXuhui Lin 1622*4e72b326SXuhui Lin tsadc: tsadc@20bb0000 { 1623*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-tsadc"; 1624*4e72b326SXuhui Lin reg = <0x20bb0000 0x400>; 1625*4e72b326SXuhui Lin interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>; 1626*4e72b326SXuhui Lin clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>, 1627*4e72b326SXuhui Lin <&cru CLK_TSADC_PHYCTRL>; 1628*4e72b326SXuhui Lin clock-names = "tsadc", "apb_pclk", "tsadc_phyctrl"; 1629*4e72b326SXuhui Lin resets = <&cru SRST_RESETN_TSADC>, <&cru SRST_PRESETN_TSADC>, 1630*4e72b326SXuhui Lin <&cru SRST_RESETN_TSADC_PHYCTRL>; 1631*4e72b326SXuhui Lin reset-names = "tsadc", "tsadc-apb", "tsadc-phy"; 1632*4e72b326SXuhui Lin #thermal-sensor-cells = <1>; 1633*4e72b326SXuhui Lin rockchip,grf = <&grf>; 1634*4e72b326SXuhui Lin rockchip,hw-tshut-temp = <120000>; 1635*4e72b326SXuhui Lin rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 1636*4e72b326SXuhui Lin rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 1637*4e72b326SXuhui Lin status = "disabled"; 1638*4e72b326SXuhui Lin }; 1639*4e72b326SXuhui Lin 1640*4e72b326SXuhui Lin audio_codec: audio-codec@20bf0000 { 1641*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-codec", "rockchip,rk3506-codec"; 1642*4e72b326SXuhui Lin reg = <0x20bf0000 0x1000>; 1643*4e72b326SXuhui Lin #sound-dai-cells = <0>; 1644*4e72b326SXuhui Lin sound-name-prefix = "ACodec"; 1645*4e72b326SXuhui Lin clocks = <&cru PCLK_AUDIO_ADC_BUS>, <&cru MCLK_AUDIO_ADC_BUS>; 1646*4e72b326SXuhui Lin clock-names = "pclk", "mclk"; 1647*4e72b326SXuhui Lin resets = <&cru SRST_MRESETN_AUDIO_ADC_BUS>; 1648*4e72b326SXuhui Lin reset-names = "rst"; 1649*4e72b326SXuhui Lin rockchip,grf = <&grf>; 1650*4e72b326SXuhui Lin status = "disabled"; 1651*4e72b326SXuhui Lin }; 1652*4e72b326SXuhui Lin 1653*4e72b326SXuhui Lin rktimer: timer@20c00000 { 1654*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-timer", "rockchip,rk3288-timer"; 1655*4e72b326SXuhui Lin reg = <0x20c00000 0x20>; 1656*4e72b326SXuhui Lin interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 1657*4e72b326SXuhui Lin clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>; 1658*4e72b326SXuhui Lin clock-names = "pclk", "timer"; 1659*4e72b326SXuhui Lin }; 1660*4e72b326SXuhui Lin 1661*4e72b326SXuhui Lin hpmcu_mbox0: mailbox@20d00000 { 1662*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1663*4e72b326SXuhui Lin reg = <0x20d00000 0x20>; 1664*4e72b326SXuhui Lin interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 1665*4e72b326SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 1666*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1667*4e72b326SXuhui Lin #mbox-cells = <1>; 1668*4e72b326SXuhui Lin status = "disabled"; 1669*4e72b326SXuhui Lin }; 1670*4e72b326SXuhui Lin 1671*4e72b326SXuhui Lin hpmcu_mbox1: mailbox@20d10000 { 1672*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1673*4e72b326SXuhui Lin reg = <0x20d10000 0x20>; 1674*4e72b326SXuhui Lin interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 1675*4e72b326SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 1676*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1677*4e72b326SXuhui Lin #mbox-cells = <1>; 1678*4e72b326SXuhui Lin status = "disabled"; 1679*4e72b326SXuhui Lin }; 1680*4e72b326SXuhui Lin 1681*4e72b326SXuhui Lin hpmcu_mbox2: mailbox@20d20000 { 1682*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1683*4e72b326SXuhui Lin reg = <0x20d20000 0x20>; 1684*4e72b326SXuhui Lin interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 1685*4e72b326SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 1686*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1687*4e72b326SXuhui Lin #mbox-cells = <1>; 1688*4e72b326SXuhui Lin status = "disabled"; 1689*4e72b326SXuhui Lin }; 1690*4e72b326SXuhui Lin 1691*4e72b326SXuhui Lin hpmcu_mbox3: mailbox@20d30000 { 1692*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mailbox", "rockchip,rk3576-mailbox"; 1693*4e72b326SXuhui Lin reg = <0x20d30000 0x20>; 1694*4e72b326SXuhui Lin interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 1695*4e72b326SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 1696*4e72b326SXuhui Lin clock-names = "pclk_mailbox"; 1697*4e72b326SXuhui Lin #mbox-cells = <1>; 1698*4e72b326SXuhui Lin status = "disabled"; 1699*4e72b326SXuhui Lin }; 1700*4e72b326SXuhui Lin 1701*4e72b326SXuhui Lin pwm0_8ch_0: pwm@20e00000 { 1702*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1703*4e72b326SXuhui Lin reg = <0x20e00000 0x1000>; 1704*4e72b326SXuhui Lin interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1705*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1706*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1707*4e72b326SXuhui Lin pinctrl-names = "active"; 1708*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch0_pins>; 1709*4e72b326SXuhui Lin #pwm-cells = <3>; 1710*4e72b326SXuhui Lin status = "disabled"; 1711*4e72b326SXuhui Lin }; 1712*4e72b326SXuhui Lin 1713*4e72b326SXuhui Lin pwm0_8ch_1: pwm@20e10000 { 1714*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1715*4e72b326SXuhui Lin reg = <0x20e10000 0x1000>; 1716*4e72b326SXuhui Lin interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1717*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1718*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1719*4e72b326SXuhui Lin pinctrl-names = "active"; 1720*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch1_pins>; 1721*4e72b326SXuhui Lin #pwm-cells = <3>; 1722*4e72b326SXuhui Lin status = "disabled"; 1723*4e72b326SXuhui Lin }; 1724*4e72b326SXuhui Lin 1725*4e72b326SXuhui Lin pwm0_8ch_2: pwm@20e20000 { 1726*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1727*4e72b326SXuhui Lin reg = <0x20e20000 0x1000>; 1728*4e72b326SXuhui Lin interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 1729*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1730*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1731*4e72b326SXuhui Lin pinctrl-names = "active"; 1732*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch2_pins>; 1733*4e72b326SXuhui Lin #pwm-cells = <3>; 1734*4e72b326SXuhui Lin status = "disabled"; 1735*4e72b326SXuhui Lin }; 1736*4e72b326SXuhui Lin 1737*4e72b326SXuhui Lin pwm0_8ch_3: pwm@20e30000 { 1738*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1739*4e72b326SXuhui Lin reg = <0x20e30000 0x1000>; 1740*4e72b326SXuhui Lin interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 1741*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1742*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1743*4e72b326SXuhui Lin pinctrl-names = "active"; 1744*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch3_pins>; 1745*4e72b326SXuhui Lin #pwm-cells = <3>; 1746*4e72b326SXuhui Lin status = "disabled"; 1747*4e72b326SXuhui Lin }; 1748*4e72b326SXuhui Lin 1749*4e72b326SXuhui Lin pwm0_8ch_4: pwm@20e40000 { 1750*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1751*4e72b326SXuhui Lin reg = <0x20e40000 0x1000>; 1752*4e72b326SXuhui Lin interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1753*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1754*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1755*4e72b326SXuhui Lin pinctrl-names = "active"; 1756*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch4_pins>; 1757*4e72b326SXuhui Lin #pwm-cells = <3>; 1758*4e72b326SXuhui Lin status = "disabled"; 1759*4e72b326SXuhui Lin }; 1760*4e72b326SXuhui Lin 1761*4e72b326SXuhui Lin pwm0_8ch_5: pwm@20e50000 { 1762*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1763*4e72b326SXuhui Lin reg = <0x20e50000 0x1000>; 1764*4e72b326SXuhui Lin interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1765*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1766*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1767*4e72b326SXuhui Lin pinctrl-names = "active"; 1768*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch5_pins>; 1769*4e72b326SXuhui Lin #pwm-cells = <3>; 1770*4e72b326SXuhui Lin status = "disabled"; 1771*4e72b326SXuhui Lin }; 1772*4e72b326SXuhui Lin 1773*4e72b326SXuhui Lin pwm0_8ch_6: pwm@20e60000 { 1774*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1775*4e72b326SXuhui Lin reg = <0x20e60000 0x1000>; 1776*4e72b326SXuhui Lin interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 1777*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1778*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1779*4e72b326SXuhui Lin pinctrl-names = "active"; 1780*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch6_pins>; 1781*4e72b326SXuhui Lin #pwm-cells = <3>; 1782*4e72b326SXuhui Lin status = "disabled"; 1783*4e72b326SXuhui Lin }; 1784*4e72b326SXuhui Lin 1785*4e72b326SXuhui Lin pwm0_8ch_7: pwm@20e70000 { 1786*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1787*4e72b326SXuhui Lin reg = <0x20e70000 0x1000>; 1788*4e72b326SXuhui Lin interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 1789*4e72b326SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1790*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1791*4e72b326SXuhui Lin pinctrl-names = "active"; 1792*4e72b326SXuhui Lin pinctrl-0 = <&pwm0m0_ch7_pins>; 1793*4e72b326SXuhui Lin #pwm-cells = <3>; 1794*4e72b326SXuhui Lin status = "disabled"; 1795*4e72b326SXuhui Lin }; 1796*4e72b326SXuhui Lin 1797*4e72b326SXuhui Lin pwm2_8ch_0: pwm@20f00000 { 1798*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1799*4e72b326SXuhui Lin reg = <0x20f00000 0x1000>; 1800*4e72b326SXuhui Lin interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1801*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1802*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1803*4e72b326SXuhui Lin pinctrl-names = "active"; 1804*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch0_pins>; 1805*4e72b326SXuhui Lin #pwm-cells = <3>; 1806*4e72b326SXuhui Lin status = "disabled"; 1807*4e72b326SXuhui Lin }; 1808*4e72b326SXuhui Lin 1809*4e72b326SXuhui Lin pwm2_8ch_1: pwm@20f10000 { 1810*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1811*4e72b326SXuhui Lin reg = <0x20f10000 0x1000>; 1812*4e72b326SXuhui Lin interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 1813*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1814*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1815*4e72b326SXuhui Lin pinctrl-names = "active"; 1816*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch1_pins>; 1817*4e72b326SXuhui Lin #pwm-cells = <3>; 1818*4e72b326SXuhui Lin status = "disabled"; 1819*4e72b326SXuhui Lin }; 1820*4e72b326SXuhui Lin 1821*4e72b326SXuhui Lin pwm2_8ch_2: pwm@20f20000 { 1822*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1823*4e72b326SXuhui Lin reg = <0x20f20000 0x1000>; 1824*4e72b326SXuhui Lin interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 1825*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1826*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1827*4e72b326SXuhui Lin pinctrl-names = "active"; 1828*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch2_pins>; 1829*4e72b326SXuhui Lin #pwm-cells = <3>; 1830*4e72b326SXuhui Lin status = "disabled"; 1831*4e72b326SXuhui Lin }; 1832*4e72b326SXuhui Lin 1833*4e72b326SXuhui Lin pwm2_8ch_3: pwm@20f30000 { 1834*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1835*4e72b326SXuhui Lin reg = <0x20f30000 0x1000>; 1836*4e72b326SXuhui Lin interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 1837*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1838*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1839*4e72b326SXuhui Lin pinctrl-names = "active"; 1840*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch3_pins>; 1841*4e72b326SXuhui Lin #pwm-cells = <3>; 1842*4e72b326SXuhui Lin status = "disabled"; 1843*4e72b326SXuhui Lin }; 1844*4e72b326SXuhui Lin 1845*4e72b326SXuhui Lin pwm2_8ch_4: pwm@20f40000 { 1846*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1847*4e72b326SXuhui Lin reg = <0x20f40000 0x1000>; 1848*4e72b326SXuhui Lin interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>; 1849*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1850*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1851*4e72b326SXuhui Lin pinctrl-names = "active"; 1852*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch4_pins>; 1853*4e72b326SXuhui Lin #pwm-cells = <3>; 1854*4e72b326SXuhui Lin status = "disabled"; 1855*4e72b326SXuhui Lin }; 1856*4e72b326SXuhui Lin 1857*4e72b326SXuhui Lin pwm2_8ch_5: pwm@20f50000 { 1858*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1859*4e72b326SXuhui Lin reg = <0x20f50000 0x1000>; 1860*4e72b326SXuhui Lin interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>; 1861*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1862*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1863*4e72b326SXuhui Lin pinctrl-names = "active"; 1864*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch5_pins>; 1865*4e72b326SXuhui Lin #pwm-cells = <3>; 1866*4e72b326SXuhui Lin status = "disabled"; 1867*4e72b326SXuhui Lin }; 1868*4e72b326SXuhui Lin 1869*4e72b326SXuhui Lin pwm2_8ch_6: pwm@20f60000 { 1870*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1871*4e72b326SXuhui Lin reg = <0x20f60000 0x1000>; 1872*4e72b326SXuhui Lin interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>; 1873*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1874*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1875*4e72b326SXuhui Lin pinctrl-names = "active"; 1876*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch6_pins>; 1877*4e72b326SXuhui Lin #pwm-cells = <3>; 1878*4e72b326SXuhui Lin status = "disabled"; 1879*4e72b326SXuhui Lin }; 1880*4e72b326SXuhui Lin 1881*4e72b326SXuhui Lin pwm2_8ch_7: pwm@20f70000 { 1882*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1883*4e72b326SXuhui Lin reg = <0x20f70000 0x1000>; 1884*4e72b326SXuhui Lin interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>; 1885*4e72b326SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>, <&cru CLK_OSC_PWM2>; 1886*4e72b326SXuhui Lin clock-names = "pwm", "pclk", "osc"; 1887*4e72b326SXuhui Lin pinctrl-names = "active"; 1888*4e72b326SXuhui Lin pinctrl-0 = <&pwm2m0_ch7_pins>; 1889*4e72b326SXuhui Lin #pwm-cells = <3>; 1890*4e72b326SXuhui Lin status = "disabled"; 1891*4e72b326SXuhui Lin }; 1892*4e72b326SXuhui Lin 1893*4e72b326SXuhui Lin pwm3_8ch_0: pwm@21000000 { 1894*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1895*4e72b326SXuhui Lin reg = <0x21000000 0x1000>; 1896*4e72b326SXuhui Lin interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>; 1897*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1898*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1899*4e72b326SXuhui Lin pinctrl-names = "active"; 1900*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch0_pins>; 1901*4e72b326SXuhui Lin #pwm-cells = <3>; 1902*4e72b326SXuhui Lin status = "disabled"; 1903*4e72b326SXuhui Lin }; 1904*4e72b326SXuhui Lin 1905*4e72b326SXuhui Lin pwm3_8ch_1: pwm@21010000 { 1906*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1907*4e72b326SXuhui Lin reg = <0x21010000 0x1000>; 1908*4e72b326SXuhui Lin interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>; 1909*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1910*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1911*4e72b326SXuhui Lin pinctrl-names = "active"; 1912*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch1_pins>; 1913*4e72b326SXuhui Lin #pwm-cells = <3>; 1914*4e72b326SXuhui Lin status = "disabled"; 1915*4e72b326SXuhui Lin }; 1916*4e72b326SXuhui Lin 1917*4e72b326SXuhui Lin pwm3_8ch_2: pwm@21020000 { 1918*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1919*4e72b326SXuhui Lin reg = <0x21020000 0x1000>; 1920*4e72b326SXuhui Lin interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>; 1921*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1922*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1923*4e72b326SXuhui Lin pinctrl-names = "active"; 1924*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch2_pins>; 1925*4e72b326SXuhui Lin #pwm-cells = <3>; 1926*4e72b326SXuhui Lin status = "disabled"; 1927*4e72b326SXuhui Lin }; 1928*4e72b326SXuhui Lin 1929*4e72b326SXuhui Lin pwm3_8ch_3: pwm@21030000 { 1930*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1931*4e72b326SXuhui Lin reg = <0x21030000 0x1000>; 1932*4e72b326SXuhui Lin interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>; 1933*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1934*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1935*4e72b326SXuhui Lin pinctrl-names = "active"; 1936*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch3_pins>; 1937*4e72b326SXuhui Lin #pwm-cells = <3>; 1938*4e72b326SXuhui Lin status = "disabled"; 1939*4e72b326SXuhui Lin }; 1940*4e72b326SXuhui Lin 1941*4e72b326SXuhui Lin pwm3_8ch_4: pwm@21040000 { 1942*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1943*4e72b326SXuhui Lin reg = <0x21040000 0x1000>; 1944*4e72b326SXuhui Lin interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>; 1945*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1946*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1947*4e72b326SXuhui Lin pinctrl-names = "active"; 1948*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch4_pins>; 1949*4e72b326SXuhui Lin #pwm-cells = <3>; 1950*4e72b326SXuhui Lin status = "disabled"; 1951*4e72b326SXuhui Lin }; 1952*4e72b326SXuhui Lin 1953*4e72b326SXuhui Lin pwm3_8ch_5: pwm@21050000 { 1954*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1955*4e72b326SXuhui Lin reg = <0x21050000 0x1000>; 1956*4e72b326SXuhui Lin interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>; 1957*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1958*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1959*4e72b326SXuhui Lin pinctrl-names = "active"; 1960*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch5_pins>; 1961*4e72b326SXuhui Lin #pwm-cells = <3>; 1962*4e72b326SXuhui Lin status = "disabled"; 1963*4e72b326SXuhui Lin }; 1964*4e72b326SXuhui Lin 1965*4e72b326SXuhui Lin pwm3_8ch_6: pwm@21060000 { 1966*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1967*4e72b326SXuhui Lin reg = <0x21060000 0x1000>; 1968*4e72b326SXuhui Lin interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1969*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1970*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1971*4e72b326SXuhui Lin pinctrl-names = "active"; 1972*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch6_pins>; 1973*4e72b326SXuhui Lin #pwm-cells = <3>; 1974*4e72b326SXuhui Lin status = "disabled"; 1975*4e72b326SXuhui Lin }; 1976*4e72b326SXuhui Lin 1977*4e72b326SXuhui Lin pwm3_8ch_7: pwm@21070000 { 1978*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pwm", "rockchip,rk3576-pwm"; 1979*4e72b326SXuhui Lin reg = <0x21070000 0x1000>; 1980*4e72b326SXuhui Lin interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>; 1981*4e72b326SXuhui Lin clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>; 1982*4e72b326SXuhui Lin clock-names = "pwm", "pclk"; 1983*4e72b326SXuhui Lin pinctrl-names = "active"; 1984*4e72b326SXuhui Lin pinctrl-0 = <&pwm3m0_ch7_pins>; 1985*4e72b326SXuhui Lin #pwm-cells = <3>; 1986*4e72b326SXuhui Lin status = "disabled"; 1987*4e72b326SXuhui Lin }; 1988*4e72b326SXuhui Lin 1989*4e72b326SXuhui Lin i2c0: i2c@21100000 { 1990*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-i2c", "rockchip,rk3399-i2c"; 1991*4e72b326SXuhui Lin reg = <0x21100000 0x1000>; 1992*4e72b326SXuhui Lin interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 1993*4e72b326SXuhui Lin #address-cells = <1>; 1994*4e72b326SXuhui Lin #size-cells = <0>; 1995*4e72b326SXuhui Lin clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 1996*4e72b326SXuhui Lin clock-names = "i2c", "pclk"; 1997*4e72b326SXuhui Lin dmas = <&dmac 29>, <&dmac 28>; 1998*4e72b326SXuhui Lin dma-names = "tx", "rx"; 1999*4e72b326SXuhui Lin pinctrl-names = "default"; 2000*4e72b326SXuhui Lin pinctrl-0 = <&i2c0m0_pins>; 2001*4e72b326SXuhui Lin status = "disabled"; 2002*4e72b326SXuhui Lin }; 2003*4e72b326SXuhui Lin 2004*4e72b326SXuhui Lin i2c1: i2c@21110000 { 2005*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-i2c", "rockchip,rk3399-i2c"; 2006*4e72b326SXuhui Lin reg = <0x21110000 0x1000>; 2007*4e72b326SXuhui Lin interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 2008*4e72b326SXuhui Lin #address-cells = <1>; 2009*4e72b326SXuhui Lin #size-cells = <0>; 2010*4e72b326SXuhui Lin clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 2011*4e72b326SXuhui Lin clock-names = "i2c", "pclk"; 2012*4e72b326SXuhui Lin dmas = <&dmac 31>, <&dmac 30>; 2013*4e72b326SXuhui Lin dma-names = "tx", "rx"; 2014*4e72b326SXuhui Lin pinctrl-names = "default"; 2015*4e72b326SXuhui Lin pinctrl-0 = <&i2c1m0_pins>; 2016*4e72b326SXuhui Lin status = "disabled"; 2017*4e72b326SXuhui Lin }; 2018*4e72b326SXuhui Lin 2019*4e72b326SXuhui Lin i2c3: i2c@21120000 { 2020*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-i2c", "rockchip,rk3399-i2c"; 2021*4e72b326SXuhui Lin reg = <0x21120000 0x1000>; 2022*4e72b326SXuhui Lin interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 2023*4e72b326SXuhui Lin #address-cells = <1>; 2024*4e72b326SXuhui Lin #size-cells = <0>; 2025*4e72b326SXuhui Lin clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 2026*4e72b326SXuhui Lin clock-names = "i2c", "pclk"; 2027*4e72b326SXuhui Lin dmas = <&dmac 35>, <&dmac 34>; 2028*4e72b326SXuhui Lin dma-names = "tx", "rx"; 2029*4e72b326SXuhui Lin pinctrl-names = "default"; 2030*4e72b326SXuhui Lin pinctrl-0 = <&i2c3m0_pins>; 2031*4e72b326SXuhui Lin status = "disabled"; 2032*4e72b326SXuhui Lin }; 2033*4e72b326SXuhui Lin 2034*4e72b326SXuhui Lin i2c4: i2c@21130000 { 2035*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-i2c", "rockchip,rk3399-i2c"; 2036*4e72b326SXuhui Lin reg = <0x21130000 0x1000>; 2037*4e72b326SXuhui Lin interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 2038*4e72b326SXuhui Lin #address-cells = <1>; 2039*4e72b326SXuhui Lin #size-cells = <0>; 2040*4e72b326SXuhui Lin clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 2041*4e72b326SXuhui Lin clock-names = "i2c", "pclk"; 2042*4e72b326SXuhui Lin dmas = <&dmac 37>, <&dmac 36>; 2043*4e72b326SXuhui Lin dma-names = "tx", "rx"; 2044*4e72b326SXuhui Lin pinctrl-names = "default"; 2045*4e72b326SXuhui Lin pinctrl-0 = <&i2c4m0_pins>; 2046*4e72b326SXuhui Lin status = "disabled"; 2047*4e72b326SXuhui Lin }; 2048*4e72b326SXuhui Lin 2049*4e72b326SXuhui Lin i2c5: i2c@21140000 { 2050*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-i2c", "rockchip,rk3399-i2c"; 2051*4e72b326SXuhui Lin reg = <0x21140000 0x1000>; 2052*4e72b326SXuhui Lin interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 2053*4e72b326SXuhui Lin #address-cells = <1>; 2054*4e72b326SXuhui Lin #size-cells = <0>; 2055*4e72b326SXuhui Lin clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 2056*4e72b326SXuhui Lin clock-names = "i2c", "pclk"; 2057*4e72b326SXuhui Lin dmas = <&dmac 39>, <&dmac 38>; 2058*4e72b326SXuhui Lin dma-names = "tx", "rx"; 2059*4e72b326SXuhui Lin pinctrl-names = "default"; 2060*4e72b326SXuhui Lin pinctrl-0 = <&i2c5m0_pins>; 2061*4e72b326SXuhui Lin status = "disabled"; 2062*4e72b326SXuhui Lin }; 2063*4e72b326SXuhui Lin 2064*4e72b326SXuhui Lin uart1: serial@21160000 { 2065*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2066*4e72b326SXuhui Lin reg = <0x21160000 0x100>; 2067*4e72b326SXuhui Lin interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 2068*4e72b326SXuhui Lin clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 2069*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2070*4e72b326SXuhui Lin reg-shift = <2>; 2071*4e72b326SXuhui Lin reg-io-width = <4>; 2072*4e72b326SXuhui Lin dmas = <&dmac 3>, <&dmac 2>; 2073*4e72b326SXuhui Lin pinctrl-names = "default"; 2074*4e72b326SXuhui Lin pinctrl-0 = <&uart1m0_xfer_pins &uart1m0_ctsn_pins &uart1m0_rtsn_pins>; 2075*4e72b326SXuhui Lin status = "disabled"; 2076*4e72b326SXuhui Lin }; 2077*4e72b326SXuhui Lin 2078*4e72b326SXuhui Lin uart2: serial@21170000 { 2079*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2080*4e72b326SXuhui Lin reg = <0x21170000 0x100>; 2081*4e72b326SXuhui Lin interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 2082*4e72b326SXuhui Lin clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 2083*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2084*4e72b326SXuhui Lin reg-shift = <2>; 2085*4e72b326SXuhui Lin reg-io-width = <4>; 2086*4e72b326SXuhui Lin dmas = <&dmac 5>, <&dmac 4>; 2087*4e72b326SXuhui Lin pinctrl-names = "default"; 2088*4e72b326SXuhui Lin pinctrl-0 = <&uart2m0_xfer_pins &uart2m0_ctsn_pins &uart2m0_rtsn_pins>; 2089*4e72b326SXuhui Lin status = "disabled"; 2090*4e72b326SXuhui Lin }; 2091*4e72b326SXuhui Lin 2092*4e72b326SXuhui Lin uart3: serial@21180000 { 2093*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2094*4e72b326SXuhui Lin reg = <0x21180000 0x100>; 2095*4e72b326SXuhui Lin interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 2096*4e72b326SXuhui Lin clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 2097*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2098*4e72b326SXuhui Lin reg-shift = <2>; 2099*4e72b326SXuhui Lin reg-io-width = <4>; 2100*4e72b326SXuhui Lin dmas = <&dmac 7>, <&dmac 6>; 2101*4e72b326SXuhui Lin pinctrl-names = "default"; 2102*4e72b326SXuhui Lin pinctrl-0 = <&uart3m0_xfer_pins &uart3m0_ctsn_pins &uart3m0_rtsn_pins>; 2103*4e72b326SXuhui Lin status = "disabled"; 2104*4e72b326SXuhui Lin }; 2105*4e72b326SXuhui Lin 2106*4e72b326SXuhui Lin uart4: serial@21190000 { 2107*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2108*4e72b326SXuhui Lin reg = <0x21190000 0x100>; 2109*4e72b326SXuhui Lin interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 2110*4e72b326SXuhui Lin clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 2111*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2112*4e72b326SXuhui Lin reg-shift = <2>; 2113*4e72b326SXuhui Lin reg-io-width = <4>; 2114*4e72b326SXuhui Lin dmas = <&dmac 9>, <&dmac 8>; 2115*4e72b326SXuhui Lin pinctrl-names = "default"; 2116*4e72b326SXuhui Lin pinctrl-0 = <&uart4m0_xfer_pins &uart4m0_ctsn_pins &uart4m0_rtsn_pins>; 2117*4e72b326SXuhui Lin status = "disabled"; 2118*4e72b326SXuhui Lin }; 2119*4e72b326SXuhui Lin 2120*4e72b326SXuhui Lin uart5: serial@211a0000 { 2121*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2122*4e72b326SXuhui Lin reg = <0x211a0000 0x100>; 2123*4e72b326SXuhui Lin interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 2124*4e72b326SXuhui Lin clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 2125*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2126*4e72b326SXuhui Lin reg-shift = <2>; 2127*4e72b326SXuhui Lin reg-io-width = <4>; 2128*4e72b326SXuhui Lin dmas = <&dmac 11>, <&dmac 10>; 2129*4e72b326SXuhui Lin pinctrl-names = "default"; 2130*4e72b326SXuhui Lin pinctrl-0 = <&uart5m0_xfer_pins &uart5m0_ctsn_pins &uart5m0_rtsn_pins>; 2131*4e72b326SXuhui Lin status = "disabled"; 2132*4e72b326SXuhui Lin }; 2133*4e72b326SXuhui Lin 2134*4e72b326SXuhui Lin uart6: serial@211b0000 { 2135*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2136*4e72b326SXuhui Lin reg = <0x211b0000 0x100>; 2137*4e72b326SXuhui Lin interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 2138*4e72b326SXuhui Lin clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 2139*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2140*4e72b326SXuhui Lin reg-shift = <2>; 2141*4e72b326SXuhui Lin reg-io-width = <4>; 2142*4e72b326SXuhui Lin dmas = <&dmac 13>, <&dmac 12>; 2143*4e72b326SXuhui Lin pinctrl-names = "default"; 2144*4e72b326SXuhui Lin pinctrl-0 = <&uart6m0_xfer_pins &uart6m0_ctsn_pins &uart6m0_rtsn_pins>; 2145*4e72b326SXuhui Lin status = "disabled"; 2146*4e72b326SXuhui Lin }; 2147*4e72b326SXuhui Lin 2148*4e72b326SXuhui Lin uart7: serial@211c0000 { 2149*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-uart", "snps,dw-apb-uart"; 2150*4e72b326SXuhui Lin reg = <0x211c0000 0x100>; 2151*4e72b326SXuhui Lin interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 2152*4e72b326SXuhui Lin clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 2153*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2154*4e72b326SXuhui Lin reg-shift = <2>; 2155*4e72b326SXuhui Lin reg-io-width = <4>; 2156*4e72b326SXuhui Lin dmas = <&dmac 15>, <&dmac 14>; 2157*4e72b326SXuhui Lin pinctrl-names = "default"; 2158*4e72b326SXuhui Lin pinctrl-0 = <&uart7m0_xfer_pins &uart7m0_ctsn_pins &uart7m0_rtsn_pins>; 2159*4e72b326SXuhui Lin status = "disabled"; 2160*4e72b326SXuhui Lin }; 2161*4e72b326SXuhui Lin 2162*4e72b326SXuhui Lin spi0: spi@211e0000 { 2163*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-spi", "rockchip,rk3066-spi"; 2164*4e72b326SXuhui Lin reg = <0x211e0000 0x1000>; 2165*4e72b326SXuhui Lin interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 2166*4e72b326SXuhui Lin #address-cells = <1>; 2167*4e72b326SXuhui Lin #size-cells = <0>; 2168*4e72b326SXuhui Lin clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 2169*4e72b326SXuhui Lin clock-names = "spiclk", "apb_pclk"; 2170*4e72b326SXuhui Lin dmas = <&dmac 40>, <&dmac 41>; 2171*4e72b326SXuhui Lin dma-names = "rx", "tx"; 2172*4e72b326SXuhui Lin pinctrl-names = "default"; 2173*4e72b326SXuhui Lin pinctrl-0 = <&spi0m0_clk_pins &spi0m0_csn0_pins &spi0m0_csn1_pins>; 2174*4e72b326SXuhui Lin status = "disabled"; 2175*4e72b326SXuhui Lin }; 2176*4e72b326SXuhui Lin 2177*4e72b326SXuhui Lin spi1: spi@211f0000 { 2178*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-spi", "rockchip,rk3066-spi"; 2179*4e72b326SXuhui Lin reg = <0x211f0000 0x1000>; 2180*4e72b326SXuhui Lin interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 2181*4e72b326SXuhui Lin #address-cells = <1>; 2182*4e72b326SXuhui Lin #size-cells = <0>; 2183*4e72b326SXuhui Lin clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 2184*4e72b326SXuhui Lin clock-names = "spiclk", "apb_pclk"; 2185*4e72b326SXuhui Lin dmas = <&dmac 42>, <&dmac 43>; 2186*4e72b326SXuhui Lin dma-names = "rx", "tx"; 2187*4e72b326SXuhui Lin pinctrl-names = "default"; 2188*4e72b326SXuhui Lin pinctrl-0 = <&spi1m0_clk_pins &spi1m0_csn0_pins &spi1m0_csn1_pins>; 2189*4e72b326SXuhui Lin status = "disabled"; 2190*4e72b326SXuhui Lin }; 2191*4e72b326SXuhui Lin 2192*4e72b326SXuhui Lin gic: interrupt-controller@21201000 { 2193*4e72b326SXuhui Lin compatible = "arm,gic-400"; 2194*4e72b326SXuhui Lin #interrupt-cells = <3>; 2195*4e72b326SXuhui Lin #address-cells = <0>; 2196*4e72b326SXuhui Lin interrupt-controller; 2197*4e72b326SXuhui Lin reg = <0x21201000 0x1000>, 2198*4e72b326SXuhui Lin <0x21202000 0x2000>, 2199*4e72b326SXuhui Lin <0x21204000 0x2000>, 2200*4e72b326SXuhui Lin <0x21206000 0x2000>; 2201*4e72b326SXuhui Lin interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 2202*4e72b326SXuhui Lin }; 2203*4e72b326SXuhui Lin 2204*4e72b326SXuhui Lin hwlock: hwspinlock@21210000 { 2205*4e72b326SXuhui Lin compatible = "rockchip,hwspinlock"; 2206*4e72b326SXuhui Lin reg = <0x21210000 0x100>; 2207*4e72b326SXuhui Lin #hwlock-cells = <1>; 2208*4e72b326SXuhui Lin rockchip,hwlock-num-locks = <64>; 2209*4e72b326SXuhui Lin status = "disabled"; 2210*4e72b326SXuhui Lin }; 2211*4e72b326SXuhui Lin 2212*4e72b326SXuhui Lin rtc: rtc@21280000 { 2213*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rtc"; 2214*4e72b326SXuhui Lin reg = <0x21280000 0x1000>; 2215*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2216*4e72b326SXuhui Lin interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; 2217*4e72b326SXuhui Lin clocks = <&cru PCLK_RTC_ROOT>; 2218*4e72b326SXuhui Lin clock-names = "pclk_phy"; 2219*4e72b326SXuhui Lin assigned-clocks = <&cru PCLK_RTC_ROOT>; 2220*4e72b326SXuhui Lin assigned-clock-rates = <50000000>; 2221*4e72b326SXuhui Lin status = "disabled"; 2222*4e72b326SXuhui Lin }; 2223*4e72b326SXuhui Lin 2224*4e72b326SXuhui Lin usb2phy: usb2-phy@21400000 { 2225*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-usb2phy"; 2226*4e72b326SXuhui Lin reg = <0x21400000 0x10000>; 2227*4e72b326SXuhui Lin clocks = <&cru PCLK_USB2PHY>; 2228*4e72b326SXuhui Lin clock-names = "pclk"; 2229*4e72b326SXuhui Lin clock-output-names = "usb480m_phy"; 2230*4e72b326SXuhui Lin #clock-cells = <0>; 2231*4e72b326SXuhui Lin rockchip,usbctrl-grf = <&grf>; 2232*4e72b326SXuhui Lin rockchip,usbgrf = <&grf>; 2233*4e72b326SXuhui Lin status = "disabled"; 2234*4e72b326SXuhui Lin 2235*4e72b326SXuhui Lin usb2phy_host: host-port { 2236*4e72b326SXuhui Lin #phy-cells = <0>; 2237*4e72b326SXuhui Lin interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 2238*4e72b326SXuhui Lin interrupt-names = "linestate"; 2239*4e72b326SXuhui Lin status = "disabled"; 2240*4e72b326SXuhui Lin }; 2241*4e72b326SXuhui Lin 2242*4e72b326SXuhui Lin usb2phy_otg: otg-port { 2243*4e72b326SXuhui Lin #phy-cells = <0>; 2244*4e72b326SXuhui Lin interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 2245*4e72b326SXuhui Lin <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 2246*4e72b326SXuhui Lin <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 2247*4e72b326SXuhui Lin interrupt-names = "otg-id", "otg-bvalid", "linestate"; 2248*4e72b326SXuhui Lin status = "disabled"; 2249*4e72b326SXuhui Lin }; 2250*4e72b326SXuhui Lin }; 2251*4e72b326SXuhui Lin 2252*4e72b326SXuhui Lin usb3phy: usb3-phy@21410000 { 2253*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-usb3-phy"; 2254*4e72b326SXuhui Lin reg = <0x21410000 0x10000>; 2255*4e72b326SXuhui Lin clocks = <&cru CLK_REF_PIPEPHY>, <&cru PCLK_PIPEPHY>; 2256*4e72b326SXuhui Lin clock-names = "refclk", "apbclk"; 2257*4e72b326SXuhui Lin assigned-clocks = <&cru CLK_REF_PIPEPHY>; 2258*4e72b326SXuhui Lin assigned-clock-rates = <100000000>; 2259*4e72b326SXuhui Lin #phy-cells = <1>; 2260*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_PIPEPHY>, <&cru SRST_RESETN_REF_PIPEPHY>; 2261*4e72b326SXuhui Lin reset-names = "combphy-apb", "combphy"; 2262*4e72b326SXuhui Lin rockchip,pipe-grf = <&grf>; 2263*4e72b326SXuhui Lin rockchip,pipe-phy-grf = <&grf>; 2264*4e72b326SXuhui Lin status = "disabled"; 2265*4e72b326SXuhui Lin }; 2266*4e72b326SXuhui Lin 2267*4e72b326SXuhui Lin fspi0: spi@21460000 { 2268*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-fspi", "rockchip,fspi"; 2269*4e72b326SXuhui Lin reg = <0x21460000 0x4000>; 2270*4e72b326SXuhui Lin interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; 2271*4e72b326SXuhui Lin clocks = <&cru SCLK_2X_FSPI0>, <&cru HCLK_FSPI0>; 2272*4e72b326SXuhui Lin clock-names = "clk_sfc", "hclk_sfc"; 2273*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2274*4e72b326SXuhui Lin rockchip,max-dll = <0xFF>; 2275*4e72b326SXuhui Lin #address-cells = <1>; 2276*4e72b326SXuhui Lin #size-cells = <0>; 2277*4e72b326SXuhui Lin status = "disabled"; 2278*4e72b326SXuhui Lin }; 2279*4e72b326SXuhui Lin 2280*4e72b326SXuhui Lin emmc: mmc@21470000 { 2281*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dw-mshc", "rockchip,rk3288-dw-mshc"; 2282*4e72b326SXuhui Lin reg = <0x21470000 0x4000>; 2283*4e72b326SXuhui Lin interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 2284*4e72b326SXuhui Lin clocks = <&cru HCLK_EMMC>, <&cru CCLK_EMMC>; 2285*4e72b326SXuhui Lin clock-names = "biu", "ciu"; 2286*4e72b326SXuhui Lin fifo-depth = <0x100>; 2287*4e72b326SXuhui Lin max-frequency = <200000000>; 2288*4e72b326SXuhui Lin status = "disabled"; 2289*4e72b326SXuhui Lin }; 2290*4e72b326SXuhui Lin 2291*4e72b326SXuhui Lin usb_host_ehci: usb@21480000 { 2292*4e72b326SXuhui Lin compatible = "generic-ehci"; 2293*4e72b326SXuhui Lin reg = <0x21480000 0x40000>; 2294*4e72b326SXuhui Lin interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; 2295*4e72b326SXuhui Lin clocks = <&cru HCLK_USB2HOST>, <&cru HCLK_ARB_USB2HOST>, <&usb2phy>; 2296*4e72b326SXuhui Lin clock-names = "usbhost", "arbiter", "utmi"; 2297*4e72b326SXuhui Lin phys = <&usb2phy_host>; 2298*4e72b326SXuhui Lin phy-names = "usb2-phy"; 2299*4e72b326SXuhui Lin status = "disabled"; 2300*4e72b326SXuhui Lin }; 2301*4e72b326SXuhui Lin 2302*4e72b326SXuhui Lin usb_host_ohci: usb@214c0000 { 2303*4e72b326SXuhui Lin compatible = "generic-ohci"; 2304*4e72b326SXuhui Lin reg = <0x214c0000 0x40000>; 2305*4e72b326SXuhui Lin interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 2306*4e72b326SXuhui Lin clocks = <&cru HCLK_USB2HOST>, <&cru HCLK_ARB_USB2HOST>, <&usb2phy>; 2307*4e72b326SXuhui Lin clock-names = "usbhost", "arbiter", "utmi"; 2308*4e72b326SXuhui Lin phys = <&usb2phy_host>; 2309*4e72b326SXuhui Lin phy-names = "usb2-phy"; 2310*4e72b326SXuhui Lin status = "disabled"; 2311*4e72b326SXuhui Lin }; 2312*4e72b326SXuhui Lin 2313*4e72b326SXuhui Lin usb_drd_dwc3: usb@21500000 { 2314*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dwc3", "rockchip,rk3576-dwc3", "snps,dwc3"; 2315*4e72b326SXuhui Lin reg = <0x21500000 0x100000>; 2316*4e72b326SXuhui Lin clocks = <&cru CLK_REF_USB3OTG>, 2317*4e72b326SXuhui Lin <&cru CLK_SUSPEND_USB3OTG>, 2318*4e72b326SXuhui Lin <&cru ACLK_USB3OTG>; 2319*4e72b326SXuhui Lin clock-names = "ref", "suspend", "bus_clk"; 2320*4e72b326SXuhui Lin interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; 2321*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_USB3OTG>; 2322*4e72b326SXuhui Lin reset-names = "usb3-otg"; 2323*4e72b326SXuhui Lin dr_mode = "otg"; 2324*4e72b326SXuhui Lin phys = <&usb2phy_otg>, <&usb3phy PHY_TYPE_USB3>; 2325*4e72b326SXuhui Lin phy-names = "usb2-phy", "usb3-phy"; 2326*4e72b326SXuhui Lin phy_type = "utmi_wide"; 2327*4e72b326SXuhui Lin snps,dis_enblslpm_quirk; 2328*4e72b326SXuhui Lin snps,dis-u1-entry-quirk; 2329*4e72b326SXuhui Lin snps,dis-u2-entry-quirk; 2330*4e72b326SXuhui Lin snps,dis-u2-freeclk-exists-quirk; 2331*4e72b326SXuhui Lin snps,dis-del-phy-power-chg-quirk; 2332*4e72b326SXuhui Lin snps,dis-tx-ipgap-linecheck-quirk; 2333*4e72b326SXuhui Lin snps,dis_rxdet_inp3_quirk; 2334*4e72b326SXuhui Lin snps,parkmode-disable-hs-quirk; 2335*4e72b326SXuhui Lin snps,parkmode-disable-ss-quirk; 2336*4e72b326SXuhui Lin status = "disabled"; 2337*4e72b326SXuhui Lin }; 2338*4e72b326SXuhui Lin 2339*4e72b326SXuhui Lin dfi: dfi@21620000 { 2340*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dfi"; 2341*4e72b326SXuhui Lin reg = <0x21620000 0x10000>; 2342*4e72b326SXuhui Lin rockchip,pmugrf = <&grf>; 2343*4e72b326SXuhui Lin status = "disabled"; 2344*4e72b326SXuhui Lin }; 2345*4e72b326SXuhui Lin 2346*4e72b326SXuhui Lin mipi0_csi2_hw: mipi0-csi2-hw@21c00000 { 2347*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2-hw"; 2348*4e72b326SXuhui Lin reg = <0x21c00000 0x10000>; 2349*4e72b326SXuhui Lin reg-names = "csihost_regs"; 2350*4e72b326SXuhui Lin interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 2351*4e72b326SXuhui Lin <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 2352*4e72b326SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2353*4e72b326SXuhui Lin clocks = <&cru PCLK_CSI2HOST0>, <&cru DCLK_CSI2HOST0>; 2354*4e72b326SXuhui Lin clock-names = "pclk_csi2host", "dclk_csi2host"; 2355*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_CSI2HOST0>; 2356*4e72b326SXuhui Lin reset-names = "srst_csihost_p"; 2357*4e72b326SXuhui Lin status = "okay"; 2358*4e72b326SXuhui Lin }; 2359*4e72b326SXuhui Lin 2360*4e72b326SXuhui Lin mipi1_csi2_hw: mipi1-csi2-hw@21c10000 { 2361*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2-hw"; 2362*4e72b326SXuhui Lin reg = <0x21c10000 0x10000>; 2363*4e72b326SXuhui Lin reg-names = "csihost_regs"; 2364*4e72b326SXuhui Lin interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, 2365*4e72b326SXuhui Lin <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 2366*4e72b326SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2367*4e72b326SXuhui Lin clocks = <&cru PCLK_CSI2HOST1>, <&cru DCLK_CSI2HOST1>; 2368*4e72b326SXuhui Lin clock-names = "pclk_csi2host", "dclk_csi2host"; 2369*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_CSI2HOST1>; 2370*4e72b326SXuhui Lin reset-names = "srst_csihost_p"; 2371*4e72b326SXuhui Lin status = "okay"; 2372*4e72b326SXuhui Lin }; 2373*4e72b326SXuhui Lin 2374*4e72b326SXuhui Lin mipi2_csi2_hw: mipi2-csi2-hw@21c20000 { 2375*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2-hw"; 2376*4e72b326SXuhui Lin reg = <0x21c20000 0x10000>; 2377*4e72b326SXuhui Lin reg-names = "csihost_regs"; 2378*4e72b326SXuhui Lin interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 2379*4e72b326SXuhui Lin <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 2380*4e72b326SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2381*4e72b326SXuhui Lin clocks = <&cru PCLK_CSI2HOST2>, <&cru DCLK_CSI2HOST2>; 2382*4e72b326SXuhui Lin clock-names = "pclk_csi2host", "dclk_csi2host"; 2383*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_CSI2HOST2>; 2384*4e72b326SXuhui Lin reset-names = "srst_csihost_p"; 2385*4e72b326SXuhui Lin status = "okay"; 2386*4e72b326SXuhui Lin }; 2387*4e72b326SXuhui Lin 2388*4e72b326SXuhui Lin mipi3_csi2_hw: mipi3-csi2-hw@21c30000 { 2389*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-csi2-hw"; 2390*4e72b326SXuhui Lin reg = <0x21c30000 0x10000>; 2391*4e72b326SXuhui Lin reg-names = "csihost_regs"; 2392*4e72b326SXuhui Lin interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>, 2393*4e72b326SXuhui Lin <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 2394*4e72b326SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2395*4e72b326SXuhui Lin clocks = <&cru PCLK_CSI2HOST3>, <&cru DCLK_CSI2HOST3>; 2396*4e72b326SXuhui Lin clock-names = "pclk_csi2host", "dclk_csi2host"; 2397*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_CSI2HOST3>; 2398*4e72b326SXuhui Lin reset-names = "srst_csihost_p"; 2399*4e72b326SXuhui Lin status = "okay"; 2400*4e72b326SXuhui Lin }; 2401*4e72b326SXuhui Lin 2402*4e72b326SXuhui Lin csi2_dphy0_hw: csi2-dphy0-hw@21c40000 { 2403*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy-hw"; 2404*4e72b326SXuhui Lin reg = <0x21c40000 0x10000>; 2405*4e72b326SXuhui Lin clocks = <&cru PCLK_CSIPHY0>; 2406*4e72b326SXuhui Lin clock-names = "pclk"; 2407*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_CSIPHY0>; 2408*4e72b326SXuhui Lin reset-names = "srst_p_csiphy0"; 2409*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2410*4e72b326SXuhui Lin status = "okay"; 2411*4e72b326SXuhui Lin }; 2412*4e72b326SXuhui Lin 2413*4e72b326SXuhui Lin csi2_dphy1_hw: csi2-dphy1-hw@21c50000 { 2414*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-csi2-dphy-hw"; 2415*4e72b326SXuhui Lin reg = <0x21c50000 0x10000>; 2416*4e72b326SXuhui Lin clocks = <&cru PCLK_CSIPHY1>; 2417*4e72b326SXuhui Lin clock-names = "pclk"; 2418*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_CSIPHY1>; 2419*4e72b326SXuhui Lin reset-names = "srst_p_csiphy1"; 2420*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2421*4e72b326SXuhui Lin status = "okay"; 2422*4e72b326SXuhui Lin }; 2423*4e72b326SXuhui Lin 2424*4e72b326SXuhui Lin gmac: ethernet@21c70000 { 2425*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-gmac", "snps,dwmac-4.20a"; 2426*4e72b326SXuhui Lin reg = <0x21c70000 0x10000>; 2427*4e72b326SXuhui Lin interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>, 2428*4e72b326SXuhui Lin <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; 2429*4e72b326SXuhui Lin interrupt-names = "macirq", "eth_wake_irq"; 2430*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2431*4e72b326SXuhui Lin rockchip,php_grf = <&ioc_grf>; 2432*4e72b326SXuhui Lin clocks = <&cru CLK_GMAC_125M>, <&cru CLK_50M_GMAC_IOBUF_VI>, 2433*4e72b326SXuhui Lin <&cru PCLK_GMAC>, <&cru ACLK_GMAC>, 2434*4e72b326SXuhui Lin <&cru CLK_GMAC_PTP_REF>; 2435*4e72b326SXuhui Lin clock-names = "stmmaceth", "clk_mac_ref", 2436*4e72b326SXuhui Lin "pclk_mac", "aclk_mac", 2437*4e72b326SXuhui Lin "ptp_ref"; 2438*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_GMAC>; 2439*4e72b326SXuhui Lin reset-names = "stmmaceth"; 2440*4e72b326SXuhui Lin 2441*4e72b326SXuhui Lin snps,mixed-burst; 2442*4e72b326SXuhui Lin snps,tso; 2443*4e72b326SXuhui Lin 2444*4e72b326SXuhui Lin snps,axi-config = <&gmac0_stmmac_axi_setup>; 2445*4e72b326SXuhui Lin snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 2446*4e72b326SXuhui Lin snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 2447*4e72b326SXuhui Lin status = "disabled"; 2448*4e72b326SXuhui Lin 2449*4e72b326SXuhui Lin mdio: mdio { 2450*4e72b326SXuhui Lin compatible = "snps,dwmac-mdio"; 2451*4e72b326SXuhui Lin #address-cells = <0x1>; 2452*4e72b326SXuhui Lin #size-cells = <0x0>; 2453*4e72b326SXuhui Lin }; 2454*4e72b326SXuhui Lin 2455*4e72b326SXuhui Lin gmac0_stmmac_axi_setup: stmmac-axi-config { 2456*4e72b326SXuhui Lin snps,wr_osr_lmt = <4>; 2457*4e72b326SXuhui Lin snps,rd_osr_lmt = <8>; 2458*4e72b326SXuhui Lin snps,blen = <0 0 0 0 16 8 4>; 2459*4e72b326SXuhui Lin }; 2460*4e72b326SXuhui Lin 2461*4e72b326SXuhui Lin gmac0_mtl_rx_setup: rx-queues-config { 2462*4e72b326SXuhui Lin snps,rx-queues-to-use = <1>; 2463*4e72b326SXuhui Lin queue0 { 2464*4e72b326SXuhui Lin status = "okay"; 2465*4e72b326SXuhui Lin }; 2466*4e72b326SXuhui Lin }; 2467*4e72b326SXuhui Lin 2468*4e72b326SXuhui Lin gmac0_mtl_tx_setup: tx-queues-config { 2469*4e72b326SXuhui Lin snps,tx-queues-to-use = <1>; 2470*4e72b326SXuhui Lin queue0 { 2471*4e72b326SXuhui Lin status = "okay"; 2472*4e72b326SXuhui Lin }; 2473*4e72b326SXuhui Lin }; 2474*4e72b326SXuhui Lin }; 2475*4e72b326SXuhui Lin 2476*4e72b326SXuhui Lin dsmc: dsmc@21ca0000 { 2477*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dsmc", "rockchip,rk3506-dsmc"; 2478*4e72b326SXuhui Lin reg = <0x21ca0000 0x10000>; 2479*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2480*4e72b326SXuhui Lin interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>; 2481*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_DSMC>, <&cru SRST_PRESETN_DSMC>; 2482*4e72b326SXuhui Lin reset-names = "dsmc", "apb"; 2483*4e72b326SXuhui Lin clocks = <&cru CLK_SYS_DSMC_ROOT>, 2484*4e72b326SXuhui Lin <&cru ACLK_DSMC>, 2485*4e72b326SXuhui Lin <&cru PCLK_DSMC>, 2486*4e72b326SXuhui Lin <&cru CLK_SYS_DSMC_ROOT>; 2487*4e72b326SXuhui Lin clock-names = "clk_sys", "aclk_dsmc", "pclk", "aclk_root"; 2488*4e72b326SXuhui Lin clock-frequency = <100000000>; 2489*4e72b326SXuhui Lin dmas = <&dmac 46>, <&dmac 47>; 2490*4e72b326SXuhui Lin dma-names = "req0", "req1"; 2491*4e72b326SXuhui Lin pinctrl-names = "default", "active", "lb-slave"; 2492*4e72b326SXuhui Lin pinctrl-0 = <&dsmc_csn_idle 2493*4e72b326SXuhui Lin &dsmc_bus16_pins 2494*4e72b326SXuhui Lin &dsmc_clk_pins>; 2495*4e72b326SXuhui Lin pinctrl-1 = <&dsmc_csn_pins>; 2496*4e72b326SXuhui Lin pinctrl-2 = <&dsmc_int_pins>; 2497*4e72b326SXuhui Lin status = "disabled"; 2498*4e72b326SXuhui Lin slave { 2499*4e72b326SXuhui Lin rockchip,dqs-dll = <0x20 0x20 2500*4e72b326SXuhui Lin 0x20 0x20 2501*4e72b326SXuhui Lin 0x20 0x20 2502*4e72b326SXuhui Lin 0x20 0x20>; 2503*4e72b326SXuhui Lin rockchip,ranges = <0x0 0x10000000 0x0 0x2000000>; 2504*4e72b326SXuhui Lin rockchip,slave-dev = <&dsmc_slave>; 2505*4e72b326SXuhui Lin }; 2506*4e72b326SXuhui Lin }; 2507*4e72b326SXuhui Lin 2508*4e72b326SXuhui Lin dsmc_slave: dsmc-slave { 2509*4e72b326SXuhui Lin compatible = "rockchip,dsmc-slave"; 2510*4e72b326SXuhui Lin rockchip,clk-mode = <0>; 2511*4e72b326SXuhui Lin status = "disabled"; 2512*4e72b326SXuhui Lin psram { 2513*4e72b326SXuhui Lin dsmc_psram0: psram0 { 2514*4e72b326SXuhui Lin status = "disabled"; 2515*4e72b326SXuhui Lin }; 2516*4e72b326SXuhui Lin dsmc_psram1: psram1 { 2517*4e72b326SXuhui Lin status = "disabled"; 2518*4e72b326SXuhui Lin }; 2519*4e72b326SXuhui Lin dsmc_psram2: psram2 { 2520*4e72b326SXuhui Lin status = "disabled"; 2521*4e72b326SXuhui Lin }; 2522*4e72b326SXuhui Lin dsmc_psram3: psram3 { 2523*4e72b326SXuhui Lin status = "disabled"; 2524*4e72b326SXuhui Lin }; 2525*4e72b326SXuhui Lin }; 2526*4e72b326SXuhui Lin 2527*4e72b326SXuhui Lin lb-slave { 2528*4e72b326SXuhui Lin dsmc_lb_slave0: lb-slave0 { 2529*4e72b326SXuhui Lin rockchip,mtr-timing = <1 0 0 0 0 0 2 2>; 2530*4e72b326SXuhui Lin rockchip,int-en = <0x0>; 2531*4e72b326SXuhui Lin status = "disabled"; 2532*4e72b326SXuhui Lin dsmc_p0_region: region { 2533*4e72b326SXuhui Lin dsmc_p0_region0: region0 { 2534*4e72b326SXuhui Lin rockchip,attribute = "Merged FIFO"; 2535*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2536*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2537*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2538*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2539*4e72b326SXuhui Lin status = "disabled"; 2540*4e72b326SXuhui Lin }; 2541*4e72b326SXuhui Lin dsmc_p0_region1: region1 { 2542*4e72b326SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 2543*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2544*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2545*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2546*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2547*4e72b326SXuhui Lin status = "disabled"; 2548*4e72b326SXuhui Lin }; 2549*4e72b326SXuhui Lin dsmc_p0_region2: region2 { 2550*4e72b326SXuhui Lin rockchip,attribute = "DPRA"; 2551*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2552*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2553*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2554*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2555*4e72b326SXuhui Lin status = "disabled"; 2556*4e72b326SXuhui Lin }; 2557*4e72b326SXuhui Lin dsmc_p0_region3: region3 { 2558*4e72b326SXuhui Lin rockchip,attribute = "Register"; 2559*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2560*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2561*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2562*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2563*4e72b326SXuhui Lin status = "disabled"; 2564*4e72b326SXuhui Lin }; 2565*4e72b326SXuhui Lin }; 2566*4e72b326SXuhui Lin }; 2567*4e72b326SXuhui Lin dsmc_lb_slave1: lb-slave1 { 2568*4e72b326SXuhui Lin rockchip,mtr-timing = <1 0 0 0 0 0 2 2>; 2569*4e72b326SXuhui Lin rockchip,int-en = <0x1>; 2570*4e72b326SXuhui Lin status = "disabled"; 2571*4e72b326SXuhui Lin dsmc_p1_region: region { 2572*4e72b326SXuhui Lin dsmc_p1_region0: region0 { 2573*4e72b326SXuhui Lin rockchip,attribute = "Merged FIFO"; 2574*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2575*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2576*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2577*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2578*4e72b326SXuhui Lin status = "disabled"; 2579*4e72b326SXuhui Lin }; 2580*4e72b326SXuhui Lin dsmc_p1_region1: region1 { 2581*4e72b326SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 2582*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2583*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2584*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2585*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2586*4e72b326SXuhui Lin status = "disabled"; 2587*4e72b326SXuhui Lin }; 2588*4e72b326SXuhui Lin dsmc_p1_region2: region2 { 2589*4e72b326SXuhui Lin rockchip,attribute = "DPRA"; 2590*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2591*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2592*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2593*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2594*4e72b326SXuhui Lin status = "disabled"; 2595*4e72b326SXuhui Lin }; 2596*4e72b326SXuhui Lin dsmc_p1_region3: region3 { 2597*4e72b326SXuhui Lin rockchip,attribute = "Register"; 2598*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2599*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2600*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2601*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2602*4e72b326SXuhui Lin status = "disabled"; 2603*4e72b326SXuhui Lin }; 2604*4e72b326SXuhui Lin }; 2605*4e72b326SXuhui Lin }; 2606*4e72b326SXuhui Lin dsmc_lb_slave2: lb-slave2 { 2607*4e72b326SXuhui Lin rockchip,mtr-timing = <1 0 0 0 0 0 2 2>; 2608*4e72b326SXuhui Lin rockchip,int-en = <0x2>; 2609*4e72b326SXuhui Lin status = "disabled"; 2610*4e72b326SXuhui Lin dsmc_p2_region: region { 2611*4e72b326SXuhui Lin dsmc_p2_region0: region0 { 2612*4e72b326SXuhui Lin rockchip,attribute = "Merged FIFO"; 2613*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2614*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2615*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2616*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2617*4e72b326SXuhui Lin status = "disabled"; 2618*4e72b326SXuhui Lin }; 2619*4e72b326SXuhui Lin dsmc_p2_region1: region1 { 2620*4e72b326SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 2621*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2622*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2623*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2624*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2625*4e72b326SXuhui Lin status = "disabled"; 2626*4e72b326SXuhui Lin }; 2627*4e72b326SXuhui Lin dsmc_p2_region2: region2 { 2628*4e72b326SXuhui Lin rockchip,attribute = "DPRA"; 2629*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2630*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2631*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2632*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2633*4e72b326SXuhui Lin status = "disabled"; 2634*4e72b326SXuhui Lin }; 2635*4e72b326SXuhui Lin dsmc_p2_region3: region3 { 2636*4e72b326SXuhui Lin rockchip,attribute = "Register"; 2637*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2638*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2639*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2640*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2641*4e72b326SXuhui Lin status = "disabled"; 2642*4e72b326SXuhui Lin }; 2643*4e72b326SXuhui Lin }; 2644*4e72b326SXuhui Lin }; 2645*4e72b326SXuhui Lin dsmc_lb_slave3: lb-slave3 { 2646*4e72b326SXuhui Lin rockchip,mtr-timing = <1 0 0 0 0 0 2 2>; 2647*4e72b326SXuhui Lin rockchip,int-en = <0x3>; 2648*4e72b326SXuhui Lin status = "disabled"; 2649*4e72b326SXuhui Lin dsmc_p3_region: region { 2650*4e72b326SXuhui Lin dsmc_p3_region0: region0 { 2651*4e72b326SXuhui Lin rockchip,attribute = "Merged FIFO"; 2652*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2653*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2654*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2655*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2656*4e72b326SXuhui Lin status = "disabled"; 2657*4e72b326SXuhui Lin }; 2658*4e72b326SXuhui Lin dsmc_p3_region1: region1 { 2659*4e72b326SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 2660*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2661*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2662*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2663*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2664*4e72b326SXuhui Lin status = "disabled"; 2665*4e72b326SXuhui Lin }; 2666*4e72b326SXuhui Lin dsmc_p3_region2: region2 { 2667*4e72b326SXuhui Lin rockchip,attribute = "DPRA"; 2668*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2669*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2670*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2671*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2672*4e72b326SXuhui Lin status = "disabled"; 2673*4e72b326SXuhui Lin }; 2674*4e72b326SXuhui Lin dsmc_p3_region3: region3 { 2675*4e72b326SXuhui Lin rockchip,attribute = "Register"; 2676*4e72b326SXuhui Lin rockchip,ca-addr-width = <0>; 2677*4e72b326SXuhui Lin rockchip,dummy-clk-num = <1>; 2678*4e72b326SXuhui Lin rockchip,cs0-be-ctrled = <0>; 2679*4e72b326SXuhui Lin rockchip,cs0-ctrl = <0>; 2680*4e72b326SXuhui Lin status = "disabled"; 2681*4e72b326SXuhui Lin }; 2682*4e72b326SXuhui Lin }; 2683*4e72b326SXuhui Lin }; 2684*4e72b326SXuhui Lin }; 2685*4e72b326SXuhui Lin }; 2686*4e72b326SXuhui Lin 2687*4e72b326SXuhui Lin saradc1: saradc@21cb0000 { 2688*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-saradc"; 2689*4e72b326SXuhui Lin reg = <0x21cb0000 0x10000>; 2690*4e72b326SXuhui Lin interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>; 2691*4e72b326SXuhui Lin #io-channel-cells = <1>; 2692*4e72b326SXuhui Lin clocks = <&cru CLK_SARADC1>, <&cru PCLK_SARADC1>; 2693*4e72b326SXuhui Lin clock-names = "saradc", "apb_pclk"; 2694*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_SARADC1>; 2695*4e72b326SXuhui Lin reset-names = "saradc-apb"; 2696*4e72b326SXuhui Lin status = "disabled"; 2697*4e72b326SXuhui Lin }; 2698*4e72b326SXuhui Lin 2699*4e72b326SXuhui Lin saradc2: saradc@21cc0000 { 2700*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-saradc"; 2701*4e72b326SXuhui Lin reg = <0x21cc0000 0x10000>; 2702*4e72b326SXuhui Lin interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>; 2703*4e72b326SXuhui Lin #io-channel-cells = <1>; 2704*4e72b326SXuhui Lin clocks = <&cru CLK_SARADC2>, <&cru PCLK_SARADC2>; 2705*4e72b326SXuhui Lin clock-names = "saradc", "apb_pclk"; 2706*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_SARADC2>; 2707*4e72b326SXuhui Lin reset-names = "saradc-apb"; 2708*4e72b326SXuhui Lin status = "disabled"; 2709*4e72b326SXuhui Lin }; 2710*4e72b326SXuhui Lin 2711*4e72b326SXuhui Lin rkisp: isp@21d00000 { 2712*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rkisp"; 2713*4e72b326SXuhui Lin reg = <0x21d00000 0x7f00>, <0x21d30000 0x2f00>; 2714*4e72b326SXuhui Lin interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, 2715*4e72b326SXuhui Lin <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 2716*4e72b326SXuhui Lin <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 2717*4e72b326SXuhui Lin <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 2718*4e72b326SXuhui Lin <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 2719*4e72b326SXuhui Lin interrupt-names = "isp_mipi_irq", "isp_mi_irq", "isp_irq", 2720*4e72b326SXuhui Lin "vpsl_mi_irq", "vpsl_irq"; 2721*4e72b326SXuhui Lin clocks = <&cru HCLK_ISP>, <&cru ACLK_ISP>, 2722*4e72b326SXuhui Lin <&cru CLK_CORE_ISP>, <&cru ISP0CLK_VICAP>, 2723*4e72b326SXuhui Lin <&cru HCLK_VPSL>, <&cru ACLK_VPSL>, <&cru CLK_CORE_VPSL>; 2724*4e72b326SXuhui Lin clock-names = "hclk_isp", "aclk_isp", 2725*4e72b326SXuhui Lin "clk_isp_core", "clk_isp_vicap", 2726*4e72b326SXuhui Lin "hclk_vpsl", "aclk_vpsl", "clk_core_vpsl"; 2727*4e72b326SXuhui Lin iommus = <&rkisp_mmu>; 2728*4e72b326SXuhui Lin status = "disabled"; 2729*4e72b326SXuhui Lin }; 2730*4e72b326SXuhui Lin 2731*4e72b326SXuhui Lin rkisp_mmu: iommu@21d07f00 { 2732*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2733*4e72b326SXuhui Lin reg = <0x21d07f00 0x100>, <0x21d32f00 0x100>; 2734*4e72b326SXuhui Lin interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 2735*4e72b326SXuhui Lin interrupt-names = "isp_mmu", "vpsl_mmu"; 2736*4e72b326SXuhui Lin clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, 2737*4e72b326SXuhui Lin <&cru ACLK_VPSL>, <&cru HCLK_VPSL>; 2738*4e72b326SXuhui Lin clock-names = "aclk0", "iface0", "aclk1", "iface1"; 2739*4e72b326SXuhui Lin #iommu-cells = <0>; 2740*4e72b326SXuhui Lin rockchip,disable-mmu-reset; 2741*4e72b326SXuhui Lin status = "disabled"; 2742*4e72b326SXuhui Lin }; 2743*4e72b326SXuhui Lin 2744*4e72b326SXuhui Lin rkcif: rkcif@21d10000 { 2745*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-cif"; 2746*4e72b326SXuhui Lin reg = <0x21d10000 0x1000>; 2747*4e72b326SXuhui Lin reg-names = "cif_regs"; 2748*4e72b326SXuhui Lin interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 2749*4e72b326SXuhui Lin interrupt-names = "cif-intr"; 2750*4e72b326SXuhui Lin clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, 2751*4e72b326SXuhui Lin <&cru DCLK_VICAP>, <&cru ISP0CLK_VICAP>; 2752*4e72b326SXuhui Lin clock-names = "aclk_cif", "hclk_cif", 2753*4e72b326SXuhui Lin "dclk_cif", "isp0clk_cif"; 2754*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_VICAP>, <&cru SRST_HRESETN_VICAP>, 2755*4e72b326SXuhui Lin <&cru SRST_DRESETN_VICAP>, <&cru SRST_ISP0RESETN_VICAP>; 2756*4e72b326SXuhui Lin reset-names = "rst_cif_a", "rst_cif_h", 2757*4e72b326SXuhui Lin "rst_cif_d", "rst_cif_isp0"; 2758*4e72b326SXuhui Lin rockchip,grf = <&grf>; 2759*4e72b326SXuhui Lin iommus = <&rkcif_mmu>; 2760*4e72b326SXuhui Lin status = "disabled"; 2761*4e72b326SXuhui Lin }; 2762*4e72b326SXuhui Lin 2763*4e72b326SXuhui Lin rkcif_mmu: iommu@21d10f00 { 2764*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2765*4e72b326SXuhui Lin reg = <0x21d10f00 0x100>; 2766*4e72b326SXuhui Lin interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 2767*4e72b326SXuhui Lin interrupt-names = "cif_mmu"; 2768*4e72b326SXuhui Lin clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>; 2769*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 2770*4e72b326SXuhui Lin rockchip,disable-mmu-reset; 2771*4e72b326SXuhui Lin #iommu-cells = <0>; 2772*4e72b326SXuhui Lin status = "disabled"; 2773*4e72b326SXuhui Lin }; 2774*4e72b326SXuhui Lin 2775*4e72b326SXuhui Lin rkvpss: vpss@21d20000 { 2776*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rkvpss"; 2777*4e72b326SXuhui Lin reg = <0x21d20000 0x3f00>; 2778*4e72b326SXuhui Lin interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 2779*4e72b326SXuhui Lin <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 2780*4e72b326SXuhui Lin interrupt-names = "mi_irq", "vpss_irq"; 2781*4e72b326SXuhui Lin clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>, 2782*4e72b326SXuhui Lin <&cru CLK_CORE_VPSS>; 2783*4e72b326SXuhui Lin clock-names = "aclk_vpss", "hclk_vpss", "clk_vpss"; 2784*4e72b326SXuhui Lin iommus = <&rkvpss_mmu>; 2785*4e72b326SXuhui Lin status = "disabled"; 2786*4e72b326SXuhui Lin }; 2787*4e72b326SXuhui Lin 2788*4e72b326SXuhui Lin rkvpss_mmu: iommu@21d23f00 { 2789*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2790*4e72b326SXuhui Lin reg = <0x21d23f00 0x100>; 2791*4e72b326SXuhui Lin interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 2792*4e72b326SXuhui Lin interrupt-names = "vpss_mmu"; 2793*4e72b326SXuhui Lin clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>; 2794*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 2795*4e72b326SXuhui Lin #iommu-cells = <0>; 2796*4e72b326SXuhui Lin rockchip,disable-mmu-reset; 2797*4e72b326SXuhui Lin status = "disabled"; 2798*4e72b326SXuhui Lin }; 2799*4e72b326SXuhui Lin 2800*4e72b326SXuhui Lin can0: can@21d40000 { 2801*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-canfd"; 2802*4e72b326SXuhui Lin reg = <0x21d40000 0x1000>; 2803*4e72b326SXuhui Lin interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>; 2804*4e72b326SXuhui Lin clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>; 2805*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2806*4e72b326SXuhui Lin resets = <&cru SRST_RESETN_CAN0>, <&cru SRST_HRESETN_CAN0>; 2807*4e72b326SXuhui Lin reset-names = "can", "can-apb"; 2808*4e72b326SXuhui Lin dmas = <&dmac 44>; 2809*4e72b326SXuhui Lin dma-names = "rx"; 2810*4e72b326SXuhui Lin status = "disabled"; 2811*4e72b326SXuhui Lin }; 2812*4e72b326SXuhui Lin 2813*4e72b326SXuhui Lin can1: can@21d50000 { 2814*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-canfd"; 2815*4e72b326SXuhui Lin reg = <0x21d50000 0x1000>; 2816*4e72b326SXuhui Lin interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>; 2817*4e72b326SXuhui Lin clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>; 2818*4e72b326SXuhui Lin clock-names = "baudclk", "apb_pclk"; 2819*4e72b326SXuhui Lin resets = <&cru SRST_RESETN_CAN1>, <&cru SRST_HRESETN_CAN1>; 2820*4e72b326SXuhui Lin reset-names = "can", "can-apb"; 2821*4e72b326SXuhui Lin dmas = <&dmac 45>; 2822*4e72b326SXuhui Lin dma-names = "rx"; 2823*4e72b326SXuhui Lin status = "disabled"; 2824*4e72b326SXuhui Lin }; 2825*4e72b326SXuhui Lin 2826*4e72b326SXuhui Lin sdmmc0: mmc@21d60000 { 2827*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dw-mshc", "rockchip,rk3288-dw-mshc"; 2828*4e72b326SXuhui Lin reg = <0x21d60000 0x4000>; 2829*4e72b326SXuhui Lin interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 2830*4e72b326SXuhui Lin clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SDMMC0>; 2831*4e72b326SXuhui Lin clock-names = "biu", "ciu"; 2832*4e72b326SXuhui Lin fifo-depth = <0x100>; 2833*4e72b326SXuhui Lin max-frequency = <200000000>; 2834*4e72b326SXuhui Lin pinctrl-names = "normal", "idle"; 2835*4e72b326SXuhui Lin pinctrl-0 = <&sdmmc0_clk_pins &sdmmc0_cmd_pins &sdmmc0_detn_pins &sdmmc0_bus4_pins>; 2836*4e72b326SXuhui Lin pinctrl-1 = <&sdmmc0_idle_pins &sdmmc0_detn_pins>; 2837*4e72b326SXuhui Lin status = "disabled"; 2838*4e72b326SXuhui Lin }; 2839*4e72b326SXuhui Lin 2840*4e72b326SXuhui Lin saradc0: saradc@21f10000 { 2841*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-saradc"; 2842*4e72b326SXuhui Lin reg = <0x21f10000 0x10000>; 2843*4e72b326SXuhui Lin interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>; 2844*4e72b326SXuhui Lin #io-channel-cells = <1>; 2845*4e72b326SXuhui Lin clocks = <&cru CLK_SARADC0>, <&cru PCLK_SARADC0>; 2846*4e72b326SXuhui Lin clock-names = "saradc", "apb_pclk"; 2847*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_SARADC0>; 2848*4e72b326SXuhui Lin reset-names = "saradc-apb"; 2849*4e72b326SXuhui Lin status = "disabled"; 2850*4e72b326SXuhui Lin }; 2851*4e72b326SXuhui Lin 2852*4e72b326SXuhui Lin rkvenc: rkvenc@21f40000 { 2853*4e72b326SXuhui Lin compatible = "rockchip,rkv-encoder-rv1126b", "rockchip,rkv-encoder-v2"; 2854*4e72b326SXuhui Lin reg = <0x21f40000 0x6000>; 2855*4e72b326SXuhui Lin interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; 2856*4e72b326SXuhui Lin interrupt-names = "irq_rkvenc"; 2857*4e72b326SXuhui Lin clocks = <&cru ACLK_VEPU>, <&cru HCLK_VEPU>, <&cru CLK_CORE_VEPU>; 2858*4e72b326SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 2859*4e72b326SXuhui Lin rockchip,normal-rates = <396000000>, <0>, <396000000>; 2860*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_VEPU>, <&cru SRST_HRESETN_VEPU>, 2861*4e72b326SXuhui Lin <&cru SRST_RESETN_CORE_VEPU>; 2862*4e72b326SXuhui Lin reset-names = "video_a", "video_h", "video_core"; 2863*4e72b326SXuhui Lin assigned-clocks = <&cru ACLK_VEPU>, <&cru CLK_CORE_VEPU>; 2864*4e72b326SXuhui Lin assigned-clock-rates = <396000000>, <396000000>; 2865*4e72b326SXuhui Lin iommus = <&rkvenc_mmu>; 2866*4e72b326SXuhui Lin rockchip,srv = <&mpp_srv>; 2867*4e72b326SXuhui Lin rockchip,taskqueue-node = <0>; 2868*4e72b326SXuhui Lin rockchip,resetgroup-node = <0>; 2869*4e72b326SXuhui Lin rockchip,skip-pmu-idle-request; 2870*4e72b326SXuhui Lin dvbm = <&rkdvbm>; 2871*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 2872*4e72b326SXuhui Lin status = "disabled"; 2873*4e72b326SXuhui Lin }; 2874*4e72b326SXuhui Lin 2875*4e72b326SXuhui Lin rkvenc_mmu: iommu@21f4f000 { 2876*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2877*4e72b326SXuhui Lin reg = <0x21f4f000 0x100>; 2878*4e72b326SXuhui Lin interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 2879*4e72b326SXuhui Lin interrupt-names = "rkvenc_mmu"; 2880*4e72b326SXuhui Lin clocks = <&cru ACLK_VEPU>, <&cru HCLK_VEPU>; 2881*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 2882*4e72b326SXuhui Lin #iommu-cells = <0>; 2883*4e72b326SXuhui Lin rockchip,shootdown-entire; 2884*4e72b326SXuhui Lin rockchip,enable-cmd-retry; 2885*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 2886*4e72b326SXuhui Lin status = "disabled"; 2887*4e72b326SXuhui Lin }; 2888*4e72b326SXuhui Lin 2889*4e72b326SXuhui Lin sdmmc1: mmc@21f60000 { 2890*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dw-mshc", "rockchip,rk3288-dw-mshc"; 2891*4e72b326SXuhui Lin reg = <0x21f60000 0x4000>; 2892*4e72b326SXuhui Lin interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 2893*4e72b326SXuhui Lin clocks = <&cru HCLK_SDMMC1>, <&cru CCLK_SDMMC1>; 2894*4e72b326SXuhui Lin clock-names = "biu", "ciu"; 2895*4e72b326SXuhui Lin fifo-depth = <0x100>; 2896*4e72b326SXuhui Lin max-frequency = <200000000>; 2897*4e72b326SXuhui Lin pinctrl-names = "default"; 2898*4e72b326SXuhui Lin pinctrl-0 = <&sdmmc1_clk_pins &sdmmc1_cmd_pins &sdmmc1_detn_pins &sdmmc1_bus4_pins>; 2899*4e72b326SXuhui Lin status = "disabled"; 2900*4e72b326SXuhui Lin }; 2901*4e72b326SXuhui Lin 2902*4e72b326SXuhui Lin rkfec: rkfec@21f80000 { 2903*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rkfec"; 2904*4e72b326SXuhui Lin reg = <0x21f80000 0xf00>; 2905*4e72b326SXuhui Lin interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 2906*4e72b326SXuhui Lin interrupt-names = "fec_irq"; 2907*4e72b326SXuhui Lin clocks = <&cru ACLK_FEC>, <&cru HCLK_FEC>, <&cru CLK_CORE_FEC>; 2908*4e72b326SXuhui Lin clock-names = "aclk_fec", "hclk_fec", "clk_fec"; 2909*4e72b326SXuhui Lin iommus = <&rkfec_mmu>; 2910*4e72b326SXuhui Lin status = "disabled"; 2911*4e72b326SXuhui Lin }; 2912*4e72b326SXuhui Lin 2913*4e72b326SXuhui Lin rkfec_mmu: iommu@21f80f00 { 2914*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2915*4e72b326SXuhui Lin reg = <0x21f80f00 0x100>; 2916*4e72b326SXuhui Lin interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 2917*4e72b326SXuhui Lin interrupt-names = "fec_mmu"; 2918*4e72b326SXuhui Lin clocks = <&cru ACLK_FEC>, <&cru HCLK_FEC>; 2919*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 2920*4e72b326SXuhui Lin #iommu-cells = <0>; 2921*4e72b326SXuhui Lin rockchip,disable-mmu-reset; 2922*4e72b326SXuhui Lin status = "disabled"; 2923*4e72b326SXuhui Lin }; 2924*4e72b326SXuhui Lin 2925*4e72b326SXuhui Lin rkavsp: rkavsp@21f90000 { 2926*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rkavsp"; 2927*4e72b326SXuhui Lin reg = <0x21f90000 0xf00>; 2928*4e72b326SXuhui Lin interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 2929*4e72b326SXuhui Lin interrupt-names = "dcp_irq", "rcs_irq"; 2930*4e72b326SXuhui Lin clocks = <&cru ACLK_AVSP>, <&cru HCLK_AVSP>; 2931*4e72b326SXuhui Lin clock-names = "aclk_avsp", "hclk_avsp"; 2932*4e72b326SXuhui Lin iommus = <&rkavsp_mmu>; 2933*4e72b326SXuhui Lin status = "disabled"; 2934*4e72b326SXuhui Lin }; 2935*4e72b326SXuhui Lin 2936*4e72b326SXuhui Lin rkavsp_mmu: iommu@21f90f00 { 2937*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2938*4e72b326SXuhui Lin reg = <0x21f90f00 0x100>; 2939*4e72b326SXuhui Lin interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 2940*4e72b326SXuhui Lin interrupt-names = "avsp_mmu"; 2941*4e72b326SXuhui Lin clocks = <&cru ACLK_AVSP>, <&cru HCLK_AVSP>; 2942*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 2943*4e72b326SXuhui Lin #iommu-cells = <0>; 2944*4e72b326SXuhui Lin rockchip,disable-mmu-reset; 2945*4e72b326SXuhui Lin status = "disabled"; 2946*4e72b326SXuhui Lin }; 2947*4e72b326SXuhui Lin 2948*4e72b326SXuhui Lin rkaiisp: rkaiisp@21fa0000 { 2949*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rkaiisp"; 2950*4e72b326SXuhui Lin reg = <0x21fa0000 0x3f00>; 2951*4e72b326SXuhui Lin interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>; 2952*4e72b326SXuhui Lin interrupt-names = "irq"; 2953*4e72b326SXuhui Lin clocks = <&cru ACLK_AISP>, <&cru HCLK_AISP>, 2954*4e72b326SXuhui Lin <&cru CLK_CORE_AISP>; 2955*4e72b326SXuhui Lin clock-names = "aclk_aiisp", "hclk_aiisp", "clk_aiisp_core"; 2956*4e72b326SXuhui Lin iommus = <&rkaiisp_mmu>; 2957*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_AISP>; 2958*4e72b326SXuhui Lin status = "disabled"; 2959*4e72b326SXuhui Lin }; 2960*4e72b326SXuhui Lin 2961*4e72b326SXuhui Lin rkaiisp_mmu: iommu@21fa3f00 { 2962*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 2963*4e72b326SXuhui Lin reg = <0x21fa3f00 0x100>; 2964*4e72b326SXuhui Lin interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>; 2965*4e72b326SXuhui Lin interrupt-names = "aiisp_mmu"; 2966*4e72b326SXuhui Lin clocks = <&cru ACLK_AISP>, <&cru HCLK_AISP>; 2967*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 2968*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_AISP>; 2969*4e72b326SXuhui Lin rockchip,disable-mmu-reset; 2970*4e72b326SXuhui Lin #iommu-cells = <0>; 2971*4e72b326SXuhui Lin status = "disabled"; 2972*4e72b326SXuhui Lin }; 2973*4e72b326SXuhui Lin 2974*4e72b326SXuhui Lin rknpu: npu@22000000 { 2975*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-rknpu"; 2976*4e72b326SXuhui Lin reg = <0x22000000 0x8000>; 2977*4e72b326SXuhui Lin interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 2978*4e72b326SXuhui Lin interrupt-names = "npu_irq"; 2979*4e72b326SXuhui Lin clocks = <&cru ACLK_RKNN>, <&cru HCLK_RKNN>; 2980*4e72b326SXuhui Lin clock-names = "aclk", "hclk"; 2981*4e72b326SXuhui Lin assigned-clocks = <&cru ACLK_RKNN>; 2982*4e72b326SXuhui Lin assigned-clock-rates = <800000000>; 2983*4e72b326SXuhui Lin operating-points-v2 = <&npu_opp_table>; 2984*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_RKNN>, <&cru SRST_HRESETN_RKNN>; 2985*4e72b326SXuhui Lin reset-names = "srst_a", "srst_h"; 2986*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_NPU>; 2987*4e72b326SXuhui Lin iommus = <&rknpu_mmu>; 2988*4e72b326SXuhui Lin status = "disabled"; 2989*4e72b326SXuhui Lin }; 2990*4e72b326SXuhui Lin 2991*4e72b326SXuhui Lin npu_opp_table: npu-opp-table { 2992*4e72b326SXuhui Lin compatible = "operating-points-v2"; 2993*4e72b326SXuhui Lin 2994*4e72b326SXuhui Lin nvmem-cells = <&npu_leakage>; 2995*4e72b326SXuhui Lin nvmem-cell-names = "leakage"; 2996*4e72b326SXuhui Lin 2997*4e72b326SXuhui Lin opp-396000000 { 2998*4e72b326SXuhui Lin opp-hz = /bits/ 64 <396000000>; 2999*4e72b326SXuhui Lin opp-microvolt = <900000 900000 1000000>; 3000*4e72b326SXuhui Lin }; 3001*4e72b326SXuhui Lin opp-594000000 { 3002*4e72b326SXuhui Lin opp-hz = /bits/ 64 <594000000>; 3003*4e72b326SXuhui Lin opp-microvolt = <900000 900000 1000000>; 3004*4e72b326SXuhui Lin }; 3005*4e72b326SXuhui Lin }; 3006*4e72b326SXuhui Lin 3007*4e72b326SXuhui Lin rknpu_mmu: iommu@22002000 { 3008*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 3009*4e72b326SXuhui Lin reg = <0x22002000 0x100>; 3010*4e72b326SXuhui Lin interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 3011*4e72b326SXuhui Lin interrupt-names = "rknpu_mmu"; 3012*4e72b326SXuhui Lin clocks = <&cru ACLK_RKNN>, <&cru HCLK_RKNN>; 3013*4e72b326SXuhui Lin clock-names = "aclk", "hclk"; 3014*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_NPU>; 3015*4e72b326SXuhui Lin #iommu-cells = <0>; 3016*4e72b326SXuhui Lin status = "disabled"; 3017*4e72b326SXuhui Lin }; 3018*4e72b326SXuhui Lin 3019*4e72b326SXuhui Lin hw_decompress: decompress@22100000 { 3020*4e72b326SXuhui Lin compatible = "rockchip,hw-decompress"; 3021*4e72b326SXuhui Lin reg = <0x22100000 0x1000>; 3022*4e72b326SXuhui Lin interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 3023*4e72b326SXuhui Lin clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 3024*4e72b326SXuhui Lin clock-names = "aclk", "dclk", "pclk"; 3025*4e72b326SXuhui Lin resets = <&cru SRST_DRESETN_DECOM>; 3026*4e72b326SXuhui Lin reset-names = "dresetn"; 3027*4e72b326SXuhui Lin status = "disabled"; 3028*4e72b326SXuhui Lin }; 3029*4e72b326SXuhui Lin 3030*4e72b326SXuhui Lin mipi_dphy: mipi-dphy@22110000 { 3031*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-dsi-dphy", "rockchip,rv1126-dsi-dphy"; 3032*4e72b326SXuhui Lin reg = <0x22110000 0x500>, <0x22120000 0x500>; 3033*4e72b326SXuhui Lin reg-names = "phy", "host"; 3034*4e72b326SXuhui Lin assigned-clock-rates = <24000000>; 3035*4e72b326SXuhui Lin clocks = <&xin24m>, <&cru PCLK_DSIPHY>, <&cru PCLK_MIPI_DSI>; 3036*4e72b326SXuhui Lin clock-names = "ref", "pclk", "pclk_host"; 3037*4e72b326SXuhui Lin #clock-cells = <0>; 3038*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_DSIPHY>; 3039*4e72b326SXuhui Lin reset-names = "apb"; 3040*4e72b326SXuhui Lin #phy-cells = <0>; 3041*4e72b326SXuhui Lin rockchip,grf = <&grf>; 3042*4e72b326SXuhui Lin status = "disabled"; 3043*4e72b326SXuhui Lin }; 3044*4e72b326SXuhui Lin 3045*4e72b326SXuhui Lin dsi: dsi@22120000 { 3046*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-mipi-dsi"; 3047*4e72b326SXuhui Lin reg = <0x22120000 0x500>; 3048*4e72b326SXuhui Lin interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 3049*4e72b326SXuhui Lin clocks = <&cru PCLK_MIPI_DSI>; 3050*4e72b326SXuhui Lin clock-names = "pclk"; 3051*4e72b326SXuhui Lin resets = <&cru SRST_PRESETN_MIPI_DSI>; 3052*4e72b326SXuhui Lin reset-names = "apb"; 3053*4e72b326SXuhui Lin phys = <&mipi_dphy>; 3054*4e72b326SXuhui Lin phy-names = "dphy"; 3055*4e72b326SXuhui Lin rockchip,grf = <&grf>; 3056*4e72b326SXuhui Lin #address-cells = <1>; 3057*4e72b326SXuhui Lin #size-cells = <0>; 3058*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 3059*4e72b326SXuhui Lin status = "disabled"; 3060*4e72b326SXuhui Lin 3061*4e72b326SXuhui Lin ports { 3062*4e72b326SXuhui Lin port { 3063*4e72b326SXuhui Lin dsi_in_vop: endpoint { 3064*4e72b326SXuhui Lin remote-endpoint = <&vop_out_dsi>; 3065*4e72b326SXuhui Lin }; 3066*4e72b326SXuhui Lin }; 3067*4e72b326SXuhui Lin }; 3068*4e72b326SXuhui Lin }; 3069*4e72b326SXuhui Lin 3070*4e72b326SXuhui Lin rkvdec: rkvdec@22140100 { 3071*4e72b326SXuhui Lin compatible = "rockchip,rkv-decoder-rv1126b", "rockchip,rkv-decoder-v384a"; 3072*4e72b326SXuhui Lin reg = <0x22140100 0x600>, <0x22140000 0x100>; 3073*4e72b326SXuhui Lin reg-names = "regs", "link"; 3074*4e72b326SXuhui Lin interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 3075*4e72b326SXuhui Lin interrupt-names = "irq_rkvdec"; 3076*4e72b326SXuhui Lin clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>; 3077*4e72b326SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec", "clk_hevc_cabac"; 3078*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_VDO_BIU >, <&cru SRST_HRESETN_VDO_BIU>, 3079*4e72b326SXuhui Lin <&cru SRST_RESETN_HEVC_CA_RKVDEC>; 3080*4e72b326SXuhui Lin reset-names = "video_a","video_h", "video_hevc_cabac"; 3081*4e72b326SXuhui Lin rockchip,normal-rates = <300000000>, <0>, <300000000>; 3082*4e72b326SXuhui Lin assigned-clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>; 3083*4e72b326SXuhui Lin assigned-clock-rates = <300000000>, <0>, <300000000>; 3084*4e72b326SXuhui Lin iommus = <&rkvdec_mmu>; 3085*4e72b326SXuhui Lin rockchip,srv = <&mpp_srv>; 3086*4e72b326SXuhui Lin rockchip,task-capacity = <8>; 3087*4e72b326SXuhui Lin rockchip,taskqueue-node = <1>; 3088*4e72b326SXuhui Lin rockchip,resetgroup-node = <1>; 3089*4e72b326SXuhui Lin rockchip,skip-pmu-idle-request; 3090*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 3091*4e72b326SXuhui Lin status = "disabled"; 3092*4e72b326SXuhui Lin }; 3093*4e72b326SXuhui Lin 3094*4e72b326SXuhui Lin rkvdec_mmu: iommu@22140800 { 3095*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 3096*4e72b326SXuhui Lin reg = <0x22140800 0x40>, <0x22140900 0x40>; 3097*4e72b326SXuhui Lin interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 3098*4e72b326SXuhui Lin interrupt-names = "irq_rkvdec_mmu"; 3099*4e72b326SXuhui Lin clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>; 3100*4e72b326SXuhui Lin clock-names = "aclk", "iface", "iface_c"; 3101*4e72b326SXuhui Lin rockchip,enable-cmd-retry; 3102*4e72b326SXuhui Lin rockchip,shootdown-entire; 3103*4e72b326SXuhui Lin #iommu-cells = <0>; 3104*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 3105*4e72b326SXuhui Lin status = "disabled"; 3106*4e72b326SXuhui Lin }; 3107*4e72b326SXuhui Lin 3108*4e72b326SXuhui Lin vop: vop@22150000 { 3109*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-vop"; 3110*4e72b326SXuhui Lin reg = <0x22150000 0x200>, <0x22150a00 0x400>; 3111*4e72b326SXuhui Lin reg-names = "regs", "gamma_lut"; 3112*4e72b326SXuhui Lin rockchip,grf = <&ioc_grf>; 3113*4e72b326SXuhui Lin interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 3114*4e72b326SXuhui Lin clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 3115*4e72b326SXuhui Lin clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 3116*4e72b326SXuhui Lin iommus = <&vop_mmu>; 3117*4e72b326SXuhui Lin status = "disabled"; 3118*4e72b326SXuhui Lin 3119*4e72b326SXuhui Lin vop_out: port { 3120*4e72b326SXuhui Lin #address-cells = <1>; 3121*4e72b326SXuhui Lin #size-cells = <0>; 3122*4e72b326SXuhui Lin 3123*4e72b326SXuhui Lin vop_out_rgb: endpoint@0 { 3124*4e72b326SXuhui Lin reg = <0>; 3125*4e72b326SXuhui Lin remote-endpoint = <&rgb_in_vop>; 3126*4e72b326SXuhui Lin }; 3127*4e72b326SXuhui Lin 3128*4e72b326SXuhui Lin vop_out_dsi: endpoint@1 { 3129*4e72b326SXuhui Lin reg = <1>; 3130*4e72b326SXuhui Lin remote-endpoint = <&dsi_in_vop>; 3131*4e72b326SXuhui Lin }; 3132*4e72b326SXuhui Lin }; 3133*4e72b326SXuhui Lin }; 3134*4e72b326SXuhui Lin 3135*4e72b326SXuhui Lin vop_mmu: iommu@22150f00 { 3136*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 3137*4e72b326SXuhui Lin reg = <0x22150f00 0x100>; 3138*4e72b326SXuhui Lin interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 3139*4e72b326SXuhui Lin interrupt-names = "vop_mmu"; 3140*4e72b326SXuhui Lin clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 3141*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 3142*4e72b326SXuhui Lin #iommu-cells = <0>; 3143*4e72b326SXuhui Lin rockchip,disable-device-link-resume; 3144*4e72b326SXuhui Lin status = "disabled"; 3145*4e72b326SXuhui Lin }; 3146*4e72b326SXuhui Lin 3147*4e72b326SXuhui Lin jpegd: jpegd@22170000 { 3148*4e72b326SXuhui Lin compatible = "rockchip,rkv-jpeg-decoder-v1"; 3149*4e72b326SXuhui Lin reg = <0x22170000 0x330>; 3150*4e72b326SXuhui Lin interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 3151*4e72b326SXuhui Lin interrupt-names = "irq_jpegd"; 3152*4e72b326SXuhui Lin clocks = <&cru ACLK_RKJPEG>, <&cru HCLK_RKJPEG>; 3153*4e72b326SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec"; 3154*4e72b326SXuhui Lin rockchip,normal-rates = <400000000>, <0>; 3155*4e72b326SXuhui Lin assigned-clocks = <&cru ACLK_RKJPEG>; 3156*4e72b326SXuhui Lin assigned-clock-rates = <400000000>; 3157*4e72b326SXuhui Lin resets = <&cru SRST_ARESETN_RKJPEG>, <&cru SRST_HRESETN_RKJPEG>; 3158*4e72b326SXuhui Lin reset-names = "video_a", "video_h"; 3159*4e72b326SXuhui Lin rockchip,skip-pmu-idle-request; 3160*4e72b326SXuhui Lin iommus = <&jpeg_mmu>; 3161*4e72b326SXuhui Lin rockchip,srv = <&mpp_srv>; 3162*4e72b326SXuhui Lin rockchip,taskqueue-node = <2>; 3163*4e72b326SXuhui Lin rockchip,resetgroup-node = <2>; 3164*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 3165*4e72b326SXuhui Lin status = "disabled"; 3166*4e72b326SXuhui Lin }; 3167*4e72b326SXuhui Lin 3168*4e72b326SXuhui Lin jpeg_mmu: iommu@22170f00 { 3169*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 3170*4e72b326SXuhui Lin reg = <0x22170f00 0x28>; 3171*4e72b326SXuhui Lin interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 3172*4e72b326SXuhui Lin interrupt-names = "irq_jpeg_mmu"; 3173*4e72b326SXuhui Lin clocks = <&cru ACLK_RKJPEG>, <&cru HCLK_RKJPEG>; 3174*4e72b326SXuhui Lin clock-name = "aclk", "iface"; 3175*4e72b326SXuhui Lin #iommu-cells = <0>; 3176*4e72b326SXuhui Lin rockchip,shootdown-entire; 3177*4e72b326SXuhui Lin power-domains = <&power RV1126B_PD_VDO>; 3178*4e72b326SXuhui Lin status = "disabled"; 3179*4e72b326SXuhui Lin }; 3180*4e72b326SXuhui Lin 3181*4e72b326SXuhui Lin decom_mmu: iommu@22180000 { 3182*4e72b326SXuhui Lin compatible = "rockchip,iommu-v2"; 3183*4e72b326SXuhui Lin reg = <0x22180000 0x100>; 3184*4e72b326SXuhui Lin interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 3185*4e72b326SXuhui Lin interrupt-names = "decom_mmu"; 3186*4e72b326SXuhui Lin clocks = <&cru ACLK_RKMMU_DECOM>, <&cru HCLK_RKMMU_DECOM>; 3187*4e72b326SXuhui Lin clock-names = "aclk", "iface"; 3188*4e72b326SXuhui Lin #iommu-cells = <0>; 3189*4e72b326SXuhui Lin status = "disabled"; 3190*4e72b326SXuhui Lin }; 3191*4e72b326SXuhui Lin 3192*4e72b326SXuhui Lin system_sram: sram@3ffb0000 { 3193*4e72b326SXuhui Lin compatible = "mmio-sram"; 3194*4e72b326SXuhui Lin reg = <0x3ffb0000 0x10000>; 3195*4e72b326SXuhui Lin #address-cells = <1>; 3196*4e72b326SXuhui Lin #size-cells = <1>; 3197*4e72b326SXuhui Lin ranges = <0 0x3ffb0000 0x10000>; 3198*4e72b326SXuhui Lin }; 3199*4e72b326SXuhui Lin 3200*4e72b326SXuhui Lin pinctrl: pinctrl { 3201*4e72b326SXuhui Lin compatible = "rockchip,rv1126b-pinctrl"; 3202*4e72b326SXuhui Lin rockchip,grf = <&ioc_grf>; 3203*4e72b326SXuhui Lin #address-cells = <1>; 3204*4e72b326SXuhui Lin #size-cells = <1>; 3205*4e72b326SXuhui Lin ranges; 3206*4e72b326SXuhui Lin 3207*4e72b326SXuhui Lin gpio0: gpio@20600000 { 3208*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3209*4e72b326SXuhui Lin reg = <0x20600000 0x200>; 3210*4e72b326SXuhui Lin interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 3211*4e72b326SXuhui Lin clocks = <&cru PCLK_PMU_GPIO0>, <&cru DBCLK_PMU_GPIO0>; 3212*4e72b326SXuhui Lin 3213*4e72b326SXuhui Lin gpio-controller; 3214*4e72b326SXuhui Lin #gpio-cells = <2>; 3215*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 0 32>; 3216*4e72b326SXuhui Lin interrupt-controller; 3217*4e72b326SXuhui Lin #interrupt-cells = <2>; 3218*4e72b326SXuhui Lin }; 3219*4e72b326SXuhui Lin 3220*4e72b326SXuhui Lin gpio1: gpio@21300000 { 3221*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3222*4e72b326SXuhui Lin reg = <0x21300000 0x200>; 3223*4e72b326SXuhui Lin interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 3224*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 3225*4e72b326SXuhui Lin 3226*4e72b326SXuhui Lin gpio-controller; 3227*4e72b326SXuhui Lin #gpio-cells = <2>; 3228*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 32 32>; 3229*4e72b326SXuhui Lin interrupt-controller; 3230*4e72b326SXuhui Lin #interrupt-cells = <2>; 3231*4e72b326SXuhui Lin }; 3232*4e72b326SXuhui Lin 3233*4e72b326SXuhui Lin gpio2: gpio@21700000 { 3234*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3235*4e72b326SXuhui Lin reg = <0x21700000 0x200>; 3236*4e72b326SXuhui Lin interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 3237*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 3238*4e72b326SXuhui Lin 3239*4e72b326SXuhui Lin gpio-controller; 3240*4e72b326SXuhui Lin #gpio-cells = <2>; 3241*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 64 32>; 3242*4e72b326SXuhui Lin interrupt-controller; 3243*4e72b326SXuhui Lin #interrupt-cells = <2>; 3244*4e72b326SXuhui Lin }; 3245*4e72b326SXuhui Lin 3246*4e72b326SXuhui Lin gpio3: gpio@21e00000 { 3247*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3248*4e72b326SXuhui Lin reg = <0x21e00000 0x200>; 3249*4e72b326SXuhui Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 3250*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 3251*4e72b326SXuhui Lin 3252*4e72b326SXuhui Lin gpio-controller; 3253*4e72b326SXuhui Lin #gpio-cells = <2>; 3254*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 96 32>; 3255*4e72b326SXuhui Lin interrupt-controller; 3256*4e72b326SXuhui Lin #interrupt-cells = <2>; 3257*4e72b326SXuhui Lin }; 3258*4e72b326SXuhui Lin 3259*4e72b326SXuhui Lin gpio4: gpio@21800000 { 3260*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3261*4e72b326SXuhui Lin reg = <0x21800000 0x200>; 3262*4e72b326SXuhui Lin interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 3263*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 3264*4e72b326SXuhui Lin 3265*4e72b326SXuhui Lin gpio-controller; 3266*4e72b326SXuhui Lin #gpio-cells = <2>; 3267*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 128 32>; 3268*4e72b326SXuhui Lin interrupt-controller; 3269*4e72b326SXuhui Lin #interrupt-cells = <2>; 3270*4e72b326SXuhui Lin }; 3271*4e72b326SXuhui Lin 3272*4e72b326SXuhui Lin gpio5: gpio@21900000 { 3273*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3274*4e72b326SXuhui Lin reg = <0x21900000 0x200>; 3275*4e72b326SXuhui Lin interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 3276*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO5>, <&cru DBCLK_GPIO5>; 3277*4e72b326SXuhui Lin 3278*4e72b326SXuhui Lin gpio-controller; 3279*4e72b326SXuhui Lin #gpio-cells = <2>; 3280*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 160 32>; 3281*4e72b326SXuhui Lin interrupt-controller; 3282*4e72b326SXuhui Lin #interrupt-cells = <2>; 3283*4e72b326SXuhui Lin }; 3284*4e72b326SXuhui Lin 3285*4e72b326SXuhui Lin gpio6: gpio@21a00000 { 3286*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3287*4e72b326SXuhui Lin reg = <0x21a00000 0x200>; 3288*4e72b326SXuhui Lin interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 3289*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO6>, <&cru DBCLK_GPIO6>; 3290*4e72b326SXuhui Lin 3291*4e72b326SXuhui Lin gpio-controller; 3292*4e72b326SXuhui Lin #gpio-cells = <2>; 3293*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 192 32>; 3294*4e72b326SXuhui Lin interrupt-controller; 3295*4e72b326SXuhui Lin #interrupt-cells = <2>; 3296*4e72b326SXuhui Lin }; 3297*4e72b326SXuhui Lin 3298*4e72b326SXuhui Lin gpio7: gpio@21b00000 { 3299*4e72b326SXuhui Lin compatible = "rockchip,gpio-bank"; 3300*4e72b326SXuhui Lin reg = <0x21b00000 0x200>; 3301*4e72b326SXuhui Lin interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 3302*4e72b326SXuhui Lin clocks = <&cru PCLK_GPIO7>, <&cru DBCLK_GPIO7>; 3303*4e72b326SXuhui Lin 3304*4e72b326SXuhui Lin gpio-controller; 3305*4e72b326SXuhui Lin #gpio-cells = <2>; 3306*4e72b326SXuhui Lin gpio-ranges = <&pinctrl 0 224 32>; 3307*4e72b326SXuhui Lin interrupt-controller; 3308*4e72b326SXuhui Lin #interrupt-cells = <2>; 3309*4e72b326SXuhui Lin }; 3310*4e72b326SXuhui Lin }; 3311*4e72b326SXuhui Lin}; 3312*4e72b326SXuhui Lin 3313*4e72b326SXuhui Lin#include "rv1126b-pinctrl.dtsi" 3314