1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring 3*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 4*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 5*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 6*724ba675SRob Herring#include <dt-bindings/pinctrl/rockchip.h> 7*724ba675SRob Herring#include <dt-bindings/clock/rk3228-cru.h> 8*724ba675SRob Herring#include <dt-bindings/thermal/thermal.h> 9*724ba675SRob Herring#include <dt-bindings/power/rk3228-power.h> 10*724ba675SRob Herring 11*724ba675SRob Herring/ { 12*724ba675SRob Herring #address-cells = <1>; 13*724ba675SRob Herring #size-cells = <1>; 14*724ba675SRob Herring 15*724ba675SRob Herring interrupt-parent = <&gic>; 16*724ba675SRob Herring 17*724ba675SRob Herring aliases { 18*724ba675SRob Herring serial0 = &uart0; 19*724ba675SRob Herring serial1 = &uart1; 20*724ba675SRob Herring serial2 = &uart2; 21*724ba675SRob Herring spi0 = &spi0; 22*724ba675SRob Herring }; 23*724ba675SRob Herring 24*724ba675SRob Herring cpus { 25*724ba675SRob Herring #address-cells = <1>; 26*724ba675SRob Herring #size-cells = <0>; 27*724ba675SRob Herring 28*724ba675SRob Herring cpu0: cpu@f00 { 29*724ba675SRob Herring device_type = "cpu"; 30*724ba675SRob Herring compatible = "arm,cortex-a7"; 31*724ba675SRob Herring reg = <0xf00>; 32*724ba675SRob Herring resets = <&cru SRST_CORE0>; 33*724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 34*724ba675SRob Herring #cooling-cells = <2>; /* min followed by max */ 35*724ba675SRob Herring clock-latency = <40000>; 36*724ba675SRob Herring clocks = <&cru ARMCLK>; 37*724ba675SRob Herring enable-method = "psci"; 38*724ba675SRob Herring }; 39*724ba675SRob Herring 40*724ba675SRob Herring cpu1: cpu@f01 { 41*724ba675SRob Herring device_type = "cpu"; 42*724ba675SRob Herring compatible = "arm,cortex-a7"; 43*724ba675SRob Herring reg = <0xf01>; 44*724ba675SRob Herring resets = <&cru SRST_CORE1>; 45*724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 46*724ba675SRob Herring #cooling-cells = <2>; /* min followed by max */ 47*724ba675SRob Herring enable-method = "psci"; 48*724ba675SRob Herring }; 49*724ba675SRob Herring 50*724ba675SRob Herring cpu2: cpu@f02 { 51*724ba675SRob Herring device_type = "cpu"; 52*724ba675SRob Herring compatible = "arm,cortex-a7"; 53*724ba675SRob Herring reg = <0xf02>; 54*724ba675SRob Herring resets = <&cru SRST_CORE2>; 55*724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 56*724ba675SRob Herring #cooling-cells = <2>; /* min followed by max */ 57*724ba675SRob Herring enable-method = "psci"; 58*724ba675SRob Herring }; 59*724ba675SRob Herring 60*724ba675SRob Herring cpu3: cpu@f03 { 61*724ba675SRob Herring device_type = "cpu"; 62*724ba675SRob Herring compatible = "arm,cortex-a7"; 63*724ba675SRob Herring reg = <0xf03>; 64*724ba675SRob Herring resets = <&cru SRST_CORE3>; 65*724ba675SRob Herring operating-points-v2 = <&cpu0_opp_table>; 66*724ba675SRob Herring #cooling-cells = <2>; /* min followed by max */ 67*724ba675SRob Herring enable-method = "psci"; 68*724ba675SRob Herring }; 69*724ba675SRob Herring }; 70*724ba675SRob Herring 71*724ba675SRob Herring cpu0_opp_table: opp-table-0 { 72*724ba675SRob Herring compatible = "operating-points-v2"; 73*724ba675SRob Herring opp-shared; 74*724ba675SRob Herring 75*724ba675SRob Herring opp-408000000 { 76*724ba675SRob Herring opp-hz = /bits/ 64 <408000000>; 77*724ba675SRob Herring opp-microvolt = <950000>; 78*724ba675SRob Herring clock-latency-ns = <40000>; 79*724ba675SRob Herring opp-suspend; 80*724ba675SRob Herring }; 81*724ba675SRob Herring opp-600000000 { 82*724ba675SRob Herring opp-hz = /bits/ 64 <600000000>; 83*724ba675SRob Herring opp-microvolt = <975000>; 84*724ba675SRob Herring }; 85*724ba675SRob Herring opp-816000000 { 86*724ba675SRob Herring opp-hz = /bits/ 64 <816000000>; 87*724ba675SRob Herring opp-microvolt = <1000000>; 88*724ba675SRob Herring }; 89*724ba675SRob Herring opp-1008000000 { 90*724ba675SRob Herring opp-hz = /bits/ 64 <1008000000>; 91*724ba675SRob Herring opp-microvolt = <1175000>; 92*724ba675SRob Herring }; 93*724ba675SRob Herring opp-1200000000 { 94*724ba675SRob Herring opp-hz = /bits/ 64 <1200000000>; 95*724ba675SRob Herring opp-microvolt = <1275000>; 96*724ba675SRob Herring }; 97*724ba675SRob Herring }; 98*724ba675SRob Herring 99*724ba675SRob Herring arm-pmu { 100*724ba675SRob Herring compatible = "arm,cortex-a7-pmu"; 101*724ba675SRob Herring interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 102*724ba675SRob Herring <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 103*724ba675SRob Herring <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 104*724ba675SRob Herring <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 105*724ba675SRob Herring interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 106*724ba675SRob Herring }; 107*724ba675SRob Herring 108*724ba675SRob Herring psci { 109*724ba675SRob Herring compatible = "arm,psci-1.0", "arm,psci-0.2"; 110*724ba675SRob Herring method = "smc"; 111*724ba675SRob Herring }; 112*724ba675SRob Herring 113*724ba675SRob Herring timer { 114*724ba675SRob Herring compatible = "arm,armv7-timer"; 115*724ba675SRob Herring arm,cpu-registers-not-fw-configured; 116*724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 117*724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 118*724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 119*724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 120*724ba675SRob Herring clock-frequency = <24000000>; 121*724ba675SRob Herring }; 122*724ba675SRob Herring 123*724ba675SRob Herring xin24m: oscillator { 124*724ba675SRob Herring compatible = "fixed-clock"; 125*724ba675SRob Herring clock-frequency = <24000000>; 126*724ba675SRob Herring clock-output-names = "xin24m"; 127*724ba675SRob Herring #clock-cells = <0>; 128*724ba675SRob Herring }; 129*724ba675SRob Herring 130*724ba675SRob Herring display_subsystem: display-subsystem { 131*724ba675SRob Herring compatible = "rockchip,display-subsystem"; 132*724ba675SRob Herring ports = <&vop_out>; 133*724ba675SRob Herring }; 134*724ba675SRob Herring 135*724ba675SRob Herring i2s1: i2s1@100b0000 { 136*724ba675SRob Herring compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 137*724ba675SRob Herring reg = <0x100b0000 0x4000>; 138*724ba675SRob Herring interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 139*724ba675SRob Herring clock-names = "i2s_clk", "i2s_hclk"; 140*724ba675SRob Herring clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>; 141*724ba675SRob Herring dmas = <&pdma 14>, <&pdma 15>; 142*724ba675SRob Herring dma-names = "tx", "rx"; 143*724ba675SRob Herring pinctrl-names = "default"; 144*724ba675SRob Herring pinctrl-0 = <&i2s1_bus>; 145*724ba675SRob Herring status = "disabled"; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring i2s0: i2s0@100c0000 { 149*724ba675SRob Herring compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 150*724ba675SRob Herring reg = <0x100c0000 0x4000>; 151*724ba675SRob Herring interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 152*724ba675SRob Herring clock-names = "i2s_clk", "i2s_hclk"; 153*724ba675SRob Herring clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>; 154*724ba675SRob Herring dmas = <&pdma 11>, <&pdma 12>; 155*724ba675SRob Herring dma-names = "tx", "rx"; 156*724ba675SRob Herring status = "disabled"; 157*724ba675SRob Herring }; 158*724ba675SRob Herring 159*724ba675SRob Herring spdif: spdif@100d0000 { 160*724ba675SRob Herring compatible = "rockchip,rk3228-spdif"; 161*724ba675SRob Herring reg = <0x100d0000 0x1000>; 162*724ba675SRob Herring interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 163*724ba675SRob Herring clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>; 164*724ba675SRob Herring clock-names = "mclk", "hclk"; 165*724ba675SRob Herring dmas = <&pdma 10>; 166*724ba675SRob Herring dma-names = "tx"; 167*724ba675SRob Herring pinctrl-names = "default"; 168*724ba675SRob Herring pinctrl-0 = <&spdif_tx>; 169*724ba675SRob Herring status = "disabled"; 170*724ba675SRob Herring }; 171*724ba675SRob Herring 172*724ba675SRob Herring i2s2: i2s2@100e0000 { 173*724ba675SRob Herring compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 174*724ba675SRob Herring reg = <0x100e0000 0x4000>; 175*724ba675SRob Herring interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 176*724ba675SRob Herring clock-names = "i2s_clk", "i2s_hclk"; 177*724ba675SRob Herring clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>; 178*724ba675SRob Herring dmas = <&pdma 0>, <&pdma 1>; 179*724ba675SRob Herring dma-names = "tx", "rx"; 180*724ba675SRob Herring status = "disabled"; 181*724ba675SRob Herring }; 182*724ba675SRob Herring 183*724ba675SRob Herring grf: syscon@11000000 { 184*724ba675SRob Herring compatible = "rockchip,rk3228-grf", "syscon", "simple-mfd"; 185*724ba675SRob Herring reg = <0x11000000 0x1000>; 186*724ba675SRob Herring #address-cells = <1>; 187*724ba675SRob Herring #size-cells = <1>; 188*724ba675SRob Herring 189*724ba675SRob Herring io_domains: io-domains { 190*724ba675SRob Herring compatible = "rockchip,rk3228-io-voltage-domain"; 191*724ba675SRob Herring status = "disabled"; 192*724ba675SRob Herring }; 193*724ba675SRob Herring 194*724ba675SRob Herring power: power-controller { 195*724ba675SRob Herring compatible = "rockchip,rk3228-power-controller"; 196*724ba675SRob Herring #power-domain-cells = <1>; 197*724ba675SRob Herring #address-cells = <1>; 198*724ba675SRob Herring #size-cells = <0>; 199*724ba675SRob Herring 200*724ba675SRob Herring power-domain@RK3228_PD_VIO { 201*724ba675SRob Herring reg = <RK3228_PD_VIO>; 202*724ba675SRob Herring clocks = <&cru ACLK_HDCP>, 203*724ba675SRob Herring <&cru SCLK_HDCP>, 204*724ba675SRob Herring <&cru ACLK_IEP>, 205*724ba675SRob Herring <&cru HCLK_IEP>, 206*724ba675SRob Herring <&cru ACLK_RGA>, 207*724ba675SRob Herring <&cru HCLK_RGA>, 208*724ba675SRob Herring <&cru SCLK_RGA>; 209*724ba675SRob Herring pm_qos = <&qos_hdcp>, 210*724ba675SRob Herring <&qos_iep>, 211*724ba675SRob Herring <&qos_rga_r>, 212*724ba675SRob Herring <&qos_rga_w>; 213*724ba675SRob Herring #power-domain-cells = <0>; 214*724ba675SRob Herring }; 215*724ba675SRob Herring 216*724ba675SRob Herring power-domain@RK3228_PD_VOP { 217*724ba675SRob Herring reg = <RK3228_PD_VOP>; 218*724ba675SRob Herring clocks =<&cru ACLK_VOP>, 219*724ba675SRob Herring <&cru DCLK_VOP>, 220*724ba675SRob Herring <&cru HCLK_VOP>; 221*724ba675SRob Herring pm_qos = <&qos_vop>; 222*724ba675SRob Herring #power-domain-cells = <0>; 223*724ba675SRob Herring }; 224*724ba675SRob Herring 225*724ba675SRob Herring power-domain@RK3228_PD_VPU { 226*724ba675SRob Herring reg = <RK3228_PD_VPU>; 227*724ba675SRob Herring clocks = <&cru ACLK_VPU>, 228*724ba675SRob Herring <&cru HCLK_VPU>; 229*724ba675SRob Herring pm_qos = <&qos_vpu>; 230*724ba675SRob Herring #power-domain-cells = <0>; 231*724ba675SRob Herring }; 232*724ba675SRob Herring 233*724ba675SRob Herring power-domain@RK3228_PD_RKVDEC { 234*724ba675SRob Herring reg = <RK3228_PD_RKVDEC>; 235*724ba675SRob Herring clocks = <&cru ACLK_RKVDEC>, 236*724ba675SRob Herring <&cru HCLK_RKVDEC>, 237*724ba675SRob Herring <&cru SCLK_VDEC_CABAC>, 238*724ba675SRob Herring <&cru SCLK_VDEC_CORE>; 239*724ba675SRob Herring pm_qos = <&qos_rkvdec_r>, 240*724ba675SRob Herring <&qos_rkvdec_w>; 241*724ba675SRob Herring #power-domain-cells = <0>; 242*724ba675SRob Herring }; 243*724ba675SRob Herring 244*724ba675SRob Herring power-domain@RK3228_PD_GPU { 245*724ba675SRob Herring reg = <RK3228_PD_GPU>; 246*724ba675SRob Herring clocks = <&cru ACLK_GPU>; 247*724ba675SRob Herring pm_qos = <&qos_gpu>; 248*724ba675SRob Herring #power-domain-cells = <0>; 249*724ba675SRob Herring }; 250*724ba675SRob Herring }; 251*724ba675SRob Herring 252*724ba675SRob Herring u2phy0: usb2phy@760 { 253*724ba675SRob Herring compatible = "rockchip,rk3228-usb2phy"; 254*724ba675SRob Herring reg = <0x0760 0x0c>; 255*724ba675SRob Herring clocks = <&cru SCLK_OTGPHY0>; 256*724ba675SRob Herring clock-names = "phyclk"; 257*724ba675SRob Herring clock-output-names = "usb480m_phy0"; 258*724ba675SRob Herring #clock-cells = <0>; 259*724ba675SRob Herring status = "disabled"; 260*724ba675SRob Herring 261*724ba675SRob Herring u2phy0_otg: otg-port { 262*724ba675SRob Herring interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 263*724ba675SRob Herring <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 264*724ba675SRob Herring <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 265*724ba675SRob Herring interrupt-names = "otg-bvalid", "otg-id", 266*724ba675SRob Herring "linestate"; 267*724ba675SRob Herring #phy-cells = <0>; 268*724ba675SRob Herring status = "disabled"; 269*724ba675SRob Herring }; 270*724ba675SRob Herring 271*724ba675SRob Herring u2phy0_host: host-port { 272*724ba675SRob Herring interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 273*724ba675SRob Herring interrupt-names = "linestate"; 274*724ba675SRob Herring #phy-cells = <0>; 275*724ba675SRob Herring status = "disabled"; 276*724ba675SRob Herring }; 277*724ba675SRob Herring }; 278*724ba675SRob Herring 279*724ba675SRob Herring u2phy1: usb2phy@800 { 280*724ba675SRob Herring compatible = "rockchip,rk3228-usb2phy"; 281*724ba675SRob Herring reg = <0x0800 0x0c>; 282*724ba675SRob Herring clocks = <&cru SCLK_OTGPHY1>; 283*724ba675SRob Herring clock-names = "phyclk"; 284*724ba675SRob Herring clock-output-names = "usb480m_phy1"; 285*724ba675SRob Herring #clock-cells = <0>; 286*724ba675SRob Herring status = "disabled"; 287*724ba675SRob Herring 288*724ba675SRob Herring u2phy1_otg: otg-port { 289*724ba675SRob Herring interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 290*724ba675SRob Herring interrupt-names = "linestate"; 291*724ba675SRob Herring #phy-cells = <0>; 292*724ba675SRob Herring status = "disabled"; 293*724ba675SRob Herring }; 294*724ba675SRob Herring 295*724ba675SRob Herring u2phy1_host: host-port { 296*724ba675SRob Herring interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 297*724ba675SRob Herring interrupt-names = "linestate"; 298*724ba675SRob Herring #phy-cells = <0>; 299*724ba675SRob Herring status = "disabled"; 300*724ba675SRob Herring }; 301*724ba675SRob Herring }; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring uart0: serial@11010000 { 305*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 306*724ba675SRob Herring reg = <0x11010000 0x100>; 307*724ba675SRob Herring interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 308*724ba675SRob Herring clock-frequency = <24000000>; 309*724ba675SRob Herring clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 310*724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 311*724ba675SRob Herring pinctrl-names = "default"; 312*724ba675SRob Herring pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 313*724ba675SRob Herring reg-shift = <2>; 314*724ba675SRob Herring reg-io-width = <4>; 315*724ba675SRob Herring status = "disabled"; 316*724ba675SRob Herring }; 317*724ba675SRob Herring 318*724ba675SRob Herring uart1: serial@11020000 { 319*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 320*724ba675SRob Herring reg = <0x11020000 0x100>; 321*724ba675SRob Herring interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 322*724ba675SRob Herring clock-frequency = <24000000>; 323*724ba675SRob Herring clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 324*724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 325*724ba675SRob Herring pinctrl-names = "default"; 326*724ba675SRob Herring pinctrl-0 = <&uart1_xfer>; 327*724ba675SRob Herring reg-shift = <2>; 328*724ba675SRob Herring reg-io-width = <4>; 329*724ba675SRob Herring status = "disabled"; 330*724ba675SRob Herring }; 331*724ba675SRob Herring 332*724ba675SRob Herring uart2: serial@11030000 { 333*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 334*724ba675SRob Herring reg = <0x11030000 0x100>; 335*724ba675SRob Herring interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 336*724ba675SRob Herring clock-frequency = <24000000>; 337*724ba675SRob Herring clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 338*724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 339*724ba675SRob Herring pinctrl-names = "default"; 340*724ba675SRob Herring pinctrl-0 = <&uart2_xfer>; 341*724ba675SRob Herring reg-shift = <2>; 342*724ba675SRob Herring reg-io-width = <4>; 343*724ba675SRob Herring status = "disabled"; 344*724ba675SRob Herring }; 345*724ba675SRob Herring 346*724ba675SRob Herring efuse: efuse@11040000 { 347*724ba675SRob Herring compatible = "rockchip,rk3228-efuse"; 348*724ba675SRob Herring reg = <0x11040000 0x20>; 349*724ba675SRob Herring clocks = <&cru PCLK_EFUSE_256>; 350*724ba675SRob Herring clock-names = "pclk_efuse"; 351*724ba675SRob Herring #address-cells = <1>; 352*724ba675SRob Herring #size-cells = <1>; 353*724ba675SRob Herring 354*724ba675SRob Herring /* Data cells */ 355*724ba675SRob Herring efuse_id: id@7 { 356*724ba675SRob Herring reg = <0x7 0x10>; 357*724ba675SRob Herring }; 358*724ba675SRob Herring cpu_leakage: cpu_leakage@17 { 359*724ba675SRob Herring reg = <0x17 0x1>; 360*724ba675SRob Herring }; 361*724ba675SRob Herring }; 362*724ba675SRob Herring 363*724ba675SRob Herring i2c0: i2c@11050000 { 364*724ba675SRob Herring compatible = "rockchip,rk3228-i2c"; 365*724ba675SRob Herring reg = <0x11050000 0x1000>; 366*724ba675SRob Herring interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 367*724ba675SRob Herring #address-cells = <1>; 368*724ba675SRob Herring #size-cells = <0>; 369*724ba675SRob Herring clock-names = "i2c"; 370*724ba675SRob Herring clocks = <&cru PCLK_I2C0>; 371*724ba675SRob Herring pinctrl-names = "default"; 372*724ba675SRob Herring pinctrl-0 = <&i2c0_xfer>; 373*724ba675SRob Herring status = "disabled"; 374*724ba675SRob Herring }; 375*724ba675SRob Herring 376*724ba675SRob Herring i2c1: i2c@11060000 { 377*724ba675SRob Herring compatible = "rockchip,rk3228-i2c"; 378*724ba675SRob Herring reg = <0x11060000 0x1000>; 379*724ba675SRob Herring interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 380*724ba675SRob Herring #address-cells = <1>; 381*724ba675SRob Herring #size-cells = <0>; 382*724ba675SRob Herring clock-names = "i2c"; 383*724ba675SRob Herring clocks = <&cru PCLK_I2C1>; 384*724ba675SRob Herring pinctrl-names = "default"; 385*724ba675SRob Herring pinctrl-0 = <&i2c1_xfer>; 386*724ba675SRob Herring status = "disabled"; 387*724ba675SRob Herring }; 388*724ba675SRob Herring 389*724ba675SRob Herring i2c2: i2c@11070000 { 390*724ba675SRob Herring compatible = "rockchip,rk3228-i2c"; 391*724ba675SRob Herring reg = <0x11070000 0x1000>; 392*724ba675SRob Herring interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 393*724ba675SRob Herring #address-cells = <1>; 394*724ba675SRob Herring #size-cells = <0>; 395*724ba675SRob Herring clock-names = "i2c"; 396*724ba675SRob Herring clocks = <&cru PCLK_I2C2>; 397*724ba675SRob Herring pinctrl-names = "default"; 398*724ba675SRob Herring pinctrl-0 = <&i2c2_xfer>; 399*724ba675SRob Herring status = "disabled"; 400*724ba675SRob Herring }; 401*724ba675SRob Herring 402*724ba675SRob Herring i2c3: i2c@11080000 { 403*724ba675SRob Herring compatible = "rockchip,rk3228-i2c"; 404*724ba675SRob Herring reg = <0x11080000 0x1000>; 405*724ba675SRob Herring interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 406*724ba675SRob Herring #address-cells = <1>; 407*724ba675SRob Herring #size-cells = <0>; 408*724ba675SRob Herring clock-names = "i2c"; 409*724ba675SRob Herring clocks = <&cru PCLK_I2C3>; 410*724ba675SRob Herring pinctrl-names = "default"; 411*724ba675SRob Herring pinctrl-0 = <&i2c3_xfer>; 412*724ba675SRob Herring status = "disabled"; 413*724ba675SRob Herring }; 414*724ba675SRob Herring 415*724ba675SRob Herring spi0: spi@11090000 { 416*724ba675SRob Herring compatible = "rockchip,rk3228-spi"; 417*724ba675SRob Herring reg = <0x11090000 0x1000>; 418*724ba675SRob Herring interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 419*724ba675SRob Herring #address-cells = <1>; 420*724ba675SRob Herring #size-cells = <0>; 421*724ba675SRob Herring clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 422*724ba675SRob Herring clock-names = "spiclk", "apb_pclk"; 423*724ba675SRob Herring pinctrl-names = "default"; 424*724ba675SRob Herring pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0 &spi0_cs1>; 425*724ba675SRob Herring status = "disabled"; 426*724ba675SRob Herring }; 427*724ba675SRob Herring 428*724ba675SRob Herring wdt: watchdog@110a0000 { 429*724ba675SRob Herring compatible = "rockchip,rk3228-wdt", "snps,dw-wdt"; 430*724ba675SRob Herring reg = <0x110a0000 0x100>; 431*724ba675SRob Herring interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 432*724ba675SRob Herring clocks = <&cru PCLK_CPU>; 433*724ba675SRob Herring status = "disabled"; 434*724ba675SRob Herring }; 435*724ba675SRob Herring 436*724ba675SRob Herring pwm0: pwm@110b0000 { 437*724ba675SRob Herring compatible = "rockchip,rk3288-pwm"; 438*724ba675SRob Herring reg = <0x110b0000 0x10>; 439*724ba675SRob Herring #pwm-cells = <3>; 440*724ba675SRob Herring clocks = <&cru PCLK_PWM>; 441*724ba675SRob Herring pinctrl-names = "default"; 442*724ba675SRob Herring pinctrl-0 = <&pwm0_pin>; 443*724ba675SRob Herring status = "disabled"; 444*724ba675SRob Herring }; 445*724ba675SRob Herring 446*724ba675SRob Herring pwm1: pwm@110b0010 { 447*724ba675SRob Herring compatible = "rockchip,rk3288-pwm"; 448*724ba675SRob Herring reg = <0x110b0010 0x10>; 449*724ba675SRob Herring #pwm-cells = <3>; 450*724ba675SRob Herring clocks = <&cru PCLK_PWM>; 451*724ba675SRob Herring pinctrl-names = "default"; 452*724ba675SRob Herring pinctrl-0 = <&pwm1_pin>; 453*724ba675SRob Herring status = "disabled"; 454*724ba675SRob Herring }; 455*724ba675SRob Herring 456*724ba675SRob Herring pwm2: pwm@110b0020 { 457*724ba675SRob Herring compatible = "rockchip,rk3288-pwm"; 458*724ba675SRob Herring reg = <0x110b0020 0x10>; 459*724ba675SRob Herring #pwm-cells = <3>; 460*724ba675SRob Herring clocks = <&cru PCLK_PWM>; 461*724ba675SRob Herring pinctrl-names = "default"; 462*724ba675SRob Herring pinctrl-0 = <&pwm2_pin>; 463*724ba675SRob Herring status = "disabled"; 464*724ba675SRob Herring }; 465*724ba675SRob Herring 466*724ba675SRob Herring pwm3: pwm@110b0030 { 467*724ba675SRob Herring compatible = "rockchip,rk3288-pwm"; 468*724ba675SRob Herring reg = <0x110b0030 0x10>; 469*724ba675SRob Herring #pwm-cells = <2>; 470*724ba675SRob Herring clocks = <&cru PCLK_PWM>; 471*724ba675SRob Herring pinctrl-names = "default"; 472*724ba675SRob Herring pinctrl-0 = <&pwm3_pin>; 473*724ba675SRob Herring status = "disabled"; 474*724ba675SRob Herring }; 475*724ba675SRob Herring 476*724ba675SRob Herring timer: timer@110c0000 { 477*724ba675SRob Herring compatible = "rockchip,rk3228-timer", "rockchip,rk3288-timer"; 478*724ba675SRob Herring reg = <0x110c0000 0x20>; 479*724ba675SRob Herring interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 480*724ba675SRob Herring clocks = <&cru PCLK_TIMER>, <&xin24m>; 481*724ba675SRob Herring clock-names = "pclk", "timer"; 482*724ba675SRob Herring }; 483*724ba675SRob Herring 484*724ba675SRob Herring cru: clock-controller@110e0000 { 485*724ba675SRob Herring compatible = "rockchip,rk3228-cru"; 486*724ba675SRob Herring reg = <0x110e0000 0x1000>; 487*724ba675SRob Herring clocks = <&xin24m>; 488*724ba675SRob Herring clock-names = "xin24m"; 489*724ba675SRob Herring rockchip,grf = <&grf>; 490*724ba675SRob Herring #clock-cells = <1>; 491*724ba675SRob Herring #reset-cells = <1>; 492*724ba675SRob Herring assigned-clocks = 493*724ba675SRob Herring <&cru PLL_GPLL>, <&cru ARMCLK>, 494*724ba675SRob Herring <&cru PLL_CPLL>, <&cru ACLK_PERI>, 495*724ba675SRob Herring <&cru HCLK_PERI>, <&cru PCLK_PERI>, 496*724ba675SRob Herring <&cru ACLK_CPU>, <&cru HCLK_CPU>, 497*724ba675SRob Herring <&cru PCLK_CPU>; 498*724ba675SRob Herring assigned-clock-rates = 499*724ba675SRob Herring <594000000>, <816000000>, 500*724ba675SRob Herring <500000000>, <150000000>, 501*724ba675SRob Herring <150000000>, <75000000>, 502*724ba675SRob Herring <150000000>, <150000000>, 503*724ba675SRob Herring <75000000>; 504*724ba675SRob Herring }; 505*724ba675SRob Herring 506*724ba675SRob Herring pdma: dma-controller@110f0000 { 507*724ba675SRob Herring compatible = "arm,pl330", "arm,primecell"; 508*724ba675SRob Herring reg = <0x110f0000 0x4000>; 509*724ba675SRob Herring interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 510*724ba675SRob Herring <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 511*724ba675SRob Herring #dma-cells = <1>; 512*724ba675SRob Herring arm,pl330-periph-burst; 513*724ba675SRob Herring clocks = <&cru ACLK_DMAC>; 514*724ba675SRob Herring clock-names = "apb_pclk"; 515*724ba675SRob Herring }; 516*724ba675SRob Herring 517*724ba675SRob Herring thermal-zones { 518*724ba675SRob Herring cpu_thermal: cpu-thermal { 519*724ba675SRob Herring polling-delay-passive = <100>; /* milliseconds */ 520*724ba675SRob Herring polling-delay = <5000>; /* milliseconds */ 521*724ba675SRob Herring 522*724ba675SRob Herring thermal-sensors = <&tsadc 0>; 523*724ba675SRob Herring 524*724ba675SRob Herring trips { 525*724ba675SRob Herring cpu_alert0: cpu_alert0 { 526*724ba675SRob Herring temperature = <70000>; /* millicelsius */ 527*724ba675SRob Herring hysteresis = <2000>; /* millicelsius */ 528*724ba675SRob Herring type = "passive"; 529*724ba675SRob Herring }; 530*724ba675SRob Herring cpu_alert1: cpu_alert1 { 531*724ba675SRob Herring temperature = <75000>; /* millicelsius */ 532*724ba675SRob Herring hysteresis = <2000>; /* millicelsius */ 533*724ba675SRob Herring type = "passive"; 534*724ba675SRob Herring }; 535*724ba675SRob Herring cpu_crit: cpu_crit { 536*724ba675SRob Herring temperature = <90000>; /* millicelsius */ 537*724ba675SRob Herring hysteresis = <2000>; /* millicelsius */ 538*724ba675SRob Herring type = "critical"; 539*724ba675SRob Herring }; 540*724ba675SRob Herring }; 541*724ba675SRob Herring 542*724ba675SRob Herring cooling-maps { 543*724ba675SRob Herring map0 { 544*724ba675SRob Herring trip = <&cpu_alert0>; 545*724ba675SRob Herring cooling-device = 546*724ba675SRob Herring <&cpu0 THERMAL_NO_LIMIT 6>, 547*724ba675SRob Herring <&cpu1 THERMAL_NO_LIMIT 6>, 548*724ba675SRob Herring <&cpu2 THERMAL_NO_LIMIT 6>, 549*724ba675SRob Herring <&cpu3 THERMAL_NO_LIMIT 6>; 550*724ba675SRob Herring }; 551*724ba675SRob Herring map1 { 552*724ba675SRob Herring trip = <&cpu_alert1>; 553*724ba675SRob Herring cooling-device = 554*724ba675SRob Herring <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 555*724ba675SRob Herring <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 556*724ba675SRob Herring <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 557*724ba675SRob Herring <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 558*724ba675SRob Herring }; 559*724ba675SRob Herring }; 560*724ba675SRob Herring }; 561*724ba675SRob Herring }; 562*724ba675SRob Herring 563*724ba675SRob Herring tsadc: tsadc@11150000 { 564*724ba675SRob Herring compatible = "rockchip,rk3228-tsadc"; 565*724ba675SRob Herring reg = <0x11150000 0x100>; 566*724ba675SRob Herring interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 567*724ba675SRob Herring clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 568*724ba675SRob Herring clock-names = "tsadc", "apb_pclk"; 569*724ba675SRob Herring assigned-clocks = <&cru SCLK_TSADC>; 570*724ba675SRob Herring assigned-clock-rates = <32768>; 571*724ba675SRob Herring resets = <&cru SRST_TSADC>; 572*724ba675SRob Herring reset-names = "tsadc-apb"; 573*724ba675SRob Herring pinctrl-names = "init", "default", "sleep"; 574*724ba675SRob Herring pinctrl-0 = <&otp_pin>; 575*724ba675SRob Herring pinctrl-1 = <&otp_out>; 576*724ba675SRob Herring pinctrl-2 = <&otp_pin>; 577*724ba675SRob Herring #thermal-sensor-cells = <1>; 578*724ba675SRob Herring rockchip,hw-tshut-temp = <95000>; 579*724ba675SRob Herring status = "disabled"; 580*724ba675SRob Herring }; 581*724ba675SRob Herring 582*724ba675SRob Herring hdmi_phy: hdmi-phy@12030000 { 583*724ba675SRob Herring compatible = "rockchip,rk3228-hdmi-phy"; 584*724ba675SRob Herring reg = <0x12030000 0x10000>; 585*724ba675SRob Herring clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMI_PHY>; 586*724ba675SRob Herring clock-names = "sysclk", "refoclk", "refpclk"; 587*724ba675SRob Herring #clock-cells = <0>; 588*724ba675SRob Herring clock-output-names = "hdmiphy_phy"; 589*724ba675SRob Herring #phy-cells = <0>; 590*724ba675SRob Herring status = "disabled"; 591*724ba675SRob Herring }; 592*724ba675SRob Herring 593*724ba675SRob Herring gpu: gpu@20000000 { 594*724ba675SRob Herring compatible = "rockchip,rk3228-mali", "arm,mali-400"; 595*724ba675SRob Herring reg = <0x20000000 0x10000>; 596*724ba675SRob Herring interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 597*724ba675SRob Herring <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 598*724ba675SRob Herring <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 599*724ba675SRob Herring <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 600*724ba675SRob Herring <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 601*724ba675SRob Herring <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 602*724ba675SRob Herring interrupt-names = "gp", 603*724ba675SRob Herring "gpmmu", 604*724ba675SRob Herring "pp0", 605*724ba675SRob Herring "ppmmu0", 606*724ba675SRob Herring "pp1", 607*724ba675SRob Herring "ppmmu1"; 608*724ba675SRob Herring clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; 609*724ba675SRob Herring clock-names = "bus", "core"; 610*724ba675SRob Herring power-domains = <&power RK3228_PD_GPU>; 611*724ba675SRob Herring resets = <&cru SRST_GPU_A>; 612*724ba675SRob Herring status = "disabled"; 613*724ba675SRob Herring }; 614*724ba675SRob Herring 615*724ba675SRob Herring vpu: video-codec@20020000 { 616*724ba675SRob Herring compatible = "rockchip,rk3228-vpu", "rockchip,rk3399-vpu"; 617*724ba675SRob Herring reg = <0x20020000 0x800>; 618*724ba675SRob Herring interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 619*724ba675SRob Herring <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 620*724ba675SRob Herring interrupt-names = "vepu", "vdpu"; 621*724ba675SRob Herring clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 622*724ba675SRob Herring clock-names = "aclk", "hclk"; 623*724ba675SRob Herring iommus = <&vpu_mmu>; 624*724ba675SRob Herring power-domains = <&power RK3228_PD_VPU>; 625*724ba675SRob Herring }; 626*724ba675SRob Herring 627*724ba675SRob Herring vpu_mmu: iommu@20020800 { 628*724ba675SRob Herring compatible = "rockchip,iommu"; 629*724ba675SRob Herring reg = <0x20020800 0x100>; 630*724ba675SRob Herring interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 631*724ba675SRob Herring clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 632*724ba675SRob Herring clock-names = "aclk", "iface"; 633*724ba675SRob Herring power-domains = <&power RK3228_PD_VPU>; 634*724ba675SRob Herring #iommu-cells = <0>; 635*724ba675SRob Herring }; 636*724ba675SRob Herring 637*724ba675SRob Herring vdec: video-codec@20030000 { 638*724ba675SRob Herring compatible = "rockchip,rk3228-vdec", "rockchip,rk3399-vdec"; 639*724ba675SRob Herring reg = <0x20030000 0x480>; 640*724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 641*724ba675SRob Herring clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, 642*724ba675SRob Herring <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; 643*724ba675SRob Herring clock-names = "axi", "ahb", "cabac", "core"; 644*724ba675SRob Herring assigned-clocks = <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; 645*724ba675SRob Herring assigned-clock-rates = <300000000>, <300000000>; 646*724ba675SRob Herring iommus = <&vdec_mmu>; 647*724ba675SRob Herring power-domains = <&power RK3228_PD_RKVDEC>; 648*724ba675SRob Herring }; 649*724ba675SRob Herring 650*724ba675SRob Herring vdec_mmu: iommu@20030480 { 651*724ba675SRob Herring compatible = "rockchip,iommu"; 652*724ba675SRob Herring reg = <0x20030480 0x40>, <0x200304c0 0x40>; 653*724ba675SRob Herring interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 654*724ba675SRob Herring clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>; 655*724ba675SRob Herring clock-names = "aclk", "iface"; 656*724ba675SRob Herring power-domains = <&power RK3228_PD_RKVDEC>; 657*724ba675SRob Herring #iommu-cells = <0>; 658*724ba675SRob Herring }; 659*724ba675SRob Herring 660*724ba675SRob Herring vop: vop@20050000 { 661*724ba675SRob Herring compatible = "rockchip,rk3228-vop"; 662*724ba675SRob Herring reg = <0x20050000 0x1ffc>; 663*724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 664*724ba675SRob Herring clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 665*724ba675SRob Herring clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 666*724ba675SRob Herring resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; 667*724ba675SRob Herring reset-names = "axi", "ahb", "dclk"; 668*724ba675SRob Herring iommus = <&vop_mmu>; 669*724ba675SRob Herring power-domains = <&power RK3228_PD_VOP>; 670*724ba675SRob Herring status = "disabled"; 671*724ba675SRob Herring 672*724ba675SRob Herring vop_out: port { 673*724ba675SRob Herring #address-cells = <1>; 674*724ba675SRob Herring #size-cells = <0>; 675*724ba675SRob Herring 676*724ba675SRob Herring vop_out_hdmi: endpoint@0 { 677*724ba675SRob Herring reg = <0>; 678*724ba675SRob Herring remote-endpoint = <&hdmi_in_vop>; 679*724ba675SRob Herring }; 680*724ba675SRob Herring }; 681*724ba675SRob Herring }; 682*724ba675SRob Herring 683*724ba675SRob Herring vop_mmu: iommu@20053f00 { 684*724ba675SRob Herring compatible = "rockchip,iommu"; 685*724ba675SRob Herring reg = <0x20053f00 0x100>; 686*724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 687*724ba675SRob Herring clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 688*724ba675SRob Herring clock-names = "aclk", "iface"; 689*724ba675SRob Herring power-domains = <&power RK3228_PD_VOP>; 690*724ba675SRob Herring #iommu-cells = <0>; 691*724ba675SRob Herring status = "disabled"; 692*724ba675SRob Herring }; 693*724ba675SRob Herring 694*724ba675SRob Herring rga: rga@20060000 { 695*724ba675SRob Herring compatible = "rockchip,rk3228-rga", "rockchip,rk3288-rga"; 696*724ba675SRob Herring reg = <0x20060000 0x1000>; 697*724ba675SRob Herring interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 698*724ba675SRob Herring clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>; 699*724ba675SRob Herring clock-names = "aclk", "hclk", "sclk"; 700*724ba675SRob Herring power-domains = <&power RK3228_PD_VIO>; 701*724ba675SRob Herring resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>; 702*724ba675SRob Herring reset-names = "core", "axi", "ahb"; 703*724ba675SRob Herring }; 704*724ba675SRob Herring 705*724ba675SRob Herring iep_mmu: iommu@20070800 { 706*724ba675SRob Herring compatible = "rockchip,iommu"; 707*724ba675SRob Herring reg = <0x20070800 0x100>; 708*724ba675SRob Herring interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 709*724ba675SRob Herring clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>; 710*724ba675SRob Herring clock-names = "aclk", "iface"; 711*724ba675SRob Herring power-domains = <&power RK3228_PD_VIO>; 712*724ba675SRob Herring #iommu-cells = <0>; 713*724ba675SRob Herring status = "disabled"; 714*724ba675SRob Herring }; 715*724ba675SRob Herring 716*724ba675SRob Herring hdmi: hdmi@200a0000 { 717*724ba675SRob Herring compatible = "rockchip,rk3228-dw-hdmi"; 718*724ba675SRob Herring reg = <0x200a0000 0x20000>; 719*724ba675SRob Herring reg-io-width = <4>; 720*724ba675SRob Herring interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 721*724ba675SRob Herring assigned-clocks = <&cru SCLK_HDMI_PHY>; 722*724ba675SRob Herring assigned-clock-parents = <&hdmi_phy>; 723*724ba675SRob Herring clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>; 724*724ba675SRob Herring clock-names = "iahb", "isfr", "cec"; 725*724ba675SRob Herring pinctrl-names = "default"; 726*724ba675SRob Herring pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>; 727*724ba675SRob Herring resets = <&cru SRST_HDMI_P>; 728*724ba675SRob Herring reset-names = "hdmi"; 729*724ba675SRob Herring phys = <&hdmi_phy>; 730*724ba675SRob Herring phy-names = "hdmi"; 731*724ba675SRob Herring rockchip,grf = <&grf>; 732*724ba675SRob Herring status = "disabled"; 733*724ba675SRob Herring 734*724ba675SRob Herring ports { 735*724ba675SRob Herring hdmi_in: port { 736*724ba675SRob Herring #address-cells = <1>; 737*724ba675SRob Herring #size-cells = <0>; 738*724ba675SRob Herring hdmi_in_vop: endpoint@0 { 739*724ba675SRob Herring reg = <0>; 740*724ba675SRob Herring remote-endpoint = <&vop_out_hdmi>; 741*724ba675SRob Herring }; 742*724ba675SRob Herring }; 743*724ba675SRob Herring }; 744*724ba675SRob Herring }; 745*724ba675SRob Herring 746*724ba675SRob Herring sdmmc: mmc@30000000 { 747*724ba675SRob Herring compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 748*724ba675SRob Herring reg = <0x30000000 0x4000>; 749*724ba675SRob Herring interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 750*724ba675SRob Herring clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 751*724ba675SRob Herring <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 752*724ba675SRob Herring clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 753*724ba675SRob Herring fifo-depth = <0x100>; 754*724ba675SRob Herring pinctrl-names = "default"; 755*724ba675SRob Herring pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 756*724ba675SRob Herring status = "disabled"; 757*724ba675SRob Herring }; 758*724ba675SRob Herring 759*724ba675SRob Herring sdio: mmc@30010000 { 760*724ba675SRob Herring compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 761*724ba675SRob Herring reg = <0x30010000 0x4000>; 762*724ba675SRob Herring interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 763*724ba675SRob Herring clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 764*724ba675SRob Herring <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 765*724ba675SRob Herring clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 766*724ba675SRob Herring fifo-depth = <0x100>; 767*724ba675SRob Herring pinctrl-names = "default"; 768*724ba675SRob Herring pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 769*724ba675SRob Herring status = "disabled"; 770*724ba675SRob Herring }; 771*724ba675SRob Herring 772*724ba675SRob Herring emmc: mmc@30020000 { 773*724ba675SRob Herring compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 774*724ba675SRob Herring reg = <0x30020000 0x4000>; 775*724ba675SRob Herring interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 776*724ba675SRob Herring clock-frequency = <37500000>; 777*724ba675SRob Herring max-frequency = <37500000>; 778*724ba675SRob Herring clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 779*724ba675SRob Herring <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 780*724ba675SRob Herring clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 781*724ba675SRob Herring bus-width = <8>; 782*724ba675SRob Herring rockchip,default-sample-phase = <158>; 783*724ba675SRob Herring fifo-depth = <0x100>; 784*724ba675SRob Herring pinctrl-names = "default"; 785*724ba675SRob Herring pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 786*724ba675SRob Herring resets = <&cru SRST_EMMC>; 787*724ba675SRob Herring reset-names = "reset"; 788*724ba675SRob Herring status = "disabled"; 789*724ba675SRob Herring }; 790*724ba675SRob Herring 791*724ba675SRob Herring usb_otg: usb@30040000 { 792*724ba675SRob Herring compatible = "rockchip,rk3228-usb", "rockchip,rk3066-usb", 793*724ba675SRob Herring "snps,dwc2"; 794*724ba675SRob Herring reg = <0x30040000 0x40000>; 795*724ba675SRob Herring interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 796*724ba675SRob Herring clocks = <&cru HCLK_OTG>; 797*724ba675SRob Herring clock-names = "otg"; 798*724ba675SRob Herring dr_mode = "otg"; 799*724ba675SRob Herring g-np-tx-fifo-size = <16>; 800*724ba675SRob Herring g-rx-fifo-size = <280>; 801*724ba675SRob Herring g-tx-fifo-size = <256 128 128 64 32 16>; 802*724ba675SRob Herring phys = <&u2phy0_otg>; 803*724ba675SRob Herring phy-names = "usb2-phy"; 804*724ba675SRob Herring status = "disabled"; 805*724ba675SRob Herring }; 806*724ba675SRob Herring 807*724ba675SRob Herring usb_host0_ehci: usb@30080000 { 808*724ba675SRob Herring compatible = "generic-ehci"; 809*724ba675SRob Herring reg = <0x30080000 0x20000>; 810*724ba675SRob Herring interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 811*724ba675SRob Herring clocks = <&cru HCLK_HOST0>, <&u2phy0>; 812*724ba675SRob Herring phys = <&u2phy0_host>; 813*724ba675SRob Herring phy-names = "usb"; 814*724ba675SRob Herring status = "disabled"; 815*724ba675SRob Herring }; 816*724ba675SRob Herring 817*724ba675SRob Herring usb_host0_ohci: usb@300a0000 { 818*724ba675SRob Herring compatible = "generic-ohci"; 819*724ba675SRob Herring reg = <0x300a0000 0x20000>; 820*724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 821*724ba675SRob Herring clocks = <&cru HCLK_HOST0>, <&u2phy0>; 822*724ba675SRob Herring phys = <&u2phy0_host>; 823*724ba675SRob Herring phy-names = "usb"; 824*724ba675SRob Herring status = "disabled"; 825*724ba675SRob Herring }; 826*724ba675SRob Herring 827*724ba675SRob Herring usb_host1_ehci: usb@300c0000 { 828*724ba675SRob Herring compatible = "generic-ehci"; 829*724ba675SRob Herring reg = <0x300c0000 0x20000>; 830*724ba675SRob Herring interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 831*724ba675SRob Herring clocks = <&cru HCLK_HOST1>, <&u2phy1>; 832*724ba675SRob Herring phys = <&u2phy1_otg>; 833*724ba675SRob Herring phy-names = "usb"; 834*724ba675SRob Herring status = "disabled"; 835*724ba675SRob Herring }; 836*724ba675SRob Herring 837*724ba675SRob Herring usb_host1_ohci: usb@300e0000 { 838*724ba675SRob Herring compatible = "generic-ohci"; 839*724ba675SRob Herring reg = <0x300e0000 0x20000>; 840*724ba675SRob Herring interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 841*724ba675SRob Herring clocks = <&cru HCLK_HOST1>, <&u2phy1>; 842*724ba675SRob Herring phys = <&u2phy1_otg>; 843*724ba675SRob Herring phy-names = "usb"; 844*724ba675SRob Herring status = "disabled"; 845*724ba675SRob Herring }; 846*724ba675SRob Herring 847*724ba675SRob Herring usb_host2_ehci: usb@30100000 { 848*724ba675SRob Herring compatible = "generic-ehci"; 849*724ba675SRob Herring reg = <0x30100000 0x20000>; 850*724ba675SRob Herring interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 851*724ba675SRob Herring clocks = <&cru HCLK_HOST2>, <&u2phy1>; 852*724ba675SRob Herring phys = <&u2phy1_host>; 853*724ba675SRob Herring phy-names = "usb"; 854*724ba675SRob Herring status = "disabled"; 855*724ba675SRob Herring }; 856*724ba675SRob Herring 857*724ba675SRob Herring usb_host2_ohci: usb@30120000 { 858*724ba675SRob Herring compatible = "generic-ohci"; 859*724ba675SRob Herring reg = <0x30120000 0x20000>; 860*724ba675SRob Herring interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 861*724ba675SRob Herring clocks = <&cru HCLK_HOST2>, <&u2phy1>; 862*724ba675SRob Herring phys = <&u2phy1_host>; 863*724ba675SRob Herring phy-names = "usb"; 864*724ba675SRob Herring status = "disabled"; 865*724ba675SRob Herring }; 866*724ba675SRob Herring 867*724ba675SRob Herring gmac: ethernet@30200000 { 868*724ba675SRob Herring compatible = "rockchip,rk3228-gmac"; 869*724ba675SRob Herring reg = <0x30200000 0x10000>; 870*724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 871*724ba675SRob Herring interrupt-names = "macirq"; 872*724ba675SRob Herring clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>, 873*724ba675SRob Herring <&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>, 874*724ba675SRob Herring <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>, 875*724ba675SRob Herring <&cru PCLK_GMAC>; 876*724ba675SRob Herring clock-names = "stmmaceth", "mac_clk_rx", 877*724ba675SRob Herring "mac_clk_tx", "clk_mac_ref", 878*724ba675SRob Herring "clk_mac_refout", "aclk_mac", 879*724ba675SRob Herring "pclk_mac"; 880*724ba675SRob Herring resets = <&cru SRST_GMAC>; 881*724ba675SRob Herring reset-names = "stmmaceth"; 882*724ba675SRob Herring rockchip,grf = <&grf>; 883*724ba675SRob Herring status = "disabled"; 884*724ba675SRob Herring }; 885*724ba675SRob Herring 886*724ba675SRob Herring qos_iep: qos@31030080 { 887*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 888*724ba675SRob Herring reg = <0x31030080 0x20>; 889*724ba675SRob Herring }; 890*724ba675SRob Herring 891*724ba675SRob Herring qos_rga_w: qos@31030100 { 892*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 893*724ba675SRob Herring reg = <0x31030100 0x20>; 894*724ba675SRob Herring }; 895*724ba675SRob Herring 896*724ba675SRob Herring qos_hdcp: qos@31030180 { 897*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 898*724ba675SRob Herring reg = <0x31030180 0x20>; 899*724ba675SRob Herring }; 900*724ba675SRob Herring 901*724ba675SRob Herring qos_rga_r: qos@31030200 { 902*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 903*724ba675SRob Herring reg = <0x31030200 0x20>; 904*724ba675SRob Herring }; 905*724ba675SRob Herring 906*724ba675SRob Herring qos_vpu: qos@31040000 { 907*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 908*724ba675SRob Herring reg = <0x31040000 0x20>; 909*724ba675SRob Herring }; 910*724ba675SRob Herring 911*724ba675SRob Herring qos_gpu: qos@31050000 { 912*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 913*724ba675SRob Herring reg = <0x31050000 0x20>; 914*724ba675SRob Herring }; 915*724ba675SRob Herring 916*724ba675SRob Herring qos_vop: qos@31060000 { 917*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 918*724ba675SRob Herring reg = <0x31060000 0x20>; 919*724ba675SRob Herring }; 920*724ba675SRob Herring 921*724ba675SRob Herring qos_rkvdec_r: qos@31070000 { 922*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 923*724ba675SRob Herring reg = <0x31070000 0x20>; 924*724ba675SRob Herring }; 925*724ba675SRob Herring 926*724ba675SRob Herring qos_rkvdec_w: qos@31070080 { 927*724ba675SRob Herring compatible = "rockchip,rk3228-qos", "syscon"; 928*724ba675SRob Herring reg = <0x31070080 0x20>; 929*724ba675SRob Herring }; 930*724ba675SRob Herring 931*724ba675SRob Herring gic: interrupt-controller@32010000 { 932*724ba675SRob Herring compatible = "arm,gic-400"; 933*724ba675SRob Herring interrupt-controller; 934*724ba675SRob Herring #interrupt-cells = <3>; 935*724ba675SRob Herring #address-cells = <0>; 936*724ba675SRob Herring 937*724ba675SRob Herring reg = <0x32011000 0x1000>, 938*724ba675SRob Herring <0x32012000 0x2000>, 939*724ba675SRob Herring <0x32014000 0x2000>, 940*724ba675SRob Herring <0x32016000 0x2000>; 941*724ba675SRob Herring interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 942*724ba675SRob Herring }; 943*724ba675SRob Herring 944*724ba675SRob Herring pinctrl: pinctrl { 945*724ba675SRob Herring compatible = "rockchip,rk3228-pinctrl"; 946*724ba675SRob Herring rockchip,grf = <&grf>; 947*724ba675SRob Herring #address-cells = <1>; 948*724ba675SRob Herring #size-cells = <1>; 949*724ba675SRob Herring ranges; 950*724ba675SRob Herring 951*724ba675SRob Herring gpio0: gpio@11110000 { 952*724ba675SRob Herring compatible = "rockchip,gpio-bank"; 953*724ba675SRob Herring reg = <0x11110000 0x100>; 954*724ba675SRob Herring interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 955*724ba675SRob Herring clocks = <&cru PCLK_GPIO0>; 956*724ba675SRob Herring 957*724ba675SRob Herring gpio-controller; 958*724ba675SRob Herring #gpio-cells = <2>; 959*724ba675SRob Herring 960*724ba675SRob Herring interrupt-controller; 961*724ba675SRob Herring #interrupt-cells = <2>; 962*724ba675SRob Herring }; 963*724ba675SRob Herring 964*724ba675SRob Herring gpio1: gpio@11120000 { 965*724ba675SRob Herring compatible = "rockchip,gpio-bank"; 966*724ba675SRob Herring reg = <0x11120000 0x100>; 967*724ba675SRob Herring interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 968*724ba675SRob Herring clocks = <&cru PCLK_GPIO1>; 969*724ba675SRob Herring 970*724ba675SRob Herring gpio-controller; 971*724ba675SRob Herring #gpio-cells = <2>; 972*724ba675SRob Herring 973*724ba675SRob Herring interrupt-controller; 974*724ba675SRob Herring #interrupt-cells = <2>; 975*724ba675SRob Herring }; 976*724ba675SRob Herring 977*724ba675SRob Herring gpio2: gpio@11130000 { 978*724ba675SRob Herring compatible = "rockchip,gpio-bank"; 979*724ba675SRob Herring reg = <0x11130000 0x100>; 980*724ba675SRob Herring interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 981*724ba675SRob Herring clocks = <&cru PCLK_GPIO2>; 982*724ba675SRob Herring 983*724ba675SRob Herring gpio-controller; 984*724ba675SRob Herring #gpio-cells = <2>; 985*724ba675SRob Herring 986*724ba675SRob Herring interrupt-controller; 987*724ba675SRob Herring #interrupt-cells = <2>; 988*724ba675SRob Herring }; 989*724ba675SRob Herring 990*724ba675SRob Herring gpio3: gpio@11140000 { 991*724ba675SRob Herring compatible = "rockchip,gpio-bank"; 992*724ba675SRob Herring reg = <0x11140000 0x100>; 993*724ba675SRob Herring interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 994*724ba675SRob Herring clocks = <&cru PCLK_GPIO3>; 995*724ba675SRob Herring 996*724ba675SRob Herring gpio-controller; 997*724ba675SRob Herring #gpio-cells = <2>; 998*724ba675SRob Herring 999*724ba675SRob Herring interrupt-controller; 1000*724ba675SRob Herring #interrupt-cells = <2>; 1001*724ba675SRob Herring }; 1002*724ba675SRob Herring 1003*724ba675SRob Herring pcfg_pull_up: pcfg-pull-up { 1004*724ba675SRob Herring bias-pull-up; 1005*724ba675SRob Herring }; 1006*724ba675SRob Herring 1007*724ba675SRob Herring pcfg_pull_down: pcfg-pull-down { 1008*724ba675SRob Herring bias-pull-down; 1009*724ba675SRob Herring }; 1010*724ba675SRob Herring 1011*724ba675SRob Herring pcfg_pull_none: pcfg-pull-none { 1012*724ba675SRob Herring bias-disable; 1013*724ba675SRob Herring }; 1014*724ba675SRob Herring 1015*724ba675SRob Herring pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma { 1016*724ba675SRob Herring drive-strength = <12>; 1017*724ba675SRob Herring }; 1018*724ba675SRob Herring 1019*724ba675SRob Herring sdmmc { 1020*724ba675SRob Herring sdmmc_clk: sdmmc-clk { 1021*724ba675SRob Herring rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none_drv_12ma>; 1022*724ba675SRob Herring }; 1023*724ba675SRob Herring 1024*724ba675SRob Herring sdmmc_cmd: sdmmc-cmd { 1025*724ba675SRob Herring rockchip,pins = <1 RK_PB7 1 &pcfg_pull_none_drv_12ma>; 1026*724ba675SRob Herring }; 1027*724ba675SRob Herring 1028*724ba675SRob Herring sdmmc_bus4: sdmmc-bus4 { 1029*724ba675SRob Herring rockchip,pins = <1 RK_PC2 1 &pcfg_pull_none_drv_12ma>, 1030*724ba675SRob Herring <1 RK_PC3 1 &pcfg_pull_none_drv_12ma>, 1031*724ba675SRob Herring <1 RK_PC4 1 &pcfg_pull_none_drv_12ma>, 1032*724ba675SRob Herring <1 RK_PC5 1 &pcfg_pull_none_drv_12ma>; 1033*724ba675SRob Herring }; 1034*724ba675SRob Herring }; 1035*724ba675SRob Herring 1036*724ba675SRob Herring sdio { 1037*724ba675SRob Herring sdio_clk: sdio-clk { 1038*724ba675SRob Herring rockchip,pins = <3 RK_PA0 1 &pcfg_pull_none_drv_12ma>; 1039*724ba675SRob Herring }; 1040*724ba675SRob Herring 1041*724ba675SRob Herring sdio_cmd: sdio-cmd { 1042*724ba675SRob Herring rockchip,pins = <3 RK_PA1 1 &pcfg_pull_none_drv_12ma>; 1043*724ba675SRob Herring }; 1044*724ba675SRob Herring 1045*724ba675SRob Herring sdio_bus4: sdio-bus4 { 1046*724ba675SRob Herring rockchip,pins = <3 RK_PA2 1 &pcfg_pull_none_drv_12ma>, 1047*724ba675SRob Herring <3 RK_PA3 1 &pcfg_pull_none_drv_12ma>, 1048*724ba675SRob Herring <3 RK_PA4 1 &pcfg_pull_none_drv_12ma>, 1049*724ba675SRob Herring <3 RK_PA5 1 &pcfg_pull_none_drv_12ma>; 1050*724ba675SRob Herring }; 1051*724ba675SRob Herring }; 1052*724ba675SRob Herring 1053*724ba675SRob Herring emmc { 1054*724ba675SRob Herring emmc_clk: emmc-clk { 1055*724ba675SRob Herring rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>; 1056*724ba675SRob Herring }; 1057*724ba675SRob Herring 1058*724ba675SRob Herring emmc_cmd: emmc-cmd { 1059*724ba675SRob Herring rockchip,pins = <1 RK_PC6 2 &pcfg_pull_none>; 1060*724ba675SRob Herring }; 1061*724ba675SRob Herring 1062*724ba675SRob Herring emmc_bus8: emmc-bus8 { 1063*724ba675SRob Herring rockchip,pins = <1 RK_PD0 2 &pcfg_pull_none>, 1064*724ba675SRob Herring <1 RK_PD1 2 &pcfg_pull_none>, 1065*724ba675SRob Herring <1 RK_PD2 2 &pcfg_pull_none>, 1066*724ba675SRob Herring <1 RK_PD3 2 &pcfg_pull_none>, 1067*724ba675SRob Herring <1 RK_PD4 2 &pcfg_pull_none>, 1068*724ba675SRob Herring <1 RK_PD5 2 &pcfg_pull_none>, 1069*724ba675SRob Herring <1 RK_PD6 2 &pcfg_pull_none>, 1070*724ba675SRob Herring <1 RK_PD7 2 &pcfg_pull_none>; 1071*724ba675SRob Herring }; 1072*724ba675SRob Herring }; 1073*724ba675SRob Herring 1074*724ba675SRob Herring gmac { 1075*724ba675SRob Herring rgmii_pins: rgmii-pins { 1076*724ba675SRob Herring rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>, 1077*724ba675SRob Herring <2 RK_PB4 1 &pcfg_pull_none>, 1078*724ba675SRob Herring <2 RK_PD1 1 &pcfg_pull_none>, 1079*724ba675SRob Herring <2 RK_PC3 1 &pcfg_pull_none_drv_12ma>, 1080*724ba675SRob Herring <2 RK_PC2 1 &pcfg_pull_none_drv_12ma>, 1081*724ba675SRob Herring <2 RK_PC6 1 &pcfg_pull_none_drv_12ma>, 1082*724ba675SRob Herring <2 RK_PC7 1 &pcfg_pull_none_drv_12ma>, 1083*724ba675SRob Herring <2 RK_PB1 1 &pcfg_pull_none_drv_12ma>, 1084*724ba675SRob Herring <2 RK_PB5 1 &pcfg_pull_none_drv_12ma>, 1085*724ba675SRob Herring <2 RK_PC1 1 &pcfg_pull_none>, 1086*724ba675SRob Herring <2 RK_PC0 1 &pcfg_pull_none>, 1087*724ba675SRob Herring <2 RK_PC5 2 &pcfg_pull_none>, 1088*724ba675SRob Herring <2 RK_PC4 2 &pcfg_pull_none>, 1089*724ba675SRob Herring <2 RK_PB3 1 &pcfg_pull_none>, 1090*724ba675SRob Herring <2 RK_PB0 1 &pcfg_pull_none>; 1091*724ba675SRob Herring }; 1092*724ba675SRob Herring 1093*724ba675SRob Herring rmii_pins: rmii-pins { 1094*724ba675SRob Herring rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>, 1095*724ba675SRob Herring <2 RK_PB4 1 &pcfg_pull_none>, 1096*724ba675SRob Herring <2 RK_PD1 1 &pcfg_pull_none>, 1097*724ba675SRob Herring <2 RK_PC3 1 &pcfg_pull_none_drv_12ma>, 1098*724ba675SRob Herring <2 RK_PC2 1 &pcfg_pull_none_drv_12ma>, 1099*724ba675SRob Herring <2 RK_PB5 1 &pcfg_pull_none_drv_12ma>, 1100*724ba675SRob Herring <2 RK_PC1 1 &pcfg_pull_none>, 1101*724ba675SRob Herring <2 RK_PC0 1 &pcfg_pull_none>, 1102*724ba675SRob Herring <2 RK_PB0 1 &pcfg_pull_none>, 1103*724ba675SRob Herring <2 RK_PB7 1 &pcfg_pull_none>; 1104*724ba675SRob Herring }; 1105*724ba675SRob Herring 1106*724ba675SRob Herring phy_pins: phy-pins { 1107*724ba675SRob Herring rockchip,pins = <2 RK_PB6 2 &pcfg_pull_none>, 1108*724ba675SRob Herring <2 RK_PB0 2 &pcfg_pull_none>; 1109*724ba675SRob Herring }; 1110*724ba675SRob Herring }; 1111*724ba675SRob Herring 1112*724ba675SRob Herring hdmi { 1113*724ba675SRob Herring hdmi_hpd: hdmi-hpd { 1114*724ba675SRob Herring rockchip,pins = <0 RK_PB7 1 &pcfg_pull_down>; 1115*724ba675SRob Herring }; 1116*724ba675SRob Herring 1117*724ba675SRob Herring hdmii2c_xfer: hdmii2c-xfer { 1118*724ba675SRob Herring rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>, 1119*724ba675SRob Herring <0 RK_PA7 2 &pcfg_pull_none>; 1120*724ba675SRob Herring }; 1121*724ba675SRob Herring 1122*724ba675SRob Herring hdmi_cec: hdmi-cec { 1123*724ba675SRob Herring rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>; 1124*724ba675SRob Herring }; 1125*724ba675SRob Herring }; 1126*724ba675SRob Herring 1127*724ba675SRob Herring i2c0 { 1128*724ba675SRob Herring i2c0_xfer: i2c0-xfer { 1129*724ba675SRob Herring rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>, 1130*724ba675SRob Herring <0 RK_PA1 1 &pcfg_pull_none>; 1131*724ba675SRob Herring }; 1132*724ba675SRob Herring }; 1133*724ba675SRob Herring 1134*724ba675SRob Herring i2c1 { 1135*724ba675SRob Herring i2c1_xfer: i2c1-xfer { 1136*724ba675SRob Herring rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>, 1137*724ba675SRob Herring <0 RK_PA3 1 &pcfg_pull_none>; 1138*724ba675SRob Herring }; 1139*724ba675SRob Herring }; 1140*724ba675SRob Herring 1141*724ba675SRob Herring i2c2 { 1142*724ba675SRob Herring i2c2_xfer: i2c2-xfer { 1143*724ba675SRob Herring rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>, 1144*724ba675SRob Herring <2 RK_PC5 1 &pcfg_pull_none>; 1145*724ba675SRob Herring }; 1146*724ba675SRob Herring }; 1147*724ba675SRob Herring 1148*724ba675SRob Herring i2c3 { 1149*724ba675SRob Herring i2c3_xfer: i2c3-xfer { 1150*724ba675SRob Herring rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>, 1151*724ba675SRob Herring <0 RK_PA7 1 &pcfg_pull_none>; 1152*724ba675SRob Herring }; 1153*724ba675SRob Herring }; 1154*724ba675SRob Herring 1155*724ba675SRob Herring spi0 { 1156*724ba675SRob Herring spi0_clk: spi0-clk { 1157*724ba675SRob Herring rockchip,pins = <0 RK_PB1 2 &pcfg_pull_up>; 1158*724ba675SRob Herring }; 1159*724ba675SRob Herring spi0_cs0: spi0-cs0 { 1160*724ba675SRob Herring rockchip,pins = <0 RK_PB6 2 &pcfg_pull_up>; 1161*724ba675SRob Herring }; 1162*724ba675SRob Herring spi0_tx: spi0-tx { 1163*724ba675SRob Herring rockchip,pins = <0 RK_PB3 2 &pcfg_pull_up>; 1164*724ba675SRob Herring }; 1165*724ba675SRob Herring spi0_rx: spi0-rx { 1166*724ba675SRob Herring rockchip,pins = <0 RK_PB5 2 &pcfg_pull_up>; 1167*724ba675SRob Herring }; 1168*724ba675SRob Herring spi0_cs1: spi0-cs1 { 1169*724ba675SRob Herring rockchip,pins = <1 RK_PB4 1 &pcfg_pull_up>; 1170*724ba675SRob Herring }; 1171*724ba675SRob Herring }; 1172*724ba675SRob Herring 1173*724ba675SRob Herring spi1 { 1174*724ba675SRob Herring spi1_clk: spi1-clk { 1175*724ba675SRob Herring rockchip,pins = <0 RK_PC7 2 &pcfg_pull_up>; 1176*724ba675SRob Herring }; 1177*724ba675SRob Herring spi1_cs0: spi1-cs0 { 1178*724ba675SRob Herring rockchip,pins = <2 RK_PA2 2 &pcfg_pull_up>; 1179*724ba675SRob Herring }; 1180*724ba675SRob Herring spi1_rx: spi1-rx { 1181*724ba675SRob Herring rockchip,pins = <2 RK_PA0 2 &pcfg_pull_up>; 1182*724ba675SRob Herring }; 1183*724ba675SRob Herring spi1_tx: spi1-tx { 1184*724ba675SRob Herring rockchip,pins = <2 RK_PA1 2 &pcfg_pull_up>; 1185*724ba675SRob Herring }; 1186*724ba675SRob Herring spi1_cs1: spi1-cs1 { 1187*724ba675SRob Herring rockchip,pins = <2 RK_PA3 2 &pcfg_pull_up>; 1188*724ba675SRob Herring }; 1189*724ba675SRob Herring }; 1190*724ba675SRob Herring 1191*724ba675SRob Herring i2s1 { 1192*724ba675SRob Herring i2s1_bus: i2s1-bus { 1193*724ba675SRob Herring rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>, 1194*724ba675SRob Herring <0 RK_PB1 1 &pcfg_pull_none>, 1195*724ba675SRob Herring <0 RK_PB3 1 &pcfg_pull_none>, 1196*724ba675SRob Herring <0 RK_PB4 1 &pcfg_pull_none>, 1197*724ba675SRob Herring <0 RK_PB5 1 &pcfg_pull_none>, 1198*724ba675SRob Herring <0 RK_PB6 1 &pcfg_pull_none>, 1199*724ba675SRob Herring <1 RK_PA2 2 &pcfg_pull_none>, 1200*724ba675SRob Herring <1 RK_PA4 2 &pcfg_pull_none>, 1201*724ba675SRob Herring <1 RK_PA5 2 &pcfg_pull_none>; 1202*724ba675SRob Herring }; 1203*724ba675SRob Herring }; 1204*724ba675SRob Herring 1205*724ba675SRob Herring pwm0 { 1206*724ba675SRob Herring pwm0_pin: pwm0-pin { 1207*724ba675SRob Herring rockchip,pins = <3 RK_PC5 1 &pcfg_pull_none>; 1208*724ba675SRob Herring }; 1209*724ba675SRob Herring }; 1210*724ba675SRob Herring 1211*724ba675SRob Herring pwm1 { 1212*724ba675SRob Herring pwm1_pin: pwm1-pin { 1213*724ba675SRob Herring rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>; 1214*724ba675SRob Herring }; 1215*724ba675SRob Herring }; 1216*724ba675SRob Herring 1217*724ba675SRob Herring pwm2 { 1218*724ba675SRob Herring pwm2_pin: pwm2-pin { 1219*724ba675SRob Herring rockchip,pins = <1 RK_PB4 2 &pcfg_pull_none>; 1220*724ba675SRob Herring }; 1221*724ba675SRob Herring }; 1222*724ba675SRob Herring 1223*724ba675SRob Herring pwm3 { 1224*724ba675SRob Herring pwm3_pin: pwm3-pin { 1225*724ba675SRob Herring rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>; 1226*724ba675SRob Herring }; 1227*724ba675SRob Herring }; 1228*724ba675SRob Herring 1229*724ba675SRob Herring spdif { 1230*724ba675SRob Herring spdif_tx: spdif-tx { 1231*724ba675SRob Herring rockchip,pins = <3 RK_PD7 2 &pcfg_pull_none>; 1232*724ba675SRob Herring }; 1233*724ba675SRob Herring }; 1234*724ba675SRob Herring 1235*724ba675SRob Herring tsadc { 1236*724ba675SRob Herring otp_pin: otp-pin { 1237*724ba675SRob Herring rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 1238*724ba675SRob Herring }; 1239*724ba675SRob Herring 1240*724ba675SRob Herring otp_out: otp-out { 1241*724ba675SRob Herring rockchip,pins = <0 RK_PD0 2 &pcfg_pull_none>; 1242*724ba675SRob Herring }; 1243*724ba675SRob Herring }; 1244*724ba675SRob Herring 1245*724ba675SRob Herring uart0 { 1246*724ba675SRob Herring uart0_xfer: uart0-xfer { 1247*724ba675SRob Herring rockchip,pins = <2 RK_PD2 1 &pcfg_pull_none>, 1248*724ba675SRob Herring <2 RK_PD3 1 &pcfg_pull_none>; 1249*724ba675SRob Herring }; 1250*724ba675SRob Herring 1251*724ba675SRob Herring uart0_cts: uart0-cts { 1252*724ba675SRob Herring rockchip,pins = <2 RK_PD5 1 &pcfg_pull_none>; 1253*724ba675SRob Herring }; 1254*724ba675SRob Herring 1255*724ba675SRob Herring uart0_rts: uart0-rts { 1256*724ba675SRob Herring rockchip,pins = <0 RK_PC1 1 &pcfg_pull_none>; 1257*724ba675SRob Herring }; 1258*724ba675SRob Herring }; 1259*724ba675SRob Herring 1260*724ba675SRob Herring uart1 { 1261*724ba675SRob Herring uart1_xfer: uart1-xfer { 1262*724ba675SRob Herring rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, 1263*724ba675SRob Herring <1 RK_PB2 1 &pcfg_pull_none>; 1264*724ba675SRob Herring }; 1265*724ba675SRob Herring 1266*724ba675SRob Herring uart1_cts: uart1-cts { 1267*724ba675SRob Herring rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>; 1268*724ba675SRob Herring }; 1269*724ba675SRob Herring 1270*724ba675SRob Herring uart1_rts: uart1-rts { 1271*724ba675SRob Herring rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>; 1272*724ba675SRob Herring }; 1273*724ba675SRob Herring }; 1274*724ba675SRob Herring 1275*724ba675SRob Herring uart2 { 1276*724ba675SRob Herring uart2_xfer: uart2-xfer { 1277*724ba675SRob Herring rockchip,pins = <1 RK_PC2 2 &pcfg_pull_up>, 1278*724ba675SRob Herring <1 RK_PC3 2 &pcfg_pull_none>; 1279*724ba675SRob Herring }; 1280*724ba675SRob Herring 1281*724ba675SRob Herring uart21_xfer: uart21-xfer { 1282*724ba675SRob Herring rockchip,pins = <1 RK_PB2 2 &pcfg_pull_up>, 1283*724ba675SRob Herring <1 RK_PB1 2 &pcfg_pull_none>; 1284*724ba675SRob Herring }; 1285*724ba675SRob Herring 1286*724ba675SRob Herring uart2_cts: uart2-cts { 1287*724ba675SRob Herring rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>; 1288*724ba675SRob Herring }; 1289*724ba675SRob Herring 1290*724ba675SRob Herring uart2_rts: uart2-rts { 1291*724ba675SRob Herring rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>; 1292*724ba675SRob Herring }; 1293*724ba675SRob Herring }; 1294*724ba675SRob Herring }; 1295*724ba675SRob Herring}; 1296