1*296602b8SDragan Simic// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*296602b8SDragan Simic/* 3*296602b8SDragan Simic * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd 4*296602b8SDragan Simic */ 5*296602b8SDragan Simic 6*296602b8SDragan Simic#include <dt-bindings/clock/rk3399-cru.h> 7*296602b8SDragan Simic#include <dt-bindings/gpio/gpio.h> 8*296602b8SDragan Simic#include <dt-bindings/interrupt-controller/arm-gic.h> 9*296602b8SDragan Simic#include <dt-bindings/interrupt-controller/irq.h> 10*296602b8SDragan Simic#include <dt-bindings/pinctrl/rockchip.h> 11*296602b8SDragan Simic#include <dt-bindings/power/rk3399-power.h> 12*296602b8SDragan Simic#include <dt-bindings/thermal/thermal.h> 13*296602b8SDragan Simic 14*296602b8SDragan Simic/ { 15*296602b8SDragan Simic compatible = "rockchip,rk3399"; 16*296602b8SDragan Simic 17*296602b8SDragan Simic interrupt-parent = <&gic>; 18*296602b8SDragan Simic #address-cells = <2>; 19*296602b8SDragan Simic #size-cells = <2>; 20*296602b8SDragan Simic 21*296602b8SDragan Simic aliases { 22*296602b8SDragan Simic gpio0 = &gpio0; 23*296602b8SDragan Simic gpio1 = &gpio1; 24*296602b8SDragan Simic gpio2 = &gpio2; 25*296602b8SDragan Simic gpio3 = &gpio3; 26*296602b8SDragan Simic gpio4 = &gpio4; 27*296602b8SDragan Simic i2c0 = &i2c0; 28*296602b8SDragan Simic i2c1 = &i2c1; 29*296602b8SDragan Simic i2c2 = &i2c2; 30*296602b8SDragan Simic i2c3 = &i2c3; 31*296602b8SDragan Simic i2c4 = &i2c4; 32*296602b8SDragan Simic i2c5 = &i2c5; 33*296602b8SDragan Simic i2c6 = &i2c6; 34*296602b8SDragan Simic i2c7 = &i2c7; 35*296602b8SDragan Simic i2c8 = &i2c8; 36*296602b8SDragan Simic serial0 = &uart0; 37*296602b8SDragan Simic serial1 = &uart1; 38*296602b8SDragan Simic serial2 = &uart2; 39*296602b8SDragan Simic serial3 = &uart3; 40*296602b8SDragan Simic serial4 = &uart4; 41*296602b8SDragan Simic spi0 = &spi0; 42*296602b8SDragan Simic spi1 = &spi1; 43*296602b8SDragan Simic spi2 = &spi2; 44*296602b8SDragan Simic spi3 = &spi3; 45*296602b8SDragan Simic spi4 = &spi4; 46*296602b8SDragan Simic spi5 = &spi5; 47*296602b8SDragan Simic }; 48*296602b8SDragan Simic 49*296602b8SDragan Simic cpus { 50*296602b8SDragan Simic #address-cells = <2>; 51*296602b8SDragan Simic #size-cells = <0>; 52*296602b8SDragan Simic 53*296602b8SDragan Simic cpu-map { 54*296602b8SDragan Simic cluster0 { /* Cortex-A53 */ 55*296602b8SDragan Simic core0 { 56*296602b8SDragan Simic cpu = <&cpu_l0>; 57*296602b8SDragan Simic }; 58*296602b8SDragan Simic core1 { 59*296602b8SDragan Simic cpu = <&cpu_l1>; 60*296602b8SDragan Simic }; 61*296602b8SDragan Simic core2 { 62*296602b8SDragan Simic cpu = <&cpu_l2>; 63*296602b8SDragan Simic }; 64*296602b8SDragan Simic core3 { 65*296602b8SDragan Simic cpu = <&cpu_l3>; 66*296602b8SDragan Simic }; 67*296602b8SDragan Simic }; 68*296602b8SDragan Simic 69*296602b8SDragan Simic cluster1 { /* Cortex-A72 */ 70*296602b8SDragan Simic core0 { 71*296602b8SDragan Simic cpu = <&cpu_b0>; 72*296602b8SDragan Simic }; 73*296602b8SDragan Simic core1 { 74*296602b8SDragan Simic cpu = <&cpu_b1>; 75*296602b8SDragan Simic }; 76*296602b8SDragan Simic }; 77*296602b8SDragan Simic }; 78*296602b8SDragan Simic 79*296602b8SDragan Simic cpu_l0: cpu@0 { 80*296602b8SDragan Simic device_type = "cpu"; 81*296602b8SDragan Simic compatible = "arm,cortex-a53"; 82*296602b8SDragan Simic reg = <0x0 0x0>; 83*296602b8SDragan Simic enable-method = "psci"; 84*296602b8SDragan Simic capacity-dmips-mhz = <485>; 85*296602b8SDragan Simic clocks = <&cru ARMCLKL>; 86*296602b8SDragan Simic #cooling-cells = <2>; /* min followed by max */ 87*296602b8SDragan Simic dynamic-power-coefficient = <100>; 88*296602b8SDragan Simic cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 89*296602b8SDragan Simic i-cache-size = <0x8000>; 90*296602b8SDragan Simic i-cache-line-size = <64>; 91*296602b8SDragan Simic i-cache-sets = <256>; 92*296602b8SDragan Simic d-cache-size = <0x8000>; 93*296602b8SDragan Simic d-cache-line-size = <64>; 94*296602b8SDragan Simic d-cache-sets = <128>; 95*296602b8SDragan Simic next-level-cache = <&l2_cache_l>; 96*296602b8SDragan Simic }; 97*296602b8SDragan Simic 98*296602b8SDragan Simic cpu_l1: cpu@1 { 99*296602b8SDragan Simic device_type = "cpu"; 100*296602b8SDragan Simic compatible = "arm,cortex-a53"; 101*296602b8SDragan Simic reg = <0x0 0x1>; 102*296602b8SDragan Simic enable-method = "psci"; 103*296602b8SDragan Simic capacity-dmips-mhz = <485>; 104*296602b8SDragan Simic clocks = <&cru ARMCLKL>; 105*296602b8SDragan Simic #cooling-cells = <2>; /* min followed by max */ 106*296602b8SDragan Simic dynamic-power-coefficient = <100>; 107*296602b8SDragan Simic cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 108*296602b8SDragan Simic i-cache-size = <0x8000>; 109*296602b8SDragan Simic i-cache-line-size = <64>; 110*296602b8SDragan Simic i-cache-sets = <256>; 111*296602b8SDragan Simic d-cache-size = <0x8000>; 112*296602b8SDragan Simic d-cache-line-size = <64>; 113*296602b8SDragan Simic d-cache-sets = <128>; 114*296602b8SDragan Simic next-level-cache = <&l2_cache_l>; 115*296602b8SDragan Simic }; 116*296602b8SDragan Simic 117*296602b8SDragan Simic cpu_l2: cpu@2 { 118*296602b8SDragan Simic device_type = "cpu"; 119*296602b8SDragan Simic compatible = "arm,cortex-a53"; 120*296602b8SDragan Simic reg = <0x0 0x2>; 121*296602b8SDragan Simic enable-method = "psci"; 122*296602b8SDragan Simic capacity-dmips-mhz = <485>; 123*296602b8SDragan Simic clocks = <&cru ARMCLKL>; 124*296602b8SDragan Simic #cooling-cells = <2>; /* min followed by max */ 125*296602b8SDragan Simic dynamic-power-coefficient = <100>; 126*296602b8SDragan Simic cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 127*296602b8SDragan Simic i-cache-size = <0x8000>; 128*296602b8SDragan Simic i-cache-line-size = <64>; 129*296602b8SDragan Simic i-cache-sets = <256>; 130*296602b8SDragan Simic d-cache-size = <0x8000>; 131*296602b8SDragan Simic d-cache-line-size = <64>; 132*296602b8SDragan Simic d-cache-sets = <128>; 133*296602b8SDragan Simic next-level-cache = <&l2_cache_l>; 134*296602b8SDragan Simic }; 135*296602b8SDragan Simic 136*296602b8SDragan Simic cpu_l3: cpu@3 { 137*296602b8SDragan Simic device_type = "cpu"; 138*296602b8SDragan Simic compatible = "arm,cortex-a53"; 139*296602b8SDragan Simic reg = <0x0 0x3>; 140*296602b8SDragan Simic enable-method = "psci"; 141*296602b8SDragan Simic capacity-dmips-mhz = <485>; 142*296602b8SDragan Simic clocks = <&cru ARMCLKL>; 143*296602b8SDragan Simic #cooling-cells = <2>; /* min followed by max */ 144*296602b8SDragan Simic dynamic-power-coefficient = <100>; 145*296602b8SDragan Simic cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 146*296602b8SDragan Simic i-cache-size = <0x8000>; 147*296602b8SDragan Simic i-cache-line-size = <64>; 148*296602b8SDragan Simic i-cache-sets = <256>; 149*296602b8SDragan Simic d-cache-size = <0x8000>; 150*296602b8SDragan Simic d-cache-line-size = <64>; 151*296602b8SDragan Simic d-cache-sets = <128>; 152*296602b8SDragan Simic next-level-cache = <&l2_cache_l>; 153*296602b8SDragan Simic }; 154*296602b8SDragan Simic 155*296602b8SDragan Simic cpu_b0: cpu@100 { 156*296602b8SDragan Simic device_type = "cpu"; 157*296602b8SDragan Simic compatible = "arm,cortex-a72"; 158*296602b8SDragan Simic reg = <0x0 0x100>; 159*296602b8SDragan Simic enable-method = "psci"; 160*296602b8SDragan Simic capacity-dmips-mhz = <1024>; 161*296602b8SDragan Simic clocks = <&cru ARMCLKB>; 162*296602b8SDragan Simic #cooling-cells = <2>; /* min followed by max */ 163*296602b8SDragan Simic dynamic-power-coefficient = <436>; 164*296602b8SDragan Simic cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 165*296602b8SDragan Simic i-cache-size = <0xC000>; 166*296602b8SDragan Simic i-cache-line-size = <64>; 167*296602b8SDragan Simic i-cache-sets = <256>; 168*296602b8SDragan Simic d-cache-size = <0x8000>; 169*296602b8SDragan Simic d-cache-line-size = <64>; 170*296602b8SDragan Simic d-cache-sets = <256>; 171*296602b8SDragan Simic next-level-cache = <&l2_cache_b>; 172*296602b8SDragan Simic 173*296602b8SDragan Simic thermal-idle { 174*296602b8SDragan Simic #cooling-cells = <2>; 175*296602b8SDragan Simic duration-us = <10000>; 176*296602b8SDragan Simic exit-latency-us = <500>; 177*296602b8SDragan Simic }; 178*296602b8SDragan Simic }; 179*296602b8SDragan Simic 180*296602b8SDragan Simic cpu_b1: cpu@101 { 181*296602b8SDragan Simic device_type = "cpu"; 182*296602b8SDragan Simic compatible = "arm,cortex-a72"; 183*296602b8SDragan Simic reg = <0x0 0x101>; 184*296602b8SDragan Simic enable-method = "psci"; 185*296602b8SDragan Simic capacity-dmips-mhz = <1024>; 186*296602b8SDragan Simic clocks = <&cru ARMCLKB>; 187*296602b8SDragan Simic #cooling-cells = <2>; /* min followed by max */ 188*296602b8SDragan Simic dynamic-power-coefficient = <436>; 189*296602b8SDragan Simic cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 190*296602b8SDragan Simic i-cache-size = <0xC000>; 191*296602b8SDragan Simic i-cache-line-size = <64>; 192*296602b8SDragan Simic i-cache-sets = <256>; 193*296602b8SDragan Simic d-cache-size = <0x8000>; 194*296602b8SDragan Simic d-cache-line-size = <64>; 195*296602b8SDragan Simic d-cache-sets = <256>; 196*296602b8SDragan Simic next-level-cache = <&l2_cache_b>; 197*296602b8SDragan Simic 198*296602b8SDragan Simic thermal-idle { 199*296602b8SDragan Simic #cooling-cells = <2>; 200*296602b8SDragan Simic duration-us = <10000>; 201*296602b8SDragan Simic exit-latency-us = <500>; 202*296602b8SDragan Simic }; 203*296602b8SDragan Simic }; 204*296602b8SDragan Simic 205*296602b8SDragan Simic l2_cache_l: l2-cache-cluster0 { 206*296602b8SDragan Simic compatible = "cache"; 207*296602b8SDragan Simic cache-level = <2>; 208*296602b8SDragan Simic cache-unified; 209*296602b8SDragan Simic cache-size = <0x80000>; 210*296602b8SDragan Simic cache-line-size = <64>; 211*296602b8SDragan Simic cache-sets = <512>; 212*296602b8SDragan Simic }; 213*296602b8SDragan Simic 214*296602b8SDragan Simic l2_cache_b: l2-cache-cluster1 { 215*296602b8SDragan Simic compatible = "cache"; 216*296602b8SDragan Simic cache-level = <2>; 217*296602b8SDragan Simic cache-unified; 218*296602b8SDragan Simic cache-size = <0x100000>; 219*296602b8SDragan Simic cache-line-size = <64>; 220*296602b8SDragan Simic cache-sets = <1024>; 221*296602b8SDragan Simic }; 222*296602b8SDragan Simic 223*296602b8SDragan Simic idle-states { 224*296602b8SDragan Simic entry-method = "psci"; 225*296602b8SDragan Simic 226*296602b8SDragan Simic CPU_SLEEP: cpu-sleep { 227*296602b8SDragan Simic compatible = "arm,idle-state"; 228*296602b8SDragan Simic local-timer-stop; 229*296602b8SDragan Simic arm,psci-suspend-param = <0x0010000>; 230*296602b8SDragan Simic entry-latency-us = <120>; 231*296602b8SDragan Simic exit-latency-us = <250>; 232*296602b8SDragan Simic min-residency-us = <900>; 233*296602b8SDragan Simic }; 234*296602b8SDragan Simic 235*296602b8SDragan Simic CLUSTER_SLEEP: cluster-sleep { 236*296602b8SDragan Simic compatible = "arm,idle-state"; 237*296602b8SDragan Simic local-timer-stop; 238*296602b8SDragan Simic arm,psci-suspend-param = <0x1010000>; 239*296602b8SDragan Simic entry-latency-us = <400>; 240*296602b8SDragan Simic exit-latency-us = <500>; 241*296602b8SDragan Simic min-residency-us = <2000>; 242*296602b8SDragan Simic }; 243*296602b8SDragan Simic }; 244*296602b8SDragan Simic }; 245*296602b8SDragan Simic 246*296602b8SDragan Simic display-subsystem { 247*296602b8SDragan Simic compatible = "rockchip,display-subsystem"; 248*296602b8SDragan Simic ports = <&vopl_out>, <&vopb_out>; 249*296602b8SDragan Simic }; 250*296602b8SDragan Simic 251*296602b8SDragan Simic dmc: memory-controller { 252*296602b8SDragan Simic compatible = "rockchip,rk3399-dmc"; 253*296602b8SDragan Simic rockchip,pmu = <&pmugrf>; 254*296602b8SDragan Simic devfreq-events = <&dfi>; 255*296602b8SDragan Simic clocks = <&cru SCLK_DDRC>; 256*296602b8SDragan Simic clock-names = "dmc_clk"; 257*296602b8SDragan Simic status = "disabled"; 258*296602b8SDragan Simic }; 259*296602b8SDragan Simic 260*296602b8SDragan Simic pmu_a53 { 261*296602b8SDragan Simic compatible = "arm,cortex-a53-pmu"; 262*296602b8SDragan Simic interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>; 263*296602b8SDragan Simic }; 264*296602b8SDragan Simic 265*296602b8SDragan Simic pmu_a72 { 266*296602b8SDragan Simic compatible = "arm,cortex-a72-pmu"; 267*296602b8SDragan Simic interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>; 268*296602b8SDragan Simic }; 269*296602b8SDragan Simic 270*296602b8SDragan Simic psci { 271*296602b8SDragan Simic compatible = "arm,psci-1.0"; 272*296602b8SDragan Simic method = "smc"; 273*296602b8SDragan Simic }; 274*296602b8SDragan Simic 275*296602b8SDragan Simic timer { 276*296602b8SDragan Simic compatible = "arm,armv8-timer"; 277*296602b8SDragan Simic interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>, 278*296602b8SDragan Simic <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>, 279*296602b8SDragan Simic <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>, 280*296602b8SDragan Simic <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>; 281*296602b8SDragan Simic arm,no-tick-in-suspend; 282*296602b8SDragan Simic }; 283*296602b8SDragan Simic 284*296602b8SDragan Simic xin24m: xin24m { 285*296602b8SDragan Simic compatible = "fixed-clock"; 286*296602b8SDragan Simic clock-frequency = <24000000>; 287*296602b8SDragan Simic clock-output-names = "xin24m"; 288*296602b8SDragan Simic #clock-cells = <0>; 289*296602b8SDragan Simic }; 290*296602b8SDragan Simic 291*296602b8SDragan Simic pcie0: pcie@f8000000 { 292*296602b8SDragan Simic compatible = "rockchip,rk3399-pcie"; 293*296602b8SDragan Simic reg = <0x0 0xf8000000 0x0 0x2000000>, 294*296602b8SDragan Simic <0x0 0xfd000000 0x0 0x1000000>; 295*296602b8SDragan Simic reg-names = "axi-base", "apb-base"; 296*296602b8SDragan Simic device_type = "pci"; 297*296602b8SDragan Simic #address-cells = <3>; 298*296602b8SDragan Simic #size-cells = <2>; 299*296602b8SDragan Simic #interrupt-cells = <1>; 300*296602b8SDragan Simic aspm-no-l0s; 301*296602b8SDragan Simic bus-range = <0x0 0x1f>; 302*296602b8SDragan Simic clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>, 303*296602b8SDragan Simic <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>; 304*296602b8SDragan Simic clock-names = "aclk", "aclk-perf", 305*296602b8SDragan Simic "hclk", "pm"; 306*296602b8SDragan Simic interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>, 307*296602b8SDragan Simic <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>, 308*296602b8SDragan Simic <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>; 309*296602b8SDragan Simic interrupt-names = "sys", "legacy", "client"; 310*296602b8SDragan Simic interrupt-map-mask = <0 0 0 7>; 311*296602b8SDragan Simic interrupt-map = <0 0 0 1 &pcie0_intc 0>, 312*296602b8SDragan Simic <0 0 0 2 &pcie0_intc 1>, 313*296602b8SDragan Simic <0 0 0 3 &pcie0_intc 2>, 314*296602b8SDragan Simic <0 0 0 4 &pcie0_intc 3>; 315*296602b8SDragan Simic max-link-speed = <1>; 316*296602b8SDragan Simic msi-map = <0x0 &its 0x0 0x1000>; 317*296602b8SDragan Simic phys = <&pcie_phy 0>, <&pcie_phy 1>, 318*296602b8SDragan Simic <&pcie_phy 2>, <&pcie_phy 3>; 319*296602b8SDragan Simic phy-names = "pcie-phy-0", "pcie-phy-1", 320*296602b8SDragan Simic "pcie-phy-2", "pcie-phy-3"; 321*296602b8SDragan Simic ranges = <0x82000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e00000>, 322*296602b8SDragan Simic <0x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>; 323*296602b8SDragan Simic resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>, 324*296602b8SDragan Simic <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>, 325*296602b8SDragan Simic <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>, 326*296602b8SDragan Simic <&cru SRST_A_PCIE>; 327*296602b8SDragan Simic reset-names = "core", "mgmt", "mgmt-sticky", "pipe", 328*296602b8SDragan Simic "pm", "pclk", "aclk"; 329*296602b8SDragan Simic status = "disabled"; 330*296602b8SDragan Simic 331*296602b8SDragan Simic pcie0_intc: interrupt-controller { 332*296602b8SDragan Simic interrupt-controller; 333*296602b8SDragan Simic #address-cells = <0>; 334*296602b8SDragan Simic #interrupt-cells = <1>; 335*296602b8SDragan Simic }; 336*296602b8SDragan Simic }; 337*296602b8SDragan Simic 338*296602b8SDragan Simic pcie0_ep: pcie-ep@f8000000 { 339*296602b8SDragan Simic compatible = "rockchip,rk3399-pcie-ep"; 340*296602b8SDragan Simic reg = <0x0 0xfd000000 0x0 0x1000000>, 341*296602b8SDragan Simic <0x0 0xfa000000 0x0 0x2000000>; 342*296602b8SDragan Simic reg-names = "apb-base", "mem-base"; 343*296602b8SDragan Simic clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>, 344*296602b8SDragan Simic <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>; 345*296602b8SDragan Simic clock-names = "aclk", "aclk-perf", 346*296602b8SDragan Simic "hclk", "pm"; 347*296602b8SDragan Simic max-functions = /bits/ 8 <8>; 348*296602b8SDragan Simic num-lanes = <4>; 349*296602b8SDragan Simic resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>, 350*296602b8SDragan Simic <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>, 351*296602b8SDragan Simic <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>, 352*296602b8SDragan Simic <&cru SRST_A_PCIE>; 353*296602b8SDragan Simic reset-names = "core", "mgmt", "mgmt-sticky", "pipe", 354*296602b8SDragan Simic "pm", "pclk", "aclk"; 355*296602b8SDragan Simic phys = <&pcie_phy 0>, <&pcie_phy 1>, 356*296602b8SDragan Simic <&pcie_phy 2>, <&pcie_phy 3>; 357*296602b8SDragan Simic phy-names = "pcie-phy-0", "pcie-phy-1", 358*296602b8SDragan Simic "pcie-phy-2", "pcie-phy-3"; 359*296602b8SDragan Simic rockchip,max-outbound-regions = <32>; 360*296602b8SDragan Simic pinctrl-names = "default"; 361*296602b8SDragan Simic pinctrl-0 = <&pcie_clkreqnb_cpm>; 362*296602b8SDragan Simic status = "disabled"; 363*296602b8SDragan Simic }; 364*296602b8SDragan Simic 365*296602b8SDragan Simic gmac: ethernet@fe300000 { 366*296602b8SDragan Simic compatible = "rockchip,rk3399-gmac"; 367*296602b8SDragan Simic reg = <0x0 0xfe300000 0x0 0x10000>; 368*296602b8SDragan Simic interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>; 369*296602b8SDragan Simic interrupt-names = "macirq"; 370*296602b8SDragan Simic clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>, 371*296602b8SDragan Simic <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>, 372*296602b8SDragan Simic <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>, 373*296602b8SDragan Simic <&cru PCLK_GMAC>; 374*296602b8SDragan Simic clock-names = "stmmaceth", "mac_clk_rx", 375*296602b8SDragan Simic "mac_clk_tx", "clk_mac_ref", 376*296602b8SDragan Simic "clk_mac_refout", "aclk_mac", 377*296602b8SDragan Simic "pclk_mac"; 378*296602b8SDragan Simic power-domains = <&power RK3399_PD_GMAC>; 379*296602b8SDragan Simic resets = <&cru SRST_A_GMAC>; 380*296602b8SDragan Simic reset-names = "stmmaceth"; 381*296602b8SDragan Simic rockchip,grf = <&grf>; 382*296602b8SDragan Simic snps,txpbl = <0x4>; 383*296602b8SDragan Simic status = "disabled"; 384*296602b8SDragan Simic }; 385*296602b8SDragan Simic 386*296602b8SDragan Simic sdio0: mmc@fe310000 { 387*296602b8SDragan Simic compatible = "rockchip,rk3399-dw-mshc", 388*296602b8SDragan Simic "rockchip,rk3288-dw-mshc"; 389*296602b8SDragan Simic reg = <0x0 0xfe310000 0x0 0x4000>; 390*296602b8SDragan Simic interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH 0>; 391*296602b8SDragan Simic max-frequency = <150000000>; 392*296602b8SDragan Simic clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 393*296602b8SDragan Simic <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 394*296602b8SDragan Simic clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 395*296602b8SDragan Simic fifo-depth = <0x100>; 396*296602b8SDragan Simic power-domains = <&power RK3399_PD_SDIOAUDIO>; 397*296602b8SDragan Simic resets = <&cru SRST_SDIO0>; 398*296602b8SDragan Simic reset-names = "reset"; 399*296602b8SDragan Simic status = "disabled"; 400*296602b8SDragan Simic }; 401*296602b8SDragan Simic 402*296602b8SDragan Simic sdmmc: mmc@fe320000 { 403*296602b8SDragan Simic compatible = "rockchip,rk3399-dw-mshc", 404*296602b8SDragan Simic "rockchip,rk3288-dw-mshc"; 405*296602b8SDragan Simic reg = <0x0 0xfe320000 0x0 0x4000>; 406*296602b8SDragan Simic interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>; 407*296602b8SDragan Simic max-frequency = <150000000>; 408*296602b8SDragan Simic assigned-clocks = <&cru HCLK_SD>; 409*296602b8SDragan Simic assigned-clock-rates = <200000000>; 410*296602b8SDragan Simic clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 411*296602b8SDragan Simic <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 412*296602b8SDragan Simic clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 413*296602b8SDragan Simic fifo-depth = <0x100>; 414*296602b8SDragan Simic power-domains = <&power RK3399_PD_SD>; 415*296602b8SDragan Simic resets = <&cru SRST_SDMMC>; 416*296602b8SDragan Simic reset-names = "reset"; 417*296602b8SDragan Simic status = "disabled"; 418*296602b8SDragan Simic }; 419*296602b8SDragan Simic 420*296602b8SDragan Simic sdhci: mmc@fe330000 { 421*296602b8SDragan Simic compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1"; 422*296602b8SDragan Simic reg = <0x0 0xfe330000 0x0 0x10000>; 423*296602b8SDragan Simic interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>; 424*296602b8SDragan Simic arasan,soc-ctl-syscon = <&grf>; 425*296602b8SDragan Simic assigned-clocks = <&cru SCLK_EMMC>; 426*296602b8SDragan Simic assigned-clock-rates = <200000000>; 427*296602b8SDragan Simic clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>; 428*296602b8SDragan Simic clock-names = "clk_xin", "clk_ahb"; 429*296602b8SDragan Simic clock-output-names = "emmc_cardclock"; 430*296602b8SDragan Simic #clock-cells = <0>; 431*296602b8SDragan Simic phys = <&emmc_phy>; 432*296602b8SDragan Simic phy-names = "phy_arasan"; 433*296602b8SDragan Simic power-domains = <&power RK3399_PD_EMMC>; 434*296602b8SDragan Simic disable-cqe-dcmd; 435*296602b8SDragan Simic status = "disabled"; 436*296602b8SDragan Simic }; 437*296602b8SDragan Simic 438*296602b8SDragan Simic usb_host0_ehci: usb@fe380000 { 439*296602b8SDragan Simic compatible = "generic-ehci"; 440*296602b8SDragan Simic reg = <0x0 0xfe380000 0x0 0x20000>; 441*296602b8SDragan Simic interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>; 442*296602b8SDragan Simic clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>, 443*296602b8SDragan Simic <&u2phy0>; 444*296602b8SDragan Simic phys = <&u2phy0_host>; 445*296602b8SDragan Simic phy-names = "usb"; 446*296602b8SDragan Simic status = "disabled"; 447*296602b8SDragan Simic }; 448*296602b8SDragan Simic 449*296602b8SDragan Simic usb_host0_ohci: usb@fe3a0000 { 450*296602b8SDragan Simic compatible = "generic-ohci"; 451*296602b8SDragan Simic reg = <0x0 0xfe3a0000 0x0 0x20000>; 452*296602b8SDragan Simic interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>; 453*296602b8SDragan Simic clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>, 454*296602b8SDragan Simic <&u2phy0>; 455*296602b8SDragan Simic phys = <&u2phy0_host>; 456*296602b8SDragan Simic phy-names = "usb"; 457*296602b8SDragan Simic status = "disabled"; 458*296602b8SDragan Simic }; 459*296602b8SDragan Simic 460*296602b8SDragan Simic usb_host1_ehci: usb@fe3c0000 { 461*296602b8SDragan Simic compatible = "generic-ehci"; 462*296602b8SDragan Simic reg = <0x0 0xfe3c0000 0x0 0x20000>; 463*296602b8SDragan Simic interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>; 464*296602b8SDragan Simic clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>, 465*296602b8SDragan Simic <&u2phy1>; 466*296602b8SDragan Simic phys = <&u2phy1_host>; 467*296602b8SDragan Simic phy-names = "usb"; 468*296602b8SDragan Simic status = "disabled"; 469*296602b8SDragan Simic }; 470*296602b8SDragan Simic 471*296602b8SDragan Simic usb_host1_ohci: usb@fe3e0000 { 472*296602b8SDragan Simic compatible = "generic-ohci"; 473*296602b8SDragan Simic reg = <0x0 0xfe3e0000 0x0 0x20000>; 474*296602b8SDragan Simic interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>; 475*296602b8SDragan Simic clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>, 476*296602b8SDragan Simic <&u2phy1>; 477*296602b8SDragan Simic phys = <&u2phy1_host>; 478*296602b8SDragan Simic phy-names = "usb"; 479*296602b8SDragan Simic status = "disabled"; 480*296602b8SDragan Simic }; 481*296602b8SDragan Simic 482*296602b8SDragan Simic debug@fe430000 { 483*296602b8SDragan Simic compatible = "arm,coresight-cpu-debug", "arm,primecell"; 484*296602b8SDragan Simic reg = <0 0xfe430000 0 0x1000>; 485*296602b8SDragan Simic clocks = <&cru PCLK_COREDBG_L>; 486*296602b8SDragan Simic clock-names = "apb_pclk"; 487*296602b8SDragan Simic cpu = <&cpu_l0>; 488*296602b8SDragan Simic }; 489*296602b8SDragan Simic 490*296602b8SDragan Simic debug@fe432000 { 491*296602b8SDragan Simic compatible = "arm,coresight-cpu-debug", "arm,primecell"; 492*296602b8SDragan Simic reg = <0 0xfe432000 0 0x1000>; 493*296602b8SDragan Simic clocks = <&cru PCLK_COREDBG_L>; 494*296602b8SDragan Simic clock-names = "apb_pclk"; 495*296602b8SDragan Simic cpu = <&cpu_l1>; 496*296602b8SDragan Simic }; 497*296602b8SDragan Simic 498*296602b8SDragan Simic debug@fe434000 { 499*296602b8SDragan Simic compatible = "arm,coresight-cpu-debug", "arm,primecell"; 500*296602b8SDragan Simic reg = <0 0xfe434000 0 0x1000>; 501*296602b8SDragan Simic clocks = <&cru PCLK_COREDBG_L>; 502*296602b8SDragan Simic clock-names = "apb_pclk"; 503*296602b8SDragan Simic cpu = <&cpu_l2>; 504*296602b8SDragan Simic }; 505*296602b8SDragan Simic 506*296602b8SDragan Simic debug@fe436000 { 507*296602b8SDragan Simic compatible = "arm,coresight-cpu-debug", "arm,primecell"; 508*296602b8SDragan Simic reg = <0 0xfe436000 0 0x1000>; 509*296602b8SDragan Simic clocks = <&cru PCLK_COREDBG_L>; 510*296602b8SDragan Simic clock-names = "apb_pclk"; 511*296602b8SDragan Simic cpu = <&cpu_l3>; 512*296602b8SDragan Simic }; 513*296602b8SDragan Simic 514*296602b8SDragan Simic debug@fe610000 { 515*296602b8SDragan Simic compatible = "arm,coresight-cpu-debug", "arm,primecell"; 516*296602b8SDragan Simic reg = <0 0xfe610000 0 0x1000>; 517*296602b8SDragan Simic clocks = <&cru PCLK_COREDBG_B>; 518*296602b8SDragan Simic clock-names = "apb_pclk"; 519*296602b8SDragan Simic cpu = <&cpu_b0>; 520*296602b8SDragan Simic }; 521*296602b8SDragan Simic 522*296602b8SDragan Simic debug@fe710000 { 523*296602b8SDragan Simic compatible = "arm,coresight-cpu-debug", "arm,primecell"; 524*296602b8SDragan Simic reg = <0 0xfe710000 0 0x1000>; 525*296602b8SDragan Simic clocks = <&cru PCLK_COREDBG_B>; 526*296602b8SDragan Simic clock-names = "apb_pclk"; 527*296602b8SDragan Simic cpu = <&cpu_b1>; 528*296602b8SDragan Simic }; 529*296602b8SDragan Simic 530*296602b8SDragan Simic usbdrd3_0: usb@fe800000 { 531*296602b8SDragan Simic compatible = "rockchip,rk3399-dwc3"; 532*296602b8SDragan Simic #address-cells = <2>; 533*296602b8SDragan Simic #size-cells = <2>; 534*296602b8SDragan Simic ranges; 535*296602b8SDragan Simic clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>, 536*296602b8SDragan Simic <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_RKSOC_AXI_PERF>, 537*296602b8SDragan Simic <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>; 538*296602b8SDragan Simic clock-names = "ref_clk", "suspend_clk", 539*296602b8SDragan Simic "bus_clk", "aclk_usb3_rksoc_axi_perf", 540*296602b8SDragan Simic "aclk_usb3", "grf_clk"; 541*296602b8SDragan Simic resets = <&cru SRST_A_USB3_OTG0>; 542*296602b8SDragan Simic reset-names = "usb3-otg"; 543*296602b8SDragan Simic status = "disabled"; 544*296602b8SDragan Simic 545*296602b8SDragan Simic usbdrd_dwc3_0: usb@fe800000 { 546*296602b8SDragan Simic compatible = "snps,dwc3"; 547*296602b8SDragan Simic reg = <0x0 0xfe800000 0x0 0x100000>; 548*296602b8SDragan Simic interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>; 549*296602b8SDragan Simic clocks = <&cru SCLK_USB3OTG0_REF>, <&cru ACLK_USB3OTG0>, 550*296602b8SDragan Simic <&cru SCLK_USB3OTG0_SUSPEND>; 551*296602b8SDragan Simic clock-names = "ref", "bus_early", "suspend"; 552*296602b8SDragan Simic dr_mode = "otg"; 553*296602b8SDragan Simic phys = <&u2phy0_otg>, <&tcphy0_usb3>; 554*296602b8SDragan Simic phy-names = "usb2-phy", "usb3-phy"; 555*296602b8SDragan Simic phy_type = "utmi_wide"; 556*296602b8SDragan Simic snps,dis_enblslpm_quirk; 557*296602b8SDragan Simic snps,dis-u2-freeclk-exists-quirk; 558*296602b8SDragan Simic snps,dis_u2_susphy_quirk; 559*296602b8SDragan Simic snps,dis-del-phy-power-chg-quirk; 560*296602b8SDragan Simic snps,dis-tx-ipgap-linecheck-quirk; 561*296602b8SDragan Simic power-domains = <&power RK3399_PD_USB3>; 562*296602b8SDragan Simic status = "disabled"; 563*296602b8SDragan Simic }; 564*296602b8SDragan Simic }; 565*296602b8SDragan Simic 566*296602b8SDragan Simic usbdrd3_1: usb@fe900000 { 567*296602b8SDragan Simic compatible = "rockchip,rk3399-dwc3"; 568*296602b8SDragan Simic #address-cells = <2>; 569*296602b8SDragan Simic #size-cells = <2>; 570*296602b8SDragan Simic ranges; 571*296602b8SDragan Simic clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>, 572*296602b8SDragan Simic <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_RKSOC_AXI_PERF>, 573*296602b8SDragan Simic <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>; 574*296602b8SDragan Simic clock-names = "ref_clk", "suspend_clk", 575*296602b8SDragan Simic "bus_clk", "aclk_usb3_rksoc_axi_perf", 576*296602b8SDragan Simic "aclk_usb3", "grf_clk"; 577*296602b8SDragan Simic resets = <&cru SRST_A_USB3_OTG1>; 578*296602b8SDragan Simic reset-names = "usb3-otg"; 579*296602b8SDragan Simic status = "disabled"; 580*296602b8SDragan Simic 581*296602b8SDragan Simic usbdrd_dwc3_1: usb@fe900000 { 582*296602b8SDragan Simic compatible = "snps,dwc3"; 583*296602b8SDragan Simic reg = <0x0 0xfe900000 0x0 0x100000>; 584*296602b8SDragan Simic interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>; 585*296602b8SDragan Simic clocks = <&cru SCLK_USB3OTG1_REF>, <&cru ACLK_USB3OTG1>, 586*296602b8SDragan Simic <&cru SCLK_USB3OTG1_SUSPEND>; 587*296602b8SDragan Simic clock-names = "ref", "bus_early", "suspend"; 588*296602b8SDragan Simic dr_mode = "otg"; 589*296602b8SDragan Simic phys = <&u2phy1_otg>, <&tcphy1_usb3>; 590*296602b8SDragan Simic phy-names = "usb2-phy", "usb3-phy"; 591*296602b8SDragan Simic phy_type = "utmi_wide"; 592*296602b8SDragan Simic snps,dis_enblslpm_quirk; 593*296602b8SDragan Simic snps,dis-u2-freeclk-exists-quirk; 594*296602b8SDragan Simic snps,dis_u2_susphy_quirk; 595*296602b8SDragan Simic snps,dis-del-phy-power-chg-quirk; 596*296602b8SDragan Simic snps,dis-tx-ipgap-linecheck-quirk; 597*296602b8SDragan Simic power-domains = <&power RK3399_PD_USB3>; 598*296602b8SDragan Simic status = "disabled"; 599*296602b8SDragan Simic }; 600*296602b8SDragan Simic }; 601*296602b8SDragan Simic 602*296602b8SDragan Simic cdn_dp: dp@fec00000 { 603*296602b8SDragan Simic compatible = "rockchip,rk3399-cdn-dp"; 604*296602b8SDragan Simic reg = <0x0 0xfec00000 0x0 0x100000>; 605*296602b8SDragan Simic interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 606*296602b8SDragan Simic assigned-clocks = <&cru SCLK_DP_CORE>, <&cru SCLK_SPDIF_REC_DPTX>; 607*296602b8SDragan Simic assigned-clock-rates = <100000000>, <200000000>; 608*296602b8SDragan Simic clocks = <&cru SCLK_DP_CORE>, <&cru PCLK_DP_CTRL>, 609*296602b8SDragan Simic <&cru SCLK_SPDIF_REC_DPTX>, <&cru PCLK_VIO_GRF>; 610*296602b8SDragan Simic clock-names = "core-clk", "pclk", "spdif", "grf"; 611*296602b8SDragan Simic phys = <&tcphy0_dp>, <&tcphy1_dp>; 612*296602b8SDragan Simic power-domains = <&power RK3399_PD_HDCP>; 613*296602b8SDragan Simic resets = <&cru SRST_DPTX_SPDIF_REC>, <&cru SRST_P_UPHY0_DPTX>, 614*296602b8SDragan Simic <&cru SRST_P_UPHY0_APB>, <&cru SRST_DP_CORE>; 615*296602b8SDragan Simic reset-names = "spdif", "dptx", "apb", "core"; 616*296602b8SDragan Simic rockchip,grf = <&grf>; 617*296602b8SDragan Simic #sound-dai-cells = <1>; 618*296602b8SDragan Simic status = "disabled"; 619*296602b8SDragan Simic 620*296602b8SDragan Simic ports { 621*296602b8SDragan Simic dp_in: port { 622*296602b8SDragan Simic #address-cells = <1>; 623*296602b8SDragan Simic #size-cells = <0>; 624*296602b8SDragan Simic 625*296602b8SDragan Simic dp_in_vopb: endpoint@0 { 626*296602b8SDragan Simic reg = <0>; 627*296602b8SDragan Simic remote-endpoint = <&vopb_out_dp>; 628*296602b8SDragan Simic }; 629*296602b8SDragan Simic 630*296602b8SDragan Simic dp_in_vopl: endpoint@1 { 631*296602b8SDragan Simic reg = <1>; 632*296602b8SDragan Simic remote-endpoint = <&vopl_out_dp>; 633*296602b8SDragan Simic }; 634*296602b8SDragan Simic }; 635*296602b8SDragan Simic }; 636*296602b8SDragan Simic }; 637*296602b8SDragan Simic 638*296602b8SDragan Simic gic: interrupt-controller@fee00000 { 639*296602b8SDragan Simic compatible = "arm,gic-v3"; 640*296602b8SDragan Simic #interrupt-cells = <4>; 641*296602b8SDragan Simic #address-cells = <2>; 642*296602b8SDragan Simic #size-cells = <2>; 643*296602b8SDragan Simic ranges; 644*296602b8SDragan Simic interrupt-controller; 645*296602b8SDragan Simic 646*296602b8SDragan Simic reg = <0x0 0xfee00000 0 0x10000>, /* GICD */ 647*296602b8SDragan Simic <0x0 0xfef00000 0 0xc0000>, /* GICR */ 648*296602b8SDragan Simic <0x0 0xfff00000 0 0x10000>, /* GICC */ 649*296602b8SDragan Simic <0x0 0xfff10000 0 0x10000>, /* GICH */ 650*296602b8SDragan Simic <0x0 0xfff20000 0 0x10000>; /* GICV */ 651*296602b8SDragan Simic interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 652*296602b8SDragan Simic its: msi-controller@fee20000 { 653*296602b8SDragan Simic compatible = "arm,gic-v3-its"; 654*296602b8SDragan Simic msi-controller; 655*296602b8SDragan Simic #msi-cells = <1>; 656*296602b8SDragan Simic reg = <0x0 0xfee20000 0x0 0x20000>; 657*296602b8SDragan Simic }; 658*296602b8SDragan Simic 659*296602b8SDragan Simic ppi-partitions { 660*296602b8SDragan Simic ppi_cluster0: interrupt-partition-0 { 661*296602b8SDragan Simic affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>; 662*296602b8SDragan Simic }; 663*296602b8SDragan Simic 664*296602b8SDragan Simic ppi_cluster1: interrupt-partition-1 { 665*296602b8SDragan Simic affinity = <&cpu_b0 &cpu_b1>; 666*296602b8SDragan Simic }; 667*296602b8SDragan Simic }; 668*296602b8SDragan Simic }; 669*296602b8SDragan Simic 670*296602b8SDragan Simic saradc: saradc@ff100000 { 671*296602b8SDragan Simic compatible = "rockchip,rk3399-saradc"; 672*296602b8SDragan Simic reg = <0x0 0xff100000 0x0 0x100>; 673*296602b8SDragan Simic interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH 0>; 674*296602b8SDragan Simic #io-channel-cells = <1>; 675*296602b8SDragan Simic clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 676*296602b8SDragan Simic clock-names = "saradc", "apb_pclk"; 677*296602b8SDragan Simic resets = <&cru SRST_P_SARADC>; 678*296602b8SDragan Simic reset-names = "saradc-apb"; 679*296602b8SDragan Simic status = "disabled"; 680*296602b8SDragan Simic }; 681*296602b8SDragan Simic 682*296602b8SDragan Simic crypto0: crypto@ff8b0000 { 683*296602b8SDragan Simic compatible = "rockchip,rk3399-crypto"; 684*296602b8SDragan Simic reg = <0x0 0xff8b0000 0x0 0x4000>; 685*296602b8SDragan Simic interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH 0>; 686*296602b8SDragan Simic clocks = <&cru HCLK_M_CRYPTO0>, <&cru HCLK_S_CRYPTO0>, <&cru SCLK_CRYPTO0>; 687*296602b8SDragan Simic clock-names = "hclk_master", "hclk_slave", "sclk"; 688*296602b8SDragan Simic resets = <&cru SRST_CRYPTO0>, <&cru SRST_CRYPTO0_S>, <&cru SRST_CRYPTO0_M>; 689*296602b8SDragan Simic reset-names = "master", "slave", "crypto-rst"; 690*296602b8SDragan Simic }; 691*296602b8SDragan Simic 692*296602b8SDragan Simic crypto1: crypto@ff8b8000 { 693*296602b8SDragan Simic compatible = "rockchip,rk3399-crypto"; 694*296602b8SDragan Simic reg = <0x0 0xff8b8000 0x0 0x4000>; 695*296602b8SDragan Simic interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>; 696*296602b8SDragan Simic clocks = <&cru HCLK_M_CRYPTO1>, <&cru HCLK_S_CRYPTO1>, <&cru SCLK_CRYPTO1>; 697*296602b8SDragan Simic clock-names = "hclk_master", "hclk_slave", "sclk"; 698*296602b8SDragan Simic resets = <&cru SRST_CRYPTO1>, <&cru SRST_CRYPTO1_S>, <&cru SRST_CRYPTO1_M>; 699*296602b8SDragan Simic reset-names = "master", "slave", "crypto-rst"; 700*296602b8SDragan Simic }; 701*296602b8SDragan Simic 702*296602b8SDragan Simic i2c1: i2c@ff110000 { 703*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 704*296602b8SDragan Simic reg = <0x0 0xff110000 0x0 0x1000>; 705*296602b8SDragan Simic assigned-clocks = <&cru SCLK_I2C1>; 706*296602b8SDragan Simic assigned-clock-rates = <200000000>; 707*296602b8SDragan Simic clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 708*296602b8SDragan Simic clock-names = "i2c", "pclk"; 709*296602b8SDragan Simic interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 0>; 710*296602b8SDragan Simic pinctrl-names = "default"; 711*296602b8SDragan Simic pinctrl-0 = <&i2c1_xfer>; 712*296602b8SDragan Simic #address-cells = <1>; 713*296602b8SDragan Simic #size-cells = <0>; 714*296602b8SDragan Simic status = "disabled"; 715*296602b8SDragan Simic }; 716*296602b8SDragan Simic 717*296602b8SDragan Simic i2c2: i2c@ff120000 { 718*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 719*296602b8SDragan Simic reg = <0x0 0xff120000 0x0 0x1000>; 720*296602b8SDragan Simic assigned-clocks = <&cru SCLK_I2C2>; 721*296602b8SDragan Simic assigned-clock-rates = <200000000>; 722*296602b8SDragan Simic clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 723*296602b8SDragan Simic clock-names = "i2c", "pclk"; 724*296602b8SDragan Simic interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH 0>; 725*296602b8SDragan Simic pinctrl-names = "default"; 726*296602b8SDragan Simic pinctrl-0 = <&i2c2_xfer>; 727*296602b8SDragan Simic #address-cells = <1>; 728*296602b8SDragan Simic #size-cells = <0>; 729*296602b8SDragan Simic status = "disabled"; 730*296602b8SDragan Simic }; 731*296602b8SDragan Simic 732*296602b8SDragan Simic i2c3: i2c@ff130000 { 733*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 734*296602b8SDragan Simic reg = <0x0 0xff130000 0x0 0x1000>; 735*296602b8SDragan Simic assigned-clocks = <&cru SCLK_I2C3>; 736*296602b8SDragan Simic assigned-clock-rates = <200000000>; 737*296602b8SDragan Simic clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 738*296602b8SDragan Simic clock-names = "i2c", "pclk"; 739*296602b8SDragan Simic interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH 0>; 740*296602b8SDragan Simic pinctrl-names = "default"; 741*296602b8SDragan Simic pinctrl-0 = <&i2c3_xfer>; 742*296602b8SDragan Simic #address-cells = <1>; 743*296602b8SDragan Simic #size-cells = <0>; 744*296602b8SDragan Simic status = "disabled"; 745*296602b8SDragan Simic }; 746*296602b8SDragan Simic 747*296602b8SDragan Simic i2c5: i2c@ff140000 { 748*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 749*296602b8SDragan Simic reg = <0x0 0xff140000 0x0 0x1000>; 750*296602b8SDragan Simic assigned-clocks = <&cru SCLK_I2C5>; 751*296602b8SDragan Simic assigned-clock-rates = <200000000>; 752*296602b8SDragan Simic clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>; 753*296602b8SDragan Simic clock-names = "i2c", "pclk"; 754*296602b8SDragan Simic interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>; 755*296602b8SDragan Simic pinctrl-names = "default"; 756*296602b8SDragan Simic pinctrl-0 = <&i2c5_xfer>; 757*296602b8SDragan Simic #address-cells = <1>; 758*296602b8SDragan Simic #size-cells = <0>; 759*296602b8SDragan Simic status = "disabled"; 760*296602b8SDragan Simic }; 761*296602b8SDragan Simic 762*296602b8SDragan Simic i2c6: i2c@ff150000 { 763*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 764*296602b8SDragan Simic reg = <0x0 0xff150000 0x0 0x1000>; 765*296602b8SDragan Simic assigned-clocks = <&cru SCLK_I2C6>; 766*296602b8SDragan Simic assigned-clock-rates = <200000000>; 767*296602b8SDragan Simic clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>; 768*296602b8SDragan Simic clock-names = "i2c", "pclk"; 769*296602b8SDragan Simic interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH 0>; 770*296602b8SDragan Simic pinctrl-names = "default"; 771*296602b8SDragan Simic pinctrl-0 = <&i2c6_xfer>; 772*296602b8SDragan Simic #address-cells = <1>; 773*296602b8SDragan Simic #size-cells = <0>; 774*296602b8SDragan Simic status = "disabled"; 775*296602b8SDragan Simic }; 776*296602b8SDragan Simic 777*296602b8SDragan Simic i2c7: i2c@ff160000 { 778*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 779*296602b8SDragan Simic reg = <0x0 0xff160000 0x0 0x1000>; 780*296602b8SDragan Simic assigned-clocks = <&cru SCLK_I2C7>; 781*296602b8SDragan Simic assigned-clock-rates = <200000000>; 782*296602b8SDragan Simic clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>; 783*296602b8SDragan Simic clock-names = "i2c", "pclk"; 784*296602b8SDragan Simic interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>; 785*296602b8SDragan Simic pinctrl-names = "default"; 786*296602b8SDragan Simic pinctrl-0 = <&i2c7_xfer>; 787*296602b8SDragan Simic #address-cells = <1>; 788*296602b8SDragan Simic #size-cells = <0>; 789*296602b8SDragan Simic status = "disabled"; 790*296602b8SDragan Simic }; 791*296602b8SDragan Simic 792*296602b8SDragan Simic uart0: serial@ff180000 { 793*296602b8SDragan Simic compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 794*296602b8SDragan Simic reg = <0x0 0xff180000 0x0 0x100>; 795*296602b8SDragan Simic clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 796*296602b8SDragan Simic clock-names = "baudclk", "apb_pclk"; 797*296602b8SDragan Simic interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>; 798*296602b8SDragan Simic reg-shift = <2>; 799*296602b8SDragan Simic reg-io-width = <4>; 800*296602b8SDragan Simic pinctrl-names = "default"; 801*296602b8SDragan Simic pinctrl-0 = <&uart0_xfer>; 802*296602b8SDragan Simic status = "disabled"; 803*296602b8SDragan Simic }; 804*296602b8SDragan Simic 805*296602b8SDragan Simic uart1: serial@ff190000 { 806*296602b8SDragan Simic compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 807*296602b8SDragan Simic reg = <0x0 0xff190000 0x0 0x100>; 808*296602b8SDragan Simic clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 809*296602b8SDragan Simic clock-names = "baudclk", "apb_pclk"; 810*296602b8SDragan Simic interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>; 811*296602b8SDragan Simic reg-shift = <2>; 812*296602b8SDragan Simic reg-io-width = <4>; 813*296602b8SDragan Simic pinctrl-names = "default"; 814*296602b8SDragan Simic pinctrl-0 = <&uart1_xfer>; 815*296602b8SDragan Simic status = "disabled"; 816*296602b8SDragan Simic }; 817*296602b8SDragan Simic 818*296602b8SDragan Simic uart2: serial@ff1a0000 { 819*296602b8SDragan Simic compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 820*296602b8SDragan Simic reg = <0x0 0xff1a0000 0x0 0x100>; 821*296602b8SDragan Simic clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 822*296602b8SDragan Simic clock-names = "baudclk", "apb_pclk"; 823*296602b8SDragan Simic interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>; 824*296602b8SDragan Simic reg-shift = <2>; 825*296602b8SDragan Simic reg-io-width = <4>; 826*296602b8SDragan Simic pinctrl-names = "default"; 827*296602b8SDragan Simic pinctrl-0 = <&uart2c_xfer>; 828*296602b8SDragan Simic status = "disabled"; 829*296602b8SDragan Simic }; 830*296602b8SDragan Simic 831*296602b8SDragan Simic uart3: serial@ff1b0000 { 832*296602b8SDragan Simic compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 833*296602b8SDragan Simic reg = <0x0 0xff1b0000 0x0 0x100>; 834*296602b8SDragan Simic clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 835*296602b8SDragan Simic clock-names = "baudclk", "apb_pclk"; 836*296602b8SDragan Simic interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>; 837*296602b8SDragan Simic reg-shift = <2>; 838*296602b8SDragan Simic reg-io-width = <4>; 839*296602b8SDragan Simic pinctrl-names = "default"; 840*296602b8SDragan Simic pinctrl-0 = <&uart3_xfer>; 841*296602b8SDragan Simic status = "disabled"; 842*296602b8SDragan Simic }; 843*296602b8SDragan Simic 844*296602b8SDragan Simic spi0: spi@ff1c0000 { 845*296602b8SDragan Simic compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 846*296602b8SDragan Simic reg = <0x0 0xff1c0000 0x0 0x1000>; 847*296602b8SDragan Simic clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 848*296602b8SDragan Simic clock-names = "spiclk", "apb_pclk"; 849*296602b8SDragan Simic interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH 0>; 850*296602b8SDragan Simic dmas = <&dmac_peri 10>, <&dmac_peri 11>; 851*296602b8SDragan Simic dma-names = "tx", "rx"; 852*296602b8SDragan Simic pinctrl-names = "default"; 853*296602b8SDragan Simic pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; 854*296602b8SDragan Simic #address-cells = <1>; 855*296602b8SDragan Simic #size-cells = <0>; 856*296602b8SDragan Simic status = "disabled"; 857*296602b8SDragan Simic }; 858*296602b8SDragan Simic 859*296602b8SDragan Simic spi1: spi@ff1d0000 { 860*296602b8SDragan Simic compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 861*296602b8SDragan Simic reg = <0x0 0xff1d0000 0x0 0x1000>; 862*296602b8SDragan Simic clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; 863*296602b8SDragan Simic clock-names = "spiclk", "apb_pclk"; 864*296602b8SDragan Simic interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>; 865*296602b8SDragan Simic dmas = <&dmac_peri 12>, <&dmac_peri 13>; 866*296602b8SDragan Simic dma-names = "tx", "rx"; 867*296602b8SDragan Simic pinctrl-names = "default"; 868*296602b8SDragan Simic pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; 869*296602b8SDragan Simic #address-cells = <1>; 870*296602b8SDragan Simic #size-cells = <0>; 871*296602b8SDragan Simic status = "disabled"; 872*296602b8SDragan Simic }; 873*296602b8SDragan Simic 874*296602b8SDragan Simic spi2: spi@ff1e0000 { 875*296602b8SDragan Simic compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 876*296602b8SDragan Simic reg = <0x0 0xff1e0000 0x0 0x1000>; 877*296602b8SDragan Simic clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; 878*296602b8SDragan Simic clock-names = "spiclk", "apb_pclk"; 879*296602b8SDragan Simic interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>; 880*296602b8SDragan Simic dmas = <&dmac_peri 14>, <&dmac_peri 15>; 881*296602b8SDragan Simic dma-names = "tx", "rx"; 882*296602b8SDragan Simic pinctrl-names = "default"; 883*296602b8SDragan Simic pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; 884*296602b8SDragan Simic #address-cells = <1>; 885*296602b8SDragan Simic #size-cells = <0>; 886*296602b8SDragan Simic status = "disabled"; 887*296602b8SDragan Simic }; 888*296602b8SDragan Simic 889*296602b8SDragan Simic spi4: spi@ff1f0000 { 890*296602b8SDragan Simic compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 891*296602b8SDragan Simic reg = <0x0 0xff1f0000 0x0 0x1000>; 892*296602b8SDragan Simic clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>; 893*296602b8SDragan Simic clock-names = "spiclk", "apb_pclk"; 894*296602b8SDragan Simic interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH 0>; 895*296602b8SDragan Simic dmas = <&dmac_peri 18>, <&dmac_peri 19>; 896*296602b8SDragan Simic dma-names = "tx", "rx"; 897*296602b8SDragan Simic pinctrl-names = "default"; 898*296602b8SDragan Simic pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>; 899*296602b8SDragan Simic #address-cells = <1>; 900*296602b8SDragan Simic #size-cells = <0>; 901*296602b8SDragan Simic status = "disabled"; 902*296602b8SDragan Simic }; 903*296602b8SDragan Simic 904*296602b8SDragan Simic spi5: spi@ff200000 { 905*296602b8SDragan Simic compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 906*296602b8SDragan Simic reg = <0x0 0xff200000 0x0 0x1000>; 907*296602b8SDragan Simic clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>; 908*296602b8SDragan Simic clock-names = "spiclk", "apb_pclk"; 909*296602b8SDragan Simic interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH 0>; 910*296602b8SDragan Simic dmas = <&dmac_bus 8>, <&dmac_bus 9>; 911*296602b8SDragan Simic dma-names = "tx", "rx"; 912*296602b8SDragan Simic pinctrl-names = "default"; 913*296602b8SDragan Simic pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>; 914*296602b8SDragan Simic power-domains = <&power RK3399_PD_SDIOAUDIO>; 915*296602b8SDragan Simic #address-cells = <1>; 916*296602b8SDragan Simic #size-cells = <0>; 917*296602b8SDragan Simic status = "disabled"; 918*296602b8SDragan Simic }; 919*296602b8SDragan Simic 920*296602b8SDragan Simic thermal_zones: thermal-zones { 921*296602b8SDragan Simic cpu_thermal: cpu-thermal { 922*296602b8SDragan Simic polling-delay-passive = <100>; 923*296602b8SDragan Simic polling-delay = <1000>; 924*296602b8SDragan Simic 925*296602b8SDragan Simic thermal-sensors = <&tsadc 0>; 926*296602b8SDragan Simic 927*296602b8SDragan Simic trips { 928*296602b8SDragan Simic cpu_alert0: cpu_alert0 { 929*296602b8SDragan Simic temperature = <70000>; 930*296602b8SDragan Simic hysteresis = <2000>; 931*296602b8SDragan Simic type = "passive"; 932*296602b8SDragan Simic }; 933*296602b8SDragan Simic cpu_alert1: cpu_alert1 { 934*296602b8SDragan Simic temperature = <75000>; 935*296602b8SDragan Simic hysteresis = <2000>; 936*296602b8SDragan Simic type = "passive"; 937*296602b8SDragan Simic }; 938*296602b8SDragan Simic cpu_crit: cpu_crit { 939*296602b8SDragan Simic temperature = <95000>; 940*296602b8SDragan Simic hysteresis = <2000>; 941*296602b8SDragan Simic type = "critical"; 942*296602b8SDragan Simic }; 943*296602b8SDragan Simic }; 944*296602b8SDragan Simic 945*296602b8SDragan Simic cooling-maps { 946*296602b8SDragan Simic map0 { 947*296602b8SDragan Simic trip = <&cpu_alert0>; 948*296602b8SDragan Simic cooling-device = 949*296602b8SDragan Simic <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 950*296602b8SDragan Simic <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 951*296602b8SDragan Simic }; 952*296602b8SDragan Simic map1 { 953*296602b8SDragan Simic trip = <&cpu_alert1>; 954*296602b8SDragan Simic cooling-device = 955*296602b8SDragan Simic <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 956*296602b8SDragan Simic <&cpu_l1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 957*296602b8SDragan Simic <&cpu_l2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 958*296602b8SDragan Simic <&cpu_l3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 959*296602b8SDragan Simic <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 960*296602b8SDragan Simic <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 961*296602b8SDragan Simic }; 962*296602b8SDragan Simic }; 963*296602b8SDragan Simic }; 964*296602b8SDragan Simic 965*296602b8SDragan Simic gpu_thermal: gpu-thermal { 966*296602b8SDragan Simic polling-delay-passive = <100>; 967*296602b8SDragan Simic polling-delay = <1000>; 968*296602b8SDragan Simic 969*296602b8SDragan Simic thermal-sensors = <&tsadc 1>; 970*296602b8SDragan Simic 971*296602b8SDragan Simic trips { 972*296602b8SDragan Simic gpu_alert0: gpu_alert0 { 973*296602b8SDragan Simic temperature = <75000>; 974*296602b8SDragan Simic hysteresis = <2000>; 975*296602b8SDragan Simic type = "passive"; 976*296602b8SDragan Simic }; 977*296602b8SDragan Simic gpu_crit: gpu_crit { 978*296602b8SDragan Simic temperature = <95000>; 979*296602b8SDragan Simic hysteresis = <2000>; 980*296602b8SDragan Simic type = "critical"; 981*296602b8SDragan Simic }; 982*296602b8SDragan Simic }; 983*296602b8SDragan Simic 984*296602b8SDragan Simic cooling-maps { 985*296602b8SDragan Simic map0 { 986*296602b8SDragan Simic trip = <&gpu_alert0>; 987*296602b8SDragan Simic cooling-device = 988*296602b8SDragan Simic <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 989*296602b8SDragan Simic }; 990*296602b8SDragan Simic }; 991*296602b8SDragan Simic }; 992*296602b8SDragan Simic }; 993*296602b8SDragan Simic 994*296602b8SDragan Simic tsadc: tsadc@ff260000 { 995*296602b8SDragan Simic compatible = "rockchip,rk3399-tsadc"; 996*296602b8SDragan Simic reg = <0x0 0xff260000 0x0 0x100>; 997*296602b8SDragan Simic interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>; 998*296602b8SDragan Simic assigned-clocks = <&cru SCLK_TSADC>; 999*296602b8SDragan Simic assigned-clock-rates = <750000>; 1000*296602b8SDragan Simic clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 1001*296602b8SDragan Simic clock-names = "tsadc", "apb_pclk"; 1002*296602b8SDragan Simic resets = <&cru SRST_TSADC>; 1003*296602b8SDragan Simic reset-names = "tsadc-apb"; 1004*296602b8SDragan Simic rockchip,grf = <&grf>; 1005*296602b8SDragan Simic rockchip,hw-tshut-temp = <95000>; 1006*296602b8SDragan Simic pinctrl-names = "init", "default", "sleep"; 1007*296602b8SDragan Simic pinctrl-0 = <&otp_pin>; 1008*296602b8SDragan Simic pinctrl-1 = <&otp_out>; 1009*296602b8SDragan Simic pinctrl-2 = <&otp_pin>; 1010*296602b8SDragan Simic #thermal-sensor-cells = <1>; 1011*296602b8SDragan Simic status = "disabled"; 1012*296602b8SDragan Simic }; 1013*296602b8SDragan Simic 1014*296602b8SDragan Simic qos_emmc: qos@ffa58000 { 1015*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1016*296602b8SDragan Simic reg = <0x0 0xffa58000 0x0 0x20>; 1017*296602b8SDragan Simic }; 1018*296602b8SDragan Simic 1019*296602b8SDragan Simic qos_gmac: qos@ffa5c000 { 1020*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1021*296602b8SDragan Simic reg = <0x0 0xffa5c000 0x0 0x20>; 1022*296602b8SDragan Simic }; 1023*296602b8SDragan Simic 1024*296602b8SDragan Simic qos_pcie: qos@ffa60080 { 1025*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1026*296602b8SDragan Simic reg = <0x0 0xffa60080 0x0 0x20>; 1027*296602b8SDragan Simic }; 1028*296602b8SDragan Simic 1029*296602b8SDragan Simic qos_usb_host0: qos@ffa60100 { 1030*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1031*296602b8SDragan Simic reg = <0x0 0xffa60100 0x0 0x20>; 1032*296602b8SDragan Simic }; 1033*296602b8SDragan Simic 1034*296602b8SDragan Simic qos_usb_host1: qos@ffa60180 { 1035*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1036*296602b8SDragan Simic reg = <0x0 0xffa60180 0x0 0x20>; 1037*296602b8SDragan Simic }; 1038*296602b8SDragan Simic 1039*296602b8SDragan Simic qos_usb_otg0: qos@ffa70000 { 1040*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1041*296602b8SDragan Simic reg = <0x0 0xffa70000 0x0 0x20>; 1042*296602b8SDragan Simic }; 1043*296602b8SDragan Simic 1044*296602b8SDragan Simic qos_usb_otg1: qos@ffa70080 { 1045*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1046*296602b8SDragan Simic reg = <0x0 0xffa70080 0x0 0x20>; 1047*296602b8SDragan Simic }; 1048*296602b8SDragan Simic 1049*296602b8SDragan Simic qos_sd: qos@ffa74000 { 1050*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1051*296602b8SDragan Simic reg = <0x0 0xffa74000 0x0 0x20>; 1052*296602b8SDragan Simic }; 1053*296602b8SDragan Simic 1054*296602b8SDragan Simic qos_sdioaudio: qos@ffa76000 { 1055*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1056*296602b8SDragan Simic reg = <0x0 0xffa76000 0x0 0x20>; 1057*296602b8SDragan Simic }; 1058*296602b8SDragan Simic 1059*296602b8SDragan Simic qos_hdcp: qos@ffa90000 { 1060*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1061*296602b8SDragan Simic reg = <0x0 0xffa90000 0x0 0x20>; 1062*296602b8SDragan Simic }; 1063*296602b8SDragan Simic 1064*296602b8SDragan Simic qos_iep: qos@ffa98000 { 1065*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1066*296602b8SDragan Simic reg = <0x0 0xffa98000 0x0 0x20>; 1067*296602b8SDragan Simic }; 1068*296602b8SDragan Simic 1069*296602b8SDragan Simic qos_isp0_m0: qos@ffaa0000 { 1070*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1071*296602b8SDragan Simic reg = <0x0 0xffaa0000 0x0 0x20>; 1072*296602b8SDragan Simic }; 1073*296602b8SDragan Simic 1074*296602b8SDragan Simic qos_isp0_m1: qos@ffaa0080 { 1075*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1076*296602b8SDragan Simic reg = <0x0 0xffaa0080 0x0 0x20>; 1077*296602b8SDragan Simic }; 1078*296602b8SDragan Simic 1079*296602b8SDragan Simic qos_isp1_m0: qos@ffaa8000 { 1080*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1081*296602b8SDragan Simic reg = <0x0 0xffaa8000 0x0 0x20>; 1082*296602b8SDragan Simic }; 1083*296602b8SDragan Simic 1084*296602b8SDragan Simic qos_isp1_m1: qos@ffaa8080 { 1085*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1086*296602b8SDragan Simic reg = <0x0 0xffaa8080 0x0 0x20>; 1087*296602b8SDragan Simic }; 1088*296602b8SDragan Simic 1089*296602b8SDragan Simic qos_rga_r: qos@ffab0000 { 1090*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1091*296602b8SDragan Simic reg = <0x0 0xffab0000 0x0 0x20>; 1092*296602b8SDragan Simic }; 1093*296602b8SDragan Simic 1094*296602b8SDragan Simic qos_rga_w: qos@ffab0080 { 1095*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1096*296602b8SDragan Simic reg = <0x0 0xffab0080 0x0 0x20>; 1097*296602b8SDragan Simic }; 1098*296602b8SDragan Simic 1099*296602b8SDragan Simic qos_video_m0: qos@ffab8000 { 1100*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1101*296602b8SDragan Simic reg = <0x0 0xffab8000 0x0 0x20>; 1102*296602b8SDragan Simic }; 1103*296602b8SDragan Simic 1104*296602b8SDragan Simic qos_video_m1_r: qos@ffac0000 { 1105*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1106*296602b8SDragan Simic reg = <0x0 0xffac0000 0x0 0x20>; 1107*296602b8SDragan Simic }; 1108*296602b8SDragan Simic 1109*296602b8SDragan Simic qos_video_m1_w: qos@ffac0080 { 1110*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1111*296602b8SDragan Simic reg = <0x0 0xffac0080 0x0 0x20>; 1112*296602b8SDragan Simic }; 1113*296602b8SDragan Simic 1114*296602b8SDragan Simic qos_vop_big_r: qos@ffac8000 { 1115*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1116*296602b8SDragan Simic reg = <0x0 0xffac8000 0x0 0x20>; 1117*296602b8SDragan Simic }; 1118*296602b8SDragan Simic 1119*296602b8SDragan Simic qos_vop_big_w: qos@ffac8080 { 1120*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1121*296602b8SDragan Simic reg = <0x0 0xffac8080 0x0 0x20>; 1122*296602b8SDragan Simic }; 1123*296602b8SDragan Simic 1124*296602b8SDragan Simic qos_vop_little: qos@ffad0000 { 1125*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1126*296602b8SDragan Simic reg = <0x0 0xffad0000 0x0 0x20>; 1127*296602b8SDragan Simic }; 1128*296602b8SDragan Simic 1129*296602b8SDragan Simic qos_perihp: qos@ffad8080 { 1130*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1131*296602b8SDragan Simic reg = <0x0 0xffad8080 0x0 0x20>; 1132*296602b8SDragan Simic }; 1133*296602b8SDragan Simic 1134*296602b8SDragan Simic qos_gpu: qos@ffae0000 { 1135*296602b8SDragan Simic compatible = "rockchip,rk3399-qos", "syscon"; 1136*296602b8SDragan Simic reg = <0x0 0xffae0000 0x0 0x20>; 1137*296602b8SDragan Simic }; 1138*296602b8SDragan Simic 1139*296602b8SDragan Simic pmu: power-management@ff310000 { 1140*296602b8SDragan Simic compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd"; 1141*296602b8SDragan Simic reg = <0x0 0xff310000 0x0 0x1000>; 1142*296602b8SDragan Simic 1143*296602b8SDragan Simic /* 1144*296602b8SDragan Simic * Note: RK3399 supports 6 voltage domains including VD_CORE_L, 1145*296602b8SDragan Simic * VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU. 1146*296602b8SDragan Simic * Some of the power domains are grouped together for every 1147*296602b8SDragan Simic * voltage domain. 1148*296602b8SDragan Simic * The detail contents as below. 1149*296602b8SDragan Simic */ 1150*296602b8SDragan Simic power: power-controller { 1151*296602b8SDragan Simic compatible = "rockchip,rk3399-power-controller"; 1152*296602b8SDragan Simic #power-domain-cells = <1>; 1153*296602b8SDragan Simic #address-cells = <1>; 1154*296602b8SDragan Simic #size-cells = <0>; 1155*296602b8SDragan Simic 1156*296602b8SDragan Simic /* These power domains are grouped by VD_CENTER */ 1157*296602b8SDragan Simic power-domain@RK3399_PD_IEP { 1158*296602b8SDragan Simic reg = <RK3399_PD_IEP>; 1159*296602b8SDragan Simic clocks = <&cru ACLK_IEP>, 1160*296602b8SDragan Simic <&cru HCLK_IEP>; 1161*296602b8SDragan Simic pm_qos = <&qos_iep>; 1162*296602b8SDragan Simic #power-domain-cells = <0>; 1163*296602b8SDragan Simic }; 1164*296602b8SDragan Simic power-domain@RK3399_PD_RGA { 1165*296602b8SDragan Simic reg = <RK3399_PD_RGA>; 1166*296602b8SDragan Simic clocks = <&cru ACLK_RGA>, 1167*296602b8SDragan Simic <&cru HCLK_RGA>; 1168*296602b8SDragan Simic pm_qos = <&qos_rga_r>, 1169*296602b8SDragan Simic <&qos_rga_w>; 1170*296602b8SDragan Simic #power-domain-cells = <0>; 1171*296602b8SDragan Simic }; 1172*296602b8SDragan Simic power-domain@RK3399_PD_VCODEC { 1173*296602b8SDragan Simic reg = <RK3399_PD_VCODEC>; 1174*296602b8SDragan Simic clocks = <&cru ACLK_VCODEC>, 1175*296602b8SDragan Simic <&cru HCLK_VCODEC>; 1176*296602b8SDragan Simic pm_qos = <&qos_video_m0>; 1177*296602b8SDragan Simic #power-domain-cells = <0>; 1178*296602b8SDragan Simic }; 1179*296602b8SDragan Simic power-domain@RK3399_PD_VDU { 1180*296602b8SDragan Simic reg = <RK3399_PD_VDU>; 1181*296602b8SDragan Simic clocks = <&cru ACLK_VDU>, 1182*296602b8SDragan Simic <&cru HCLK_VDU>, 1183*296602b8SDragan Simic <&cru SCLK_VDU_CA>, 1184*296602b8SDragan Simic <&cru SCLK_VDU_CORE>; 1185*296602b8SDragan Simic pm_qos = <&qos_video_m1_r>, 1186*296602b8SDragan Simic <&qos_video_m1_w>; 1187*296602b8SDragan Simic #power-domain-cells = <0>; 1188*296602b8SDragan Simic }; 1189*296602b8SDragan Simic 1190*296602b8SDragan Simic /* These power domains are grouped by VD_GPU */ 1191*296602b8SDragan Simic power-domain@RK3399_PD_GPU { 1192*296602b8SDragan Simic reg = <RK3399_PD_GPU>; 1193*296602b8SDragan Simic clocks = <&cru ACLK_GPU>; 1194*296602b8SDragan Simic pm_qos = <&qos_gpu>; 1195*296602b8SDragan Simic #power-domain-cells = <0>; 1196*296602b8SDragan Simic }; 1197*296602b8SDragan Simic 1198*296602b8SDragan Simic /* These power domains are grouped by VD_LOGIC */ 1199*296602b8SDragan Simic power-domain@RK3399_PD_EDP { 1200*296602b8SDragan Simic reg = <RK3399_PD_EDP>; 1201*296602b8SDragan Simic clocks = <&cru PCLK_EDP_CTRL>; 1202*296602b8SDragan Simic #power-domain-cells = <0>; 1203*296602b8SDragan Simic }; 1204*296602b8SDragan Simic power-domain@RK3399_PD_EMMC { 1205*296602b8SDragan Simic reg = <RK3399_PD_EMMC>; 1206*296602b8SDragan Simic clocks = <&cru ACLK_EMMC>; 1207*296602b8SDragan Simic pm_qos = <&qos_emmc>; 1208*296602b8SDragan Simic #power-domain-cells = <0>; 1209*296602b8SDragan Simic }; 1210*296602b8SDragan Simic power-domain@RK3399_PD_GMAC { 1211*296602b8SDragan Simic reg = <RK3399_PD_GMAC>; 1212*296602b8SDragan Simic clocks = <&cru ACLK_GMAC>, 1213*296602b8SDragan Simic <&cru PCLK_GMAC>; 1214*296602b8SDragan Simic pm_qos = <&qos_gmac>; 1215*296602b8SDragan Simic #power-domain-cells = <0>; 1216*296602b8SDragan Simic }; 1217*296602b8SDragan Simic power-domain@RK3399_PD_SD { 1218*296602b8SDragan Simic reg = <RK3399_PD_SD>; 1219*296602b8SDragan Simic clocks = <&cru HCLK_SDMMC>, 1220*296602b8SDragan Simic <&cru SCLK_SDMMC>; 1221*296602b8SDragan Simic pm_qos = <&qos_sd>; 1222*296602b8SDragan Simic #power-domain-cells = <0>; 1223*296602b8SDragan Simic }; 1224*296602b8SDragan Simic power-domain@RK3399_PD_SDIOAUDIO { 1225*296602b8SDragan Simic reg = <RK3399_PD_SDIOAUDIO>; 1226*296602b8SDragan Simic clocks = <&cru HCLK_SDIO>; 1227*296602b8SDragan Simic pm_qos = <&qos_sdioaudio>; 1228*296602b8SDragan Simic #power-domain-cells = <0>; 1229*296602b8SDragan Simic }; 1230*296602b8SDragan Simic power-domain@RK3399_PD_TCPD0 { 1231*296602b8SDragan Simic reg = <RK3399_PD_TCPD0>; 1232*296602b8SDragan Simic clocks = <&cru SCLK_UPHY0_TCPDCORE>, 1233*296602b8SDragan Simic <&cru SCLK_UPHY0_TCPDPHY_REF>; 1234*296602b8SDragan Simic #power-domain-cells = <0>; 1235*296602b8SDragan Simic }; 1236*296602b8SDragan Simic power-domain@RK3399_PD_TCPD1 { 1237*296602b8SDragan Simic reg = <RK3399_PD_TCPD1>; 1238*296602b8SDragan Simic clocks = <&cru SCLK_UPHY1_TCPDCORE>, 1239*296602b8SDragan Simic <&cru SCLK_UPHY1_TCPDPHY_REF>; 1240*296602b8SDragan Simic #power-domain-cells = <0>; 1241*296602b8SDragan Simic }; 1242*296602b8SDragan Simic power-domain@RK3399_PD_USB3 { 1243*296602b8SDragan Simic reg = <RK3399_PD_USB3>; 1244*296602b8SDragan Simic clocks = <&cru ACLK_USB3>; 1245*296602b8SDragan Simic pm_qos = <&qos_usb_otg0>, 1246*296602b8SDragan Simic <&qos_usb_otg1>; 1247*296602b8SDragan Simic #power-domain-cells = <0>; 1248*296602b8SDragan Simic }; 1249*296602b8SDragan Simic power-domain@RK3399_PD_VIO { 1250*296602b8SDragan Simic reg = <RK3399_PD_VIO>; 1251*296602b8SDragan Simic #power-domain-cells = <1>; 1252*296602b8SDragan Simic #address-cells = <1>; 1253*296602b8SDragan Simic #size-cells = <0>; 1254*296602b8SDragan Simic 1255*296602b8SDragan Simic power-domain@RK3399_PD_HDCP { 1256*296602b8SDragan Simic reg = <RK3399_PD_HDCP>; 1257*296602b8SDragan Simic clocks = <&cru ACLK_HDCP>, 1258*296602b8SDragan Simic <&cru HCLK_HDCP>, 1259*296602b8SDragan Simic <&cru PCLK_HDCP>; 1260*296602b8SDragan Simic pm_qos = <&qos_hdcp>; 1261*296602b8SDragan Simic #power-domain-cells = <0>; 1262*296602b8SDragan Simic }; 1263*296602b8SDragan Simic power-domain@RK3399_PD_ISP0 { 1264*296602b8SDragan Simic reg = <RK3399_PD_ISP0>; 1265*296602b8SDragan Simic clocks = <&cru ACLK_ISP0>, 1266*296602b8SDragan Simic <&cru HCLK_ISP0>; 1267*296602b8SDragan Simic pm_qos = <&qos_isp0_m0>, 1268*296602b8SDragan Simic <&qos_isp0_m1>; 1269*296602b8SDragan Simic #power-domain-cells = <0>; 1270*296602b8SDragan Simic }; 1271*296602b8SDragan Simic power-domain@RK3399_PD_ISP1 { 1272*296602b8SDragan Simic reg = <RK3399_PD_ISP1>; 1273*296602b8SDragan Simic clocks = <&cru ACLK_ISP1>, 1274*296602b8SDragan Simic <&cru HCLK_ISP1>; 1275*296602b8SDragan Simic pm_qos = <&qos_isp1_m0>, 1276*296602b8SDragan Simic <&qos_isp1_m1>; 1277*296602b8SDragan Simic #power-domain-cells = <0>; 1278*296602b8SDragan Simic }; 1279*296602b8SDragan Simic power-domain@RK3399_PD_VO { 1280*296602b8SDragan Simic reg = <RK3399_PD_VO>; 1281*296602b8SDragan Simic #power-domain-cells = <1>; 1282*296602b8SDragan Simic #address-cells = <1>; 1283*296602b8SDragan Simic #size-cells = <0>; 1284*296602b8SDragan Simic 1285*296602b8SDragan Simic power-domain@RK3399_PD_VOPB { 1286*296602b8SDragan Simic reg = <RK3399_PD_VOPB>; 1287*296602b8SDragan Simic clocks = <&cru ACLK_VOP0>, 1288*296602b8SDragan Simic <&cru HCLK_VOP0>; 1289*296602b8SDragan Simic pm_qos = <&qos_vop_big_r>, 1290*296602b8SDragan Simic <&qos_vop_big_w>; 1291*296602b8SDragan Simic #power-domain-cells = <0>; 1292*296602b8SDragan Simic }; 1293*296602b8SDragan Simic power-domain@RK3399_PD_VOPL { 1294*296602b8SDragan Simic reg = <RK3399_PD_VOPL>; 1295*296602b8SDragan Simic clocks = <&cru ACLK_VOP1>, 1296*296602b8SDragan Simic <&cru HCLK_VOP1>; 1297*296602b8SDragan Simic pm_qos = <&qos_vop_little>; 1298*296602b8SDragan Simic #power-domain-cells = <0>; 1299*296602b8SDragan Simic }; 1300*296602b8SDragan Simic }; 1301*296602b8SDragan Simic }; 1302*296602b8SDragan Simic }; 1303*296602b8SDragan Simic }; 1304*296602b8SDragan Simic 1305*296602b8SDragan Simic pmugrf: syscon@ff320000 { 1306*296602b8SDragan Simic compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd"; 1307*296602b8SDragan Simic reg = <0x0 0xff320000 0x0 0x1000>; 1308*296602b8SDragan Simic 1309*296602b8SDragan Simic pmu_io_domains: io-domains { 1310*296602b8SDragan Simic compatible = "rockchip,rk3399-pmu-io-voltage-domain"; 1311*296602b8SDragan Simic status = "disabled"; 1312*296602b8SDragan Simic }; 1313*296602b8SDragan Simic }; 1314*296602b8SDragan Simic 1315*296602b8SDragan Simic spi3: spi@ff350000 { 1316*296602b8SDragan Simic compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 1317*296602b8SDragan Simic reg = <0x0 0xff350000 0x0 0x1000>; 1318*296602b8SDragan Simic clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>; 1319*296602b8SDragan Simic clock-names = "spiclk", "apb_pclk"; 1320*296602b8SDragan Simic interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH 0>; 1321*296602b8SDragan Simic pinctrl-names = "default"; 1322*296602b8SDragan Simic pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>; 1323*296602b8SDragan Simic #address-cells = <1>; 1324*296602b8SDragan Simic #size-cells = <0>; 1325*296602b8SDragan Simic status = "disabled"; 1326*296602b8SDragan Simic }; 1327*296602b8SDragan Simic 1328*296602b8SDragan Simic uart4: serial@ff370000 { 1329*296602b8SDragan Simic compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 1330*296602b8SDragan Simic reg = <0x0 0xff370000 0x0 0x100>; 1331*296602b8SDragan Simic clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>; 1332*296602b8SDragan Simic clock-names = "baudclk", "apb_pclk"; 1333*296602b8SDragan Simic interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>; 1334*296602b8SDragan Simic reg-shift = <2>; 1335*296602b8SDragan Simic reg-io-width = <4>; 1336*296602b8SDragan Simic pinctrl-names = "default"; 1337*296602b8SDragan Simic pinctrl-0 = <&uart4_xfer>; 1338*296602b8SDragan Simic status = "disabled"; 1339*296602b8SDragan Simic }; 1340*296602b8SDragan Simic 1341*296602b8SDragan Simic i2c0: i2c@ff3c0000 { 1342*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 1343*296602b8SDragan Simic reg = <0x0 0xff3c0000 0x0 0x1000>; 1344*296602b8SDragan Simic assigned-clocks = <&pmucru SCLK_I2C0_PMU>; 1345*296602b8SDragan Simic assigned-clock-rates = <200000000>; 1346*296602b8SDragan Simic clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>; 1347*296602b8SDragan Simic clock-names = "i2c", "pclk"; 1348*296602b8SDragan Simic interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>; 1349*296602b8SDragan Simic pinctrl-names = "default"; 1350*296602b8SDragan Simic pinctrl-0 = <&i2c0_xfer>; 1351*296602b8SDragan Simic #address-cells = <1>; 1352*296602b8SDragan Simic #size-cells = <0>; 1353*296602b8SDragan Simic status = "disabled"; 1354*296602b8SDragan Simic }; 1355*296602b8SDragan Simic 1356*296602b8SDragan Simic i2c4: i2c@ff3d0000 { 1357*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 1358*296602b8SDragan Simic reg = <0x0 0xff3d0000 0x0 0x1000>; 1359*296602b8SDragan Simic assigned-clocks = <&pmucru SCLK_I2C4_PMU>; 1360*296602b8SDragan Simic assigned-clock-rates = <200000000>; 1361*296602b8SDragan Simic clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>; 1362*296602b8SDragan Simic clock-names = "i2c", "pclk"; 1363*296602b8SDragan Simic interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH 0>; 1364*296602b8SDragan Simic pinctrl-names = "default"; 1365*296602b8SDragan Simic pinctrl-0 = <&i2c4_xfer>; 1366*296602b8SDragan Simic #address-cells = <1>; 1367*296602b8SDragan Simic #size-cells = <0>; 1368*296602b8SDragan Simic status = "disabled"; 1369*296602b8SDragan Simic }; 1370*296602b8SDragan Simic 1371*296602b8SDragan Simic i2c8: i2c@ff3e0000 { 1372*296602b8SDragan Simic compatible = "rockchip,rk3399-i2c"; 1373*296602b8SDragan Simic reg = <0x0 0xff3e0000 0x0 0x1000>; 1374*296602b8SDragan Simic assigned-clocks = <&pmucru SCLK_I2C8_PMU>; 1375*296602b8SDragan Simic assigned-clock-rates = <200000000>; 1376*296602b8SDragan Simic clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>; 1377*296602b8SDragan Simic clock-names = "i2c", "pclk"; 1378*296602b8SDragan Simic interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>; 1379*296602b8SDragan Simic pinctrl-names = "default"; 1380*296602b8SDragan Simic pinctrl-0 = <&i2c8_xfer>; 1381*296602b8SDragan Simic #address-cells = <1>; 1382*296602b8SDragan Simic #size-cells = <0>; 1383*296602b8SDragan Simic status = "disabled"; 1384*296602b8SDragan Simic }; 1385*296602b8SDragan Simic 1386*296602b8SDragan Simic pwm0: pwm@ff420000 { 1387*296602b8SDragan Simic compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1388*296602b8SDragan Simic reg = <0x0 0xff420000 0x0 0x10>; 1389*296602b8SDragan Simic #pwm-cells = <3>; 1390*296602b8SDragan Simic pinctrl-names = "default"; 1391*296602b8SDragan Simic pinctrl-0 = <&pwm0_pin>; 1392*296602b8SDragan Simic clocks = <&pmucru PCLK_RKPWM_PMU>; 1393*296602b8SDragan Simic status = "disabled"; 1394*296602b8SDragan Simic }; 1395*296602b8SDragan Simic 1396*296602b8SDragan Simic pwm1: pwm@ff420010 { 1397*296602b8SDragan Simic compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1398*296602b8SDragan Simic reg = <0x0 0xff420010 0x0 0x10>; 1399*296602b8SDragan Simic #pwm-cells = <3>; 1400*296602b8SDragan Simic pinctrl-names = "default"; 1401*296602b8SDragan Simic pinctrl-0 = <&pwm1_pin>; 1402*296602b8SDragan Simic clocks = <&pmucru PCLK_RKPWM_PMU>; 1403*296602b8SDragan Simic status = "disabled"; 1404*296602b8SDragan Simic }; 1405*296602b8SDragan Simic 1406*296602b8SDragan Simic pwm2: pwm@ff420020 { 1407*296602b8SDragan Simic compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1408*296602b8SDragan Simic reg = <0x0 0xff420020 0x0 0x10>; 1409*296602b8SDragan Simic #pwm-cells = <3>; 1410*296602b8SDragan Simic pinctrl-names = "default"; 1411*296602b8SDragan Simic pinctrl-0 = <&pwm2_pin>; 1412*296602b8SDragan Simic clocks = <&pmucru PCLK_RKPWM_PMU>; 1413*296602b8SDragan Simic status = "disabled"; 1414*296602b8SDragan Simic }; 1415*296602b8SDragan Simic 1416*296602b8SDragan Simic pwm3: pwm@ff420030 { 1417*296602b8SDragan Simic compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1418*296602b8SDragan Simic reg = <0x0 0xff420030 0x0 0x10>; 1419*296602b8SDragan Simic #pwm-cells = <3>; 1420*296602b8SDragan Simic pinctrl-names = "default"; 1421*296602b8SDragan Simic pinctrl-0 = <&pwm3a_pin>; 1422*296602b8SDragan Simic clocks = <&pmucru PCLK_RKPWM_PMU>; 1423*296602b8SDragan Simic status = "disabled"; 1424*296602b8SDragan Simic }; 1425*296602b8SDragan Simic 1426*296602b8SDragan Simic dfi: dfi@ff630000 { 1427*296602b8SDragan Simic reg = <0x00 0xff630000 0x00 0x4000>; 1428*296602b8SDragan Simic compatible = "rockchip,rk3399-dfi"; 1429*296602b8SDragan Simic rockchip,pmu = <&pmugrf>; 1430*296602b8SDragan Simic interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>; 1431*296602b8SDragan Simic clocks = <&cru PCLK_DDR_MON>; 1432*296602b8SDragan Simic clock-names = "pclk_ddr_mon"; 1433*296602b8SDragan Simic }; 1434*296602b8SDragan Simic 1435*296602b8SDragan Simic vpu: video-codec@ff650000 { 1436*296602b8SDragan Simic compatible = "rockchip,rk3399-vpu"; 1437*296602b8SDragan Simic reg = <0x0 0xff650000 0x0 0x800>; 1438*296602b8SDragan Simic interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>, 1439*296602b8SDragan Simic <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>; 1440*296602b8SDragan Simic interrupt-names = "vepu", "vdpu"; 1441*296602b8SDragan Simic clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>; 1442*296602b8SDragan Simic clock-names = "aclk", "hclk"; 1443*296602b8SDragan Simic iommus = <&vpu_mmu>; 1444*296602b8SDragan Simic power-domains = <&power RK3399_PD_VCODEC>; 1445*296602b8SDragan Simic }; 1446*296602b8SDragan Simic 1447*296602b8SDragan Simic vpu_mmu: iommu@ff650800 { 1448*296602b8SDragan Simic compatible = "rockchip,iommu"; 1449*296602b8SDragan Simic reg = <0x0 0xff650800 0x0 0x40>; 1450*296602b8SDragan Simic interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>; 1451*296602b8SDragan Simic clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>; 1452*296602b8SDragan Simic clock-names = "aclk", "iface"; 1453*296602b8SDragan Simic #iommu-cells = <0>; 1454*296602b8SDragan Simic power-domains = <&power RK3399_PD_VCODEC>; 1455*296602b8SDragan Simic }; 1456*296602b8SDragan Simic 1457*296602b8SDragan Simic vdec: video-codec@ff660000 { 1458*296602b8SDragan Simic compatible = "rockchip,rk3399-vdec"; 1459*296602b8SDragan Simic reg = <0x0 0xff660000 0x0 0x480>; 1460*296602b8SDragan Simic interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>; 1461*296602b8SDragan Simic clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>, 1462*296602b8SDragan Simic <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>; 1463*296602b8SDragan Simic clock-names = "axi", "ahb", "cabac", "core"; 1464*296602b8SDragan Simic iommus = <&vdec_mmu>; 1465*296602b8SDragan Simic power-domains = <&power RK3399_PD_VDU>; 1466*296602b8SDragan Simic }; 1467*296602b8SDragan Simic 1468*296602b8SDragan Simic vdec_mmu: iommu@ff660480 { 1469*296602b8SDragan Simic compatible = "rockchip,iommu"; 1470*296602b8SDragan Simic reg = <0x0 0xff660480 0x0 0x40>, <0x0 0xff6604c0 0x0 0x40>; 1471*296602b8SDragan Simic interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>; 1472*296602b8SDragan Simic clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>; 1473*296602b8SDragan Simic clock-names = "aclk", "iface"; 1474*296602b8SDragan Simic power-domains = <&power RK3399_PD_VDU>; 1475*296602b8SDragan Simic #iommu-cells = <0>; 1476*296602b8SDragan Simic }; 1477*296602b8SDragan Simic 1478*296602b8SDragan Simic iep_mmu: iommu@ff670800 { 1479*296602b8SDragan Simic compatible = "rockchip,iommu"; 1480*296602b8SDragan Simic reg = <0x0 0xff670800 0x0 0x40>; 1481*296602b8SDragan Simic interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH 0>; 1482*296602b8SDragan Simic clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>; 1483*296602b8SDragan Simic clock-names = "aclk", "iface"; 1484*296602b8SDragan Simic #iommu-cells = <0>; 1485*296602b8SDragan Simic status = "disabled"; 1486*296602b8SDragan Simic }; 1487*296602b8SDragan Simic 1488*296602b8SDragan Simic rga: rga@ff680000 { 1489*296602b8SDragan Simic compatible = "rockchip,rk3399-rga"; 1490*296602b8SDragan Simic reg = <0x0 0xff680000 0x0 0x10000>; 1491*296602b8SDragan Simic interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH 0>; 1492*296602b8SDragan Simic clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>; 1493*296602b8SDragan Simic clock-names = "aclk", "hclk", "sclk"; 1494*296602b8SDragan Simic resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>; 1495*296602b8SDragan Simic reset-names = "core", "axi", "ahb"; 1496*296602b8SDragan Simic power-domains = <&power RK3399_PD_RGA>; 1497*296602b8SDragan Simic }; 1498*296602b8SDragan Simic 1499*296602b8SDragan Simic efuse0: efuse@ff690000 { 1500*296602b8SDragan Simic compatible = "rockchip,rk3399-efuse"; 1501*296602b8SDragan Simic reg = <0x0 0xff690000 0x0 0x80>; 1502*296602b8SDragan Simic #address-cells = <1>; 1503*296602b8SDragan Simic #size-cells = <1>; 1504*296602b8SDragan Simic clocks = <&cru PCLK_EFUSE1024NS>; 1505*296602b8SDragan Simic clock-names = "pclk_efuse"; 1506*296602b8SDragan Simic 1507*296602b8SDragan Simic /* Data cells */ 1508*296602b8SDragan Simic cpu_id: cpu-id@7 { 1509*296602b8SDragan Simic reg = <0x07 0x10>; 1510*296602b8SDragan Simic }; 1511*296602b8SDragan Simic cpub_leakage: cpu-leakage@17 { 1512*296602b8SDragan Simic reg = <0x17 0x1>; 1513*296602b8SDragan Simic }; 1514*296602b8SDragan Simic gpu_leakage: gpu-leakage@18 { 1515*296602b8SDragan Simic reg = <0x18 0x1>; 1516*296602b8SDragan Simic }; 1517*296602b8SDragan Simic center_leakage: center-leakage@19 { 1518*296602b8SDragan Simic reg = <0x19 0x1>; 1519*296602b8SDragan Simic }; 1520*296602b8SDragan Simic cpul_leakage: cpu-leakage@1a { 1521*296602b8SDragan Simic reg = <0x1a 0x1>; 1522*296602b8SDragan Simic }; 1523*296602b8SDragan Simic logic_leakage: logic-leakage@1b { 1524*296602b8SDragan Simic reg = <0x1b 0x1>; 1525*296602b8SDragan Simic }; 1526*296602b8SDragan Simic wafer_info: wafer-info@1c { 1527*296602b8SDragan Simic reg = <0x1c 0x1>; 1528*296602b8SDragan Simic }; 1529*296602b8SDragan Simic }; 1530*296602b8SDragan Simic 1531*296602b8SDragan Simic dmac_bus: dma-controller@ff6d0000 { 1532*296602b8SDragan Simic compatible = "arm,pl330", "arm,primecell"; 1533*296602b8SDragan Simic reg = <0x0 0xff6d0000 0x0 0x4000>; 1534*296602b8SDragan Simic interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>, 1535*296602b8SDragan Simic <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>; 1536*296602b8SDragan Simic #dma-cells = <1>; 1537*296602b8SDragan Simic arm,pl330-periph-burst; 1538*296602b8SDragan Simic clocks = <&cru ACLK_DMAC0_PERILP>; 1539*296602b8SDragan Simic clock-names = "apb_pclk"; 1540*296602b8SDragan Simic }; 1541*296602b8SDragan Simic 1542*296602b8SDragan Simic dmac_peri: dma-controller@ff6e0000 { 1543*296602b8SDragan Simic compatible = "arm,pl330", "arm,primecell"; 1544*296602b8SDragan Simic reg = <0x0 0xff6e0000 0x0 0x4000>; 1545*296602b8SDragan Simic interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>, 1546*296602b8SDragan Simic <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>; 1547*296602b8SDragan Simic #dma-cells = <1>; 1548*296602b8SDragan Simic arm,pl330-periph-burst; 1549*296602b8SDragan Simic clocks = <&cru ACLK_DMAC1_PERILP>; 1550*296602b8SDragan Simic clock-names = "apb_pclk"; 1551*296602b8SDragan Simic }; 1552*296602b8SDragan Simic 1553*296602b8SDragan Simic pmucru: clock-controller@ff750000 { 1554*296602b8SDragan Simic compatible = "rockchip,rk3399-pmucru"; 1555*296602b8SDragan Simic reg = <0x0 0xff750000 0x0 0x1000>; 1556*296602b8SDragan Simic clocks = <&xin24m>; 1557*296602b8SDragan Simic clock-names = "xin24m"; 1558*296602b8SDragan Simic rockchip,grf = <&pmugrf>; 1559*296602b8SDragan Simic #clock-cells = <1>; 1560*296602b8SDragan Simic #reset-cells = <1>; 1561*296602b8SDragan Simic assigned-clocks = <&pmucru PLL_PPLL>; 1562*296602b8SDragan Simic assigned-clock-rates = <676000000>; 1563*296602b8SDragan Simic }; 1564*296602b8SDragan Simic 1565*296602b8SDragan Simic cru: clock-controller@ff760000 { 1566*296602b8SDragan Simic compatible = "rockchip,rk3399-cru"; 1567*296602b8SDragan Simic reg = <0x0 0xff760000 0x0 0x1000>; 1568*296602b8SDragan Simic clocks = <&xin24m>; 1569*296602b8SDragan Simic clock-names = "xin24m"; 1570*296602b8SDragan Simic rockchip,grf = <&grf>; 1571*296602b8SDragan Simic #clock-cells = <1>; 1572*296602b8SDragan Simic #reset-cells = <1>; 1573*296602b8SDragan Simic assigned-clocks = 1574*296602b8SDragan Simic <&cru PLL_GPLL>, <&cru PLL_CPLL>, 1575*296602b8SDragan Simic <&cru PLL_NPLL>, 1576*296602b8SDragan Simic <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>, 1577*296602b8SDragan Simic <&cru PCLK_PERIHP>, 1578*296602b8SDragan Simic <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>, 1579*296602b8SDragan Simic <&cru PCLK_PERILP0>, <&cru ACLK_CCI>, 1580*296602b8SDragan Simic <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>, 1581*296602b8SDragan Simic <&cru ACLK_VIO>, <&cru ACLK_HDCP>, 1582*296602b8SDragan Simic <&cru ACLK_GIC_PRE>, 1583*296602b8SDragan Simic <&cru PCLK_DDR>, 1584*296602b8SDragan Simic <&cru ACLK_VDU>; 1585*296602b8SDragan Simic assigned-clock-rates = 1586*296602b8SDragan Simic <594000000>, <800000000>, 1587*296602b8SDragan Simic <1000000000>, 1588*296602b8SDragan Simic <150000000>, <75000000>, 1589*296602b8SDragan Simic <37500000>, 1590*296602b8SDragan Simic <100000000>, <100000000>, 1591*296602b8SDragan Simic <50000000>, <600000000>, 1592*296602b8SDragan Simic <100000000>, <50000000>, 1593*296602b8SDragan Simic <400000000>, <400000000>, 1594*296602b8SDragan Simic <200000000>, 1595*296602b8SDragan Simic <200000000>, 1596*296602b8SDragan Simic <400000000>; 1597*296602b8SDragan Simic }; 1598*296602b8SDragan Simic 1599*296602b8SDragan Simic grf: syscon@ff770000 { 1600*296602b8SDragan Simic compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; 1601*296602b8SDragan Simic reg = <0x0 0xff770000 0x0 0x10000>; 1602*296602b8SDragan Simic #address-cells = <1>; 1603*296602b8SDragan Simic #size-cells = <1>; 1604*296602b8SDragan Simic 1605*296602b8SDragan Simic io_domains: io-domains { 1606*296602b8SDragan Simic compatible = "rockchip,rk3399-io-voltage-domain"; 1607*296602b8SDragan Simic status = "disabled"; 1608*296602b8SDragan Simic }; 1609*296602b8SDragan Simic 1610*296602b8SDragan Simic mipi_dphy_rx0: mipi-dphy-rx0 { 1611*296602b8SDragan Simic compatible = "rockchip,rk3399-mipi-dphy-rx0"; 1612*296602b8SDragan Simic clocks = <&cru SCLK_MIPIDPHY_REF>, 1613*296602b8SDragan Simic <&cru SCLK_DPHY_RX0_CFG>, 1614*296602b8SDragan Simic <&cru PCLK_VIO_GRF>; 1615*296602b8SDragan Simic clock-names = "dphy-ref", "dphy-cfg", "grf"; 1616*296602b8SDragan Simic power-domains = <&power RK3399_PD_VIO>; 1617*296602b8SDragan Simic #phy-cells = <0>; 1618*296602b8SDragan Simic status = "disabled"; 1619*296602b8SDragan Simic }; 1620*296602b8SDragan Simic 1621*296602b8SDragan Simic u2phy0: usb2phy@e450 { 1622*296602b8SDragan Simic compatible = "rockchip,rk3399-usb2phy"; 1623*296602b8SDragan Simic reg = <0xe450 0x10>; 1624*296602b8SDragan Simic clocks = <&cru SCLK_USB2PHY0_REF>; 1625*296602b8SDragan Simic clock-names = "phyclk"; 1626*296602b8SDragan Simic #clock-cells = <0>; 1627*296602b8SDragan Simic clock-output-names = "clk_usbphy0_480m"; 1628*296602b8SDragan Simic status = "disabled"; 1629*296602b8SDragan Simic 1630*296602b8SDragan Simic u2phy0_host: host-port { 1631*296602b8SDragan Simic #phy-cells = <0>; 1632*296602b8SDragan Simic interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>; 1633*296602b8SDragan Simic interrupt-names = "linestate"; 1634*296602b8SDragan Simic status = "disabled"; 1635*296602b8SDragan Simic }; 1636*296602b8SDragan Simic 1637*296602b8SDragan Simic u2phy0_otg: otg-port { 1638*296602b8SDragan Simic #phy-cells = <0>; 1639*296602b8SDragan Simic interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>, 1640*296602b8SDragan Simic <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>, 1641*296602b8SDragan Simic <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 1642*296602b8SDragan Simic interrupt-names = "otg-bvalid", "otg-id", 1643*296602b8SDragan Simic "linestate"; 1644*296602b8SDragan Simic status = "disabled"; 1645*296602b8SDragan Simic }; 1646*296602b8SDragan Simic }; 1647*296602b8SDragan Simic 1648*296602b8SDragan Simic u2phy1: usb2phy@e460 { 1649*296602b8SDragan Simic compatible = "rockchip,rk3399-usb2phy"; 1650*296602b8SDragan Simic reg = <0xe460 0x10>; 1651*296602b8SDragan Simic clocks = <&cru SCLK_USB2PHY1_REF>; 1652*296602b8SDragan Simic clock-names = "phyclk"; 1653*296602b8SDragan Simic #clock-cells = <0>; 1654*296602b8SDragan Simic clock-output-names = "clk_usbphy1_480m"; 1655*296602b8SDragan Simic status = "disabled"; 1656*296602b8SDragan Simic 1657*296602b8SDragan Simic u2phy1_host: host-port { 1658*296602b8SDragan Simic #phy-cells = <0>; 1659*296602b8SDragan Simic interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>; 1660*296602b8SDragan Simic interrupt-names = "linestate"; 1661*296602b8SDragan Simic status = "disabled"; 1662*296602b8SDragan Simic }; 1663*296602b8SDragan Simic 1664*296602b8SDragan Simic u2phy1_otg: otg-port { 1665*296602b8SDragan Simic #phy-cells = <0>; 1666*296602b8SDragan Simic interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>, 1667*296602b8SDragan Simic <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>, 1668*296602b8SDragan Simic <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>; 1669*296602b8SDragan Simic interrupt-names = "otg-bvalid", "otg-id", 1670*296602b8SDragan Simic "linestate"; 1671*296602b8SDragan Simic status = "disabled"; 1672*296602b8SDragan Simic }; 1673*296602b8SDragan Simic }; 1674*296602b8SDragan Simic 1675*296602b8SDragan Simic emmc_phy: phy@f780 { 1676*296602b8SDragan Simic compatible = "rockchip,rk3399-emmc-phy"; 1677*296602b8SDragan Simic reg = <0xf780 0x24>; 1678*296602b8SDragan Simic clocks = <&sdhci>; 1679*296602b8SDragan Simic clock-names = "emmcclk"; 1680*296602b8SDragan Simic drive-impedance-ohm = <50>; 1681*296602b8SDragan Simic #phy-cells = <0>; 1682*296602b8SDragan Simic status = "disabled"; 1683*296602b8SDragan Simic }; 1684*296602b8SDragan Simic 1685*296602b8SDragan Simic pcie_phy: pcie-phy { 1686*296602b8SDragan Simic compatible = "rockchip,rk3399-pcie-phy"; 1687*296602b8SDragan Simic clocks = <&cru SCLK_PCIEPHY_REF>; 1688*296602b8SDragan Simic clock-names = "refclk"; 1689*296602b8SDragan Simic #phy-cells = <1>; 1690*296602b8SDragan Simic resets = <&cru SRST_PCIEPHY>; 1691*296602b8SDragan Simic reset-names = "phy"; 1692*296602b8SDragan Simic status = "disabled"; 1693*296602b8SDragan Simic }; 1694*296602b8SDragan Simic }; 1695*296602b8SDragan Simic 1696*296602b8SDragan Simic tcphy0: phy@ff7c0000 { 1697*296602b8SDragan Simic compatible = "rockchip,rk3399-typec-phy"; 1698*296602b8SDragan Simic reg = <0x0 0xff7c0000 0x0 0x40000>; 1699*296602b8SDragan Simic clocks = <&cru SCLK_UPHY0_TCPDCORE>, 1700*296602b8SDragan Simic <&cru SCLK_UPHY0_TCPDPHY_REF>; 1701*296602b8SDragan Simic clock-names = "tcpdcore", "tcpdphy-ref"; 1702*296602b8SDragan Simic assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>; 1703*296602b8SDragan Simic assigned-clock-rates = <50000000>; 1704*296602b8SDragan Simic power-domains = <&power RK3399_PD_TCPD0>; 1705*296602b8SDragan Simic resets = <&cru SRST_UPHY0>, 1706*296602b8SDragan Simic <&cru SRST_UPHY0_PIPE_L00>, 1707*296602b8SDragan Simic <&cru SRST_P_UPHY0_TCPHY>; 1708*296602b8SDragan Simic reset-names = "uphy", "uphy-pipe", "uphy-tcphy"; 1709*296602b8SDragan Simic rockchip,grf = <&grf>; 1710*296602b8SDragan Simic status = "disabled"; 1711*296602b8SDragan Simic 1712*296602b8SDragan Simic tcphy0_dp: dp-port { 1713*296602b8SDragan Simic #phy-cells = <0>; 1714*296602b8SDragan Simic }; 1715*296602b8SDragan Simic 1716*296602b8SDragan Simic tcphy0_usb3: usb3-port { 1717*296602b8SDragan Simic #phy-cells = <0>; 1718*296602b8SDragan Simic }; 1719*296602b8SDragan Simic }; 1720*296602b8SDragan Simic 1721*296602b8SDragan Simic tcphy1: phy@ff800000 { 1722*296602b8SDragan Simic compatible = "rockchip,rk3399-typec-phy"; 1723*296602b8SDragan Simic reg = <0x0 0xff800000 0x0 0x40000>; 1724*296602b8SDragan Simic clocks = <&cru SCLK_UPHY1_TCPDCORE>, 1725*296602b8SDragan Simic <&cru SCLK_UPHY1_TCPDPHY_REF>; 1726*296602b8SDragan Simic clock-names = "tcpdcore", "tcpdphy-ref"; 1727*296602b8SDragan Simic assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>; 1728*296602b8SDragan Simic assigned-clock-rates = <50000000>; 1729*296602b8SDragan Simic power-domains = <&power RK3399_PD_TCPD1>; 1730*296602b8SDragan Simic resets = <&cru SRST_UPHY1>, 1731*296602b8SDragan Simic <&cru SRST_UPHY1_PIPE_L00>, 1732*296602b8SDragan Simic <&cru SRST_P_UPHY1_TCPHY>; 1733*296602b8SDragan Simic reset-names = "uphy", "uphy-pipe", "uphy-tcphy"; 1734*296602b8SDragan Simic rockchip,grf = <&grf>; 1735*296602b8SDragan Simic status = "disabled"; 1736*296602b8SDragan Simic 1737*296602b8SDragan Simic tcphy1_dp: dp-port { 1738*296602b8SDragan Simic #phy-cells = <0>; 1739*296602b8SDragan Simic }; 1740*296602b8SDragan Simic 1741*296602b8SDragan Simic tcphy1_usb3: usb3-port { 1742*296602b8SDragan Simic #phy-cells = <0>; 1743*296602b8SDragan Simic }; 1744*296602b8SDragan Simic }; 1745*296602b8SDragan Simic 1746*296602b8SDragan Simic watchdog@ff848000 { 1747*296602b8SDragan Simic compatible = "rockchip,rk3399-wdt", "snps,dw-wdt"; 1748*296602b8SDragan Simic reg = <0x0 0xff848000 0x0 0x100>; 1749*296602b8SDragan Simic clocks = <&cru PCLK_WDT>; 1750*296602b8SDragan Simic interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>; 1751*296602b8SDragan Simic }; 1752*296602b8SDragan Simic 1753*296602b8SDragan Simic rktimer: rktimer@ff850000 { 1754*296602b8SDragan Simic compatible = "rockchip,rk3399-timer"; 1755*296602b8SDragan Simic reg = <0x0 0xff850000 0x0 0x1000>; 1756*296602b8SDragan Simic interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0>; 1757*296602b8SDragan Simic clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>; 1758*296602b8SDragan Simic clock-names = "pclk", "timer"; 1759*296602b8SDragan Simic }; 1760*296602b8SDragan Simic 1761*296602b8SDragan Simic spdif: spdif@ff870000 { 1762*296602b8SDragan Simic compatible = "rockchip,rk3399-spdif"; 1763*296602b8SDragan Simic reg = <0x0 0xff870000 0x0 0x1000>; 1764*296602b8SDragan Simic interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH 0>; 1765*296602b8SDragan Simic dmas = <&dmac_bus 7>; 1766*296602b8SDragan Simic dma-names = "tx"; 1767*296602b8SDragan Simic clock-names = "mclk", "hclk"; 1768*296602b8SDragan Simic clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>; 1769*296602b8SDragan Simic pinctrl-names = "default"; 1770*296602b8SDragan Simic pinctrl-0 = <&spdif_bus>; 1771*296602b8SDragan Simic power-domains = <&power RK3399_PD_SDIOAUDIO>; 1772*296602b8SDragan Simic #sound-dai-cells = <0>; 1773*296602b8SDragan Simic status = "disabled"; 1774*296602b8SDragan Simic }; 1775*296602b8SDragan Simic 1776*296602b8SDragan Simic i2s0: i2s@ff880000 { 1777*296602b8SDragan Simic compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s"; 1778*296602b8SDragan Simic reg = <0x0 0xff880000 0x0 0x1000>; 1779*296602b8SDragan Simic rockchip,grf = <&grf>; 1780*296602b8SDragan Simic interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH 0>; 1781*296602b8SDragan Simic dmas = <&dmac_bus 0>, <&dmac_bus 1>; 1782*296602b8SDragan Simic dma-names = "tx", "rx"; 1783*296602b8SDragan Simic clock-names = "i2s_clk", "i2s_hclk"; 1784*296602b8SDragan Simic clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>; 1785*296602b8SDragan Simic pinctrl-names = "bclk_on", "bclk_off"; 1786*296602b8SDragan Simic pinctrl-0 = <&i2s0_8ch_bus>; 1787*296602b8SDragan Simic pinctrl-1 = <&i2s0_8ch_bus_bclk_off>; 1788*296602b8SDragan Simic power-domains = <&power RK3399_PD_SDIOAUDIO>; 1789*296602b8SDragan Simic #sound-dai-cells = <0>; 1790*296602b8SDragan Simic status = "disabled"; 1791*296602b8SDragan Simic }; 1792*296602b8SDragan Simic 1793*296602b8SDragan Simic i2s1: i2s@ff890000 { 1794*296602b8SDragan Simic compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s"; 1795*296602b8SDragan Simic reg = <0x0 0xff890000 0x0 0x1000>; 1796*296602b8SDragan Simic interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH 0>; 1797*296602b8SDragan Simic dmas = <&dmac_bus 2>, <&dmac_bus 3>; 1798*296602b8SDragan Simic dma-names = "tx", "rx"; 1799*296602b8SDragan Simic clock-names = "i2s_clk", "i2s_hclk"; 1800*296602b8SDragan Simic clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>; 1801*296602b8SDragan Simic pinctrl-names = "default"; 1802*296602b8SDragan Simic pinctrl-0 = <&i2s1_2ch_bus>; 1803*296602b8SDragan Simic power-domains = <&power RK3399_PD_SDIOAUDIO>; 1804*296602b8SDragan Simic #sound-dai-cells = <0>; 1805*296602b8SDragan Simic status = "disabled"; 1806*296602b8SDragan Simic }; 1807*296602b8SDragan Simic 1808*296602b8SDragan Simic i2s2: i2s@ff8a0000 { 1809*296602b8SDragan Simic compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s"; 1810*296602b8SDragan Simic reg = <0x0 0xff8a0000 0x0 0x1000>; 1811*296602b8SDragan Simic interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH 0>; 1812*296602b8SDragan Simic dmas = <&dmac_bus 4>, <&dmac_bus 5>; 1813*296602b8SDragan Simic dma-names = "tx", "rx"; 1814*296602b8SDragan Simic clock-names = "i2s_clk", "i2s_hclk"; 1815*296602b8SDragan Simic clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>; 1816*296602b8SDragan Simic power-domains = <&power RK3399_PD_SDIOAUDIO>; 1817*296602b8SDragan Simic #sound-dai-cells = <0>; 1818*296602b8SDragan Simic status = "disabled"; 1819*296602b8SDragan Simic }; 1820*296602b8SDragan Simic 1821*296602b8SDragan Simic vopl: vop@ff8f0000 { 1822*296602b8SDragan Simic compatible = "rockchip,rk3399-vop-lit"; 1823*296602b8SDragan Simic reg = <0x0 0xff8f0000 0x0 0x2000>, <0x0 0xff8f2000 0x0 0x400>; 1824*296602b8SDragan Simic interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>; 1825*296602b8SDragan Simic assigned-clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>; 1826*296602b8SDragan Simic assigned-clock-rates = <400000000>, <100000000>; 1827*296602b8SDragan Simic clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>; 1828*296602b8SDragan Simic clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1829*296602b8SDragan Simic iommus = <&vopl_mmu>; 1830*296602b8SDragan Simic power-domains = <&power RK3399_PD_VOPL>; 1831*296602b8SDragan Simic resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>; 1832*296602b8SDragan Simic reset-names = "axi", "ahb", "dclk"; 1833*296602b8SDragan Simic status = "disabled"; 1834*296602b8SDragan Simic 1835*296602b8SDragan Simic vopl_out: port { 1836*296602b8SDragan Simic #address-cells = <1>; 1837*296602b8SDragan Simic #size-cells = <0>; 1838*296602b8SDragan Simic 1839*296602b8SDragan Simic vopl_out_mipi: endpoint@0 { 1840*296602b8SDragan Simic reg = <0>; 1841*296602b8SDragan Simic remote-endpoint = <&mipi_in_vopl>; 1842*296602b8SDragan Simic }; 1843*296602b8SDragan Simic 1844*296602b8SDragan Simic vopl_out_edp: endpoint@1 { 1845*296602b8SDragan Simic reg = <1>; 1846*296602b8SDragan Simic remote-endpoint = <&edp_in_vopl>; 1847*296602b8SDragan Simic }; 1848*296602b8SDragan Simic 1849*296602b8SDragan Simic vopl_out_hdmi: endpoint@2 { 1850*296602b8SDragan Simic reg = <2>; 1851*296602b8SDragan Simic remote-endpoint = <&hdmi_in_vopl>; 1852*296602b8SDragan Simic }; 1853*296602b8SDragan Simic 1854*296602b8SDragan Simic vopl_out_mipi1: endpoint@3 { 1855*296602b8SDragan Simic reg = <3>; 1856*296602b8SDragan Simic remote-endpoint = <&mipi1_in_vopl>; 1857*296602b8SDragan Simic }; 1858*296602b8SDragan Simic 1859*296602b8SDragan Simic vopl_out_dp: endpoint@4 { 1860*296602b8SDragan Simic reg = <4>; 1861*296602b8SDragan Simic remote-endpoint = <&dp_in_vopl>; 1862*296602b8SDragan Simic }; 1863*296602b8SDragan Simic }; 1864*296602b8SDragan Simic }; 1865*296602b8SDragan Simic 1866*296602b8SDragan Simic vopl_mmu: iommu@ff8f3f00 { 1867*296602b8SDragan Simic compatible = "rockchip,iommu"; 1868*296602b8SDragan Simic reg = <0x0 0xff8f3f00 0x0 0x100>; 1869*296602b8SDragan Simic interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>; 1870*296602b8SDragan Simic clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>; 1871*296602b8SDragan Simic clock-names = "aclk", "iface"; 1872*296602b8SDragan Simic power-domains = <&power RK3399_PD_VOPL>; 1873*296602b8SDragan Simic #iommu-cells = <0>; 1874*296602b8SDragan Simic status = "disabled"; 1875*296602b8SDragan Simic }; 1876*296602b8SDragan Simic 1877*296602b8SDragan Simic vopb: vop@ff900000 { 1878*296602b8SDragan Simic compatible = "rockchip,rk3399-vop-big"; 1879*296602b8SDragan Simic reg = <0x0 0xff900000 0x0 0x2000>, <0x0 0xff902000 0x0 0x1000>; 1880*296602b8SDragan Simic interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>; 1881*296602b8SDragan Simic assigned-clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>; 1882*296602b8SDragan Simic assigned-clock-rates = <400000000>, <100000000>; 1883*296602b8SDragan Simic clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>; 1884*296602b8SDragan Simic clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1885*296602b8SDragan Simic iommus = <&vopb_mmu>; 1886*296602b8SDragan Simic power-domains = <&power RK3399_PD_VOPB>; 1887*296602b8SDragan Simic resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>; 1888*296602b8SDragan Simic reset-names = "axi", "ahb", "dclk"; 1889*296602b8SDragan Simic status = "disabled"; 1890*296602b8SDragan Simic 1891*296602b8SDragan Simic vopb_out: port { 1892*296602b8SDragan Simic #address-cells = <1>; 1893*296602b8SDragan Simic #size-cells = <0>; 1894*296602b8SDragan Simic 1895*296602b8SDragan Simic vopb_out_edp: endpoint@0 { 1896*296602b8SDragan Simic reg = <0>; 1897*296602b8SDragan Simic remote-endpoint = <&edp_in_vopb>; 1898*296602b8SDragan Simic }; 1899*296602b8SDragan Simic 1900*296602b8SDragan Simic vopb_out_mipi: endpoint@1 { 1901*296602b8SDragan Simic reg = <1>; 1902*296602b8SDragan Simic remote-endpoint = <&mipi_in_vopb>; 1903*296602b8SDragan Simic }; 1904*296602b8SDragan Simic 1905*296602b8SDragan Simic vopb_out_hdmi: endpoint@2 { 1906*296602b8SDragan Simic reg = <2>; 1907*296602b8SDragan Simic remote-endpoint = <&hdmi_in_vopb>; 1908*296602b8SDragan Simic }; 1909*296602b8SDragan Simic 1910*296602b8SDragan Simic vopb_out_mipi1: endpoint@3 { 1911*296602b8SDragan Simic reg = <3>; 1912*296602b8SDragan Simic remote-endpoint = <&mipi1_in_vopb>; 1913*296602b8SDragan Simic }; 1914*296602b8SDragan Simic 1915*296602b8SDragan Simic vopb_out_dp: endpoint@4 { 1916*296602b8SDragan Simic reg = <4>; 1917*296602b8SDragan Simic remote-endpoint = <&dp_in_vopb>; 1918*296602b8SDragan Simic }; 1919*296602b8SDragan Simic }; 1920*296602b8SDragan Simic }; 1921*296602b8SDragan Simic 1922*296602b8SDragan Simic vopb_mmu: iommu@ff903f00 { 1923*296602b8SDragan Simic compatible = "rockchip,iommu"; 1924*296602b8SDragan Simic reg = <0x0 0xff903f00 0x0 0x100>; 1925*296602b8SDragan Simic interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>; 1926*296602b8SDragan Simic clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>; 1927*296602b8SDragan Simic clock-names = "aclk", "iface"; 1928*296602b8SDragan Simic power-domains = <&power RK3399_PD_VOPB>; 1929*296602b8SDragan Simic #iommu-cells = <0>; 1930*296602b8SDragan Simic status = "disabled"; 1931*296602b8SDragan Simic }; 1932*296602b8SDragan Simic 1933*296602b8SDragan Simic isp0: isp0@ff910000 { 1934*296602b8SDragan Simic compatible = "rockchip,rk3399-cif-isp"; 1935*296602b8SDragan Simic reg = <0x0 0xff910000 0x0 0x4000>; 1936*296602b8SDragan Simic interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>; 1937*296602b8SDragan Simic clocks = <&cru SCLK_ISP0>, 1938*296602b8SDragan Simic <&cru ACLK_ISP0_WRAPPER>, 1939*296602b8SDragan Simic <&cru HCLK_ISP0_WRAPPER>; 1940*296602b8SDragan Simic clock-names = "isp", "aclk", "hclk"; 1941*296602b8SDragan Simic iommus = <&isp0_mmu>; 1942*296602b8SDragan Simic phys = <&mipi_dphy_rx0>; 1943*296602b8SDragan Simic phy-names = "dphy"; 1944*296602b8SDragan Simic power-domains = <&power RK3399_PD_ISP0>; 1945*296602b8SDragan Simic status = "disabled"; 1946*296602b8SDragan Simic 1947*296602b8SDragan Simic ports { 1948*296602b8SDragan Simic #address-cells = <1>; 1949*296602b8SDragan Simic #size-cells = <0>; 1950*296602b8SDragan Simic 1951*296602b8SDragan Simic port@0 { 1952*296602b8SDragan Simic reg = <0>; 1953*296602b8SDragan Simic #address-cells = <1>; 1954*296602b8SDragan Simic #size-cells = <0>; 1955*296602b8SDragan Simic }; 1956*296602b8SDragan Simic }; 1957*296602b8SDragan Simic }; 1958*296602b8SDragan Simic 1959*296602b8SDragan Simic isp0_mmu: iommu@ff914000 { 1960*296602b8SDragan Simic compatible = "rockchip,iommu"; 1961*296602b8SDragan Simic reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>; 1962*296602b8SDragan Simic interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>; 1963*296602b8SDragan Simic clocks = <&cru ACLK_ISP0_WRAPPER>, <&cru HCLK_ISP0_WRAPPER>; 1964*296602b8SDragan Simic clock-names = "aclk", "iface"; 1965*296602b8SDragan Simic #iommu-cells = <0>; 1966*296602b8SDragan Simic power-domains = <&power RK3399_PD_ISP0>; 1967*296602b8SDragan Simic rockchip,disable-mmu-reset; 1968*296602b8SDragan Simic }; 1969*296602b8SDragan Simic 1970*296602b8SDragan Simic isp1: isp1@ff920000 { 1971*296602b8SDragan Simic compatible = "rockchip,rk3399-cif-isp"; 1972*296602b8SDragan Simic reg = <0x0 0xff920000 0x0 0x4000>; 1973*296602b8SDragan Simic interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>; 1974*296602b8SDragan Simic clocks = <&cru SCLK_ISP1>, 1975*296602b8SDragan Simic <&cru ACLK_ISP1_WRAPPER>, 1976*296602b8SDragan Simic <&cru HCLK_ISP1_WRAPPER>; 1977*296602b8SDragan Simic clock-names = "isp", "aclk", "hclk"; 1978*296602b8SDragan Simic iommus = <&isp1_mmu>; 1979*296602b8SDragan Simic phys = <&mipi_dsi1>; 1980*296602b8SDragan Simic phy-names = "dphy"; 1981*296602b8SDragan Simic power-domains = <&power RK3399_PD_ISP1>; 1982*296602b8SDragan Simic status = "disabled"; 1983*296602b8SDragan Simic 1984*296602b8SDragan Simic ports { 1985*296602b8SDragan Simic #address-cells = <1>; 1986*296602b8SDragan Simic #size-cells = <0>; 1987*296602b8SDragan Simic 1988*296602b8SDragan Simic port@0 { 1989*296602b8SDragan Simic reg = <0>; 1990*296602b8SDragan Simic #address-cells = <1>; 1991*296602b8SDragan Simic #size-cells = <0>; 1992*296602b8SDragan Simic }; 1993*296602b8SDragan Simic }; 1994*296602b8SDragan Simic }; 1995*296602b8SDragan Simic 1996*296602b8SDragan Simic isp1_mmu: iommu@ff924000 { 1997*296602b8SDragan Simic compatible = "rockchip,iommu"; 1998*296602b8SDragan Simic reg = <0x0 0xff924000 0x0 0x100>, <0x0 0xff925000 0x0 0x100>; 1999*296602b8SDragan Simic interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>; 2000*296602b8SDragan Simic clocks = <&cru ACLK_ISP1_WRAPPER>, <&cru HCLK_ISP1_WRAPPER>; 2001*296602b8SDragan Simic clock-names = "aclk", "iface"; 2002*296602b8SDragan Simic #iommu-cells = <0>; 2003*296602b8SDragan Simic power-domains = <&power RK3399_PD_ISP1>; 2004*296602b8SDragan Simic rockchip,disable-mmu-reset; 2005*296602b8SDragan Simic }; 2006*296602b8SDragan Simic 2007*296602b8SDragan Simic hdmi_sound: hdmi-sound { 2008*296602b8SDragan Simic compatible = "simple-audio-card"; 2009*296602b8SDragan Simic simple-audio-card,format = "i2s"; 2010*296602b8SDragan Simic simple-audio-card,mclk-fs = <256>; 2011*296602b8SDragan Simic simple-audio-card,name = "hdmi-sound"; 2012*296602b8SDragan Simic status = "disabled"; 2013*296602b8SDragan Simic 2014*296602b8SDragan Simic simple-audio-card,cpu { 2015*296602b8SDragan Simic sound-dai = <&i2s2>; 2016*296602b8SDragan Simic }; 2017*296602b8SDragan Simic simple-audio-card,codec { 2018*296602b8SDragan Simic sound-dai = <&hdmi>; 2019*296602b8SDragan Simic }; 2020*296602b8SDragan Simic }; 2021*296602b8SDragan Simic 2022*296602b8SDragan Simic hdmi: hdmi@ff940000 { 2023*296602b8SDragan Simic compatible = "rockchip,rk3399-dw-hdmi"; 2024*296602b8SDragan Simic reg = <0x0 0xff940000 0x0 0x20000>; 2025*296602b8SDragan Simic reg-io-width = <4>; 2026*296602b8SDragan Simic interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>; 2027*296602b8SDragan Simic clocks = <&cru PCLK_HDMI_CTRL>, 2028*296602b8SDragan Simic <&cru SCLK_HDMI_SFR>, 2029*296602b8SDragan Simic <&cru SCLK_HDMI_CEC>, 2030*296602b8SDragan Simic <&cru PCLK_VIO_GRF>, 2031*296602b8SDragan Simic <&cru PLL_VPLL>; 2032*296602b8SDragan Simic clock-names = "iahb", "isfr", "cec", "grf", "ref"; 2033*296602b8SDragan Simic power-domains = <&power RK3399_PD_HDCP>; 2034*296602b8SDragan Simic rockchip,grf = <&grf>; 2035*296602b8SDragan Simic #sound-dai-cells = <0>; 2036*296602b8SDragan Simic status = "disabled"; 2037*296602b8SDragan Simic 2038*296602b8SDragan Simic ports { 2039*296602b8SDragan Simic #address-cells = <1>; 2040*296602b8SDragan Simic #size-cells = <0>; 2041*296602b8SDragan Simic 2042*296602b8SDragan Simic hdmi_in: port@0 { 2043*296602b8SDragan Simic reg = <0>; 2044*296602b8SDragan Simic #address-cells = <1>; 2045*296602b8SDragan Simic #size-cells = <0>; 2046*296602b8SDragan Simic 2047*296602b8SDragan Simic hdmi_in_vopb: endpoint@0 { 2048*296602b8SDragan Simic reg = <0>; 2049*296602b8SDragan Simic remote-endpoint = <&vopb_out_hdmi>; 2050*296602b8SDragan Simic }; 2051*296602b8SDragan Simic hdmi_in_vopl: endpoint@1 { 2052*296602b8SDragan Simic reg = <1>; 2053*296602b8SDragan Simic remote-endpoint = <&vopl_out_hdmi>; 2054*296602b8SDragan Simic }; 2055*296602b8SDragan Simic }; 2056*296602b8SDragan Simic 2057*296602b8SDragan Simic hdmi_out: port@1 { 2058*296602b8SDragan Simic reg = <1>; 2059*296602b8SDragan Simic }; 2060*296602b8SDragan Simic }; 2061*296602b8SDragan Simic }; 2062*296602b8SDragan Simic 2063*296602b8SDragan Simic mipi_dsi: dsi@ff960000 { 2064*296602b8SDragan Simic compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi"; 2065*296602b8SDragan Simic reg = <0x0 0xff960000 0x0 0x8000>; 2066*296602b8SDragan Simic interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH 0>; 2067*296602b8SDragan Simic clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI0>, 2068*296602b8SDragan Simic <&cru SCLK_DPHY_TX0_CFG>, <&cru PCLK_VIO_GRF>; 2069*296602b8SDragan Simic clock-names = "ref", "pclk", "phy_cfg", "grf"; 2070*296602b8SDragan Simic power-domains = <&power RK3399_PD_VIO>; 2071*296602b8SDragan Simic resets = <&cru SRST_P_MIPI_DSI0>; 2072*296602b8SDragan Simic reset-names = "apb"; 2073*296602b8SDragan Simic rockchip,grf = <&grf>; 2074*296602b8SDragan Simic status = "disabled"; 2075*296602b8SDragan Simic 2076*296602b8SDragan Simic ports { 2077*296602b8SDragan Simic #address-cells = <1>; 2078*296602b8SDragan Simic #size-cells = <0>; 2079*296602b8SDragan Simic 2080*296602b8SDragan Simic mipi_in: port@0 { 2081*296602b8SDragan Simic reg = <0>; 2082*296602b8SDragan Simic #address-cells = <1>; 2083*296602b8SDragan Simic #size-cells = <0>; 2084*296602b8SDragan Simic 2085*296602b8SDragan Simic mipi_in_vopb: endpoint@0 { 2086*296602b8SDragan Simic reg = <0>; 2087*296602b8SDragan Simic remote-endpoint = <&vopb_out_mipi>; 2088*296602b8SDragan Simic }; 2089*296602b8SDragan Simic 2090*296602b8SDragan Simic mipi_in_vopl: endpoint@1 { 2091*296602b8SDragan Simic reg = <1>; 2092*296602b8SDragan Simic remote-endpoint = <&vopl_out_mipi>; 2093*296602b8SDragan Simic }; 2094*296602b8SDragan Simic }; 2095*296602b8SDragan Simic 2096*296602b8SDragan Simic mipi_out: port@1 { 2097*296602b8SDragan Simic reg = <1>; 2098*296602b8SDragan Simic }; 2099*296602b8SDragan Simic }; 2100*296602b8SDragan Simic }; 2101*296602b8SDragan Simic 2102*296602b8SDragan Simic mipi_dsi1: dsi@ff968000 { 2103*296602b8SDragan Simic compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi"; 2104*296602b8SDragan Simic reg = <0x0 0xff968000 0x0 0x8000>; 2105*296602b8SDragan Simic interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH 0>; 2106*296602b8SDragan Simic clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI1>, 2107*296602b8SDragan Simic <&cru SCLK_DPHY_TX1RX1_CFG>, <&cru PCLK_VIO_GRF>; 2108*296602b8SDragan Simic clock-names = "ref", "pclk", "phy_cfg", "grf"; 2109*296602b8SDragan Simic power-domains = <&power RK3399_PD_VIO>; 2110*296602b8SDragan Simic resets = <&cru SRST_P_MIPI_DSI1>; 2111*296602b8SDragan Simic reset-names = "apb"; 2112*296602b8SDragan Simic rockchip,grf = <&grf>; 2113*296602b8SDragan Simic #phy-cells = <0>; 2114*296602b8SDragan Simic status = "disabled"; 2115*296602b8SDragan Simic 2116*296602b8SDragan Simic ports { 2117*296602b8SDragan Simic #address-cells = <1>; 2118*296602b8SDragan Simic #size-cells = <0>; 2119*296602b8SDragan Simic 2120*296602b8SDragan Simic mipi1_in: port@0 { 2121*296602b8SDragan Simic reg = <0>; 2122*296602b8SDragan Simic #address-cells = <1>; 2123*296602b8SDragan Simic #size-cells = <0>; 2124*296602b8SDragan Simic 2125*296602b8SDragan Simic mipi1_in_vopb: endpoint@0 { 2126*296602b8SDragan Simic reg = <0>; 2127*296602b8SDragan Simic remote-endpoint = <&vopb_out_mipi1>; 2128*296602b8SDragan Simic }; 2129*296602b8SDragan Simic 2130*296602b8SDragan Simic mipi1_in_vopl: endpoint@1 { 2131*296602b8SDragan Simic reg = <1>; 2132*296602b8SDragan Simic remote-endpoint = <&vopl_out_mipi1>; 2133*296602b8SDragan Simic }; 2134*296602b8SDragan Simic }; 2135*296602b8SDragan Simic 2136*296602b8SDragan Simic mipi1_out: port@1 { 2137*296602b8SDragan Simic reg = <1>; 2138*296602b8SDragan Simic }; 2139*296602b8SDragan Simic }; 2140*296602b8SDragan Simic }; 2141*296602b8SDragan Simic 2142*296602b8SDragan Simic edp: dp@ff970000 { 2143*296602b8SDragan Simic compatible = "rockchip,rk3399-edp"; 2144*296602b8SDragan Simic reg = <0x0 0xff970000 0x0 0x8000>; 2145*296602b8SDragan Simic interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>; 2146*296602b8SDragan Simic clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>, <&cru PCLK_VIO_GRF>; 2147*296602b8SDragan Simic clock-names = "dp", "pclk", "grf"; 2148*296602b8SDragan Simic pinctrl-names = "default"; 2149*296602b8SDragan Simic pinctrl-0 = <&edp_hpd>; 2150*296602b8SDragan Simic power-domains = <&power RK3399_PD_EDP>; 2151*296602b8SDragan Simic resets = <&cru SRST_P_EDP_CTRL>; 2152*296602b8SDragan Simic reset-names = "dp"; 2153*296602b8SDragan Simic rockchip,grf = <&grf>; 2154*296602b8SDragan Simic status = "disabled"; 2155*296602b8SDragan Simic 2156*296602b8SDragan Simic ports { 2157*296602b8SDragan Simic #address-cells = <1>; 2158*296602b8SDragan Simic #size-cells = <0>; 2159*296602b8SDragan Simic 2160*296602b8SDragan Simic edp_in: port@0 { 2161*296602b8SDragan Simic reg = <0>; 2162*296602b8SDragan Simic #address-cells = <1>; 2163*296602b8SDragan Simic #size-cells = <0>; 2164*296602b8SDragan Simic 2165*296602b8SDragan Simic edp_in_vopb: endpoint@0 { 2166*296602b8SDragan Simic reg = <0>; 2167*296602b8SDragan Simic remote-endpoint = <&vopb_out_edp>; 2168*296602b8SDragan Simic }; 2169*296602b8SDragan Simic 2170*296602b8SDragan Simic edp_in_vopl: endpoint@1 { 2171*296602b8SDragan Simic reg = <1>; 2172*296602b8SDragan Simic remote-endpoint = <&vopl_out_edp>; 2173*296602b8SDragan Simic }; 2174*296602b8SDragan Simic }; 2175*296602b8SDragan Simic 2176*296602b8SDragan Simic edp_out: port@1 { 2177*296602b8SDragan Simic reg = <1>; 2178*296602b8SDragan Simic }; 2179*296602b8SDragan Simic }; 2180*296602b8SDragan Simic }; 2181*296602b8SDragan Simic 2182*296602b8SDragan Simic gpu: gpu@ff9a0000 { 2183*296602b8SDragan Simic compatible = "rockchip,rk3399-mali", "arm,mali-t860"; 2184*296602b8SDragan Simic reg = <0x0 0xff9a0000 0x0 0x10000>; 2185*296602b8SDragan Simic interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH 0>, 2186*296602b8SDragan Simic <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH 0>, 2187*296602b8SDragan Simic <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH 0>; 2188*296602b8SDragan Simic interrupt-names = "job", "mmu", "gpu"; 2189*296602b8SDragan Simic clocks = <&cru ACLK_GPU>; 2190*296602b8SDragan Simic #cooling-cells = <2>; 2191*296602b8SDragan Simic dynamic-power-coefficient = <2640>; 2192*296602b8SDragan Simic power-domains = <&power RK3399_PD_GPU>; 2193*296602b8SDragan Simic status = "disabled"; 2194*296602b8SDragan Simic }; 2195*296602b8SDragan Simic 2196*296602b8SDragan Simic pinctrl: pinctrl { 2197*296602b8SDragan Simic compatible = "rockchip,rk3399-pinctrl"; 2198*296602b8SDragan Simic rockchip,grf = <&grf>; 2199*296602b8SDragan Simic rockchip,pmu = <&pmugrf>; 2200*296602b8SDragan Simic #address-cells = <2>; 2201*296602b8SDragan Simic #size-cells = <2>; 2202*296602b8SDragan Simic ranges; 2203*296602b8SDragan Simic 2204*296602b8SDragan Simic gpio0: gpio@ff720000 { 2205*296602b8SDragan Simic compatible = "rockchip,gpio-bank"; 2206*296602b8SDragan Simic reg = <0x0 0xff720000 0x0 0x100>; 2207*296602b8SDragan Simic clocks = <&pmucru PCLK_GPIO0_PMU>; 2208*296602b8SDragan Simic interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>; 2209*296602b8SDragan Simic 2210*296602b8SDragan Simic gpio-controller; 2211*296602b8SDragan Simic #gpio-cells = <0x2>; 2212*296602b8SDragan Simic 2213*296602b8SDragan Simic interrupt-controller; 2214*296602b8SDragan Simic #interrupt-cells = <0x2>; 2215*296602b8SDragan Simic }; 2216*296602b8SDragan Simic 2217*296602b8SDragan Simic gpio1: gpio@ff730000 { 2218*296602b8SDragan Simic compatible = "rockchip,gpio-bank"; 2219*296602b8SDragan Simic reg = <0x0 0xff730000 0x0 0x100>; 2220*296602b8SDragan Simic clocks = <&pmucru PCLK_GPIO1_PMU>; 2221*296602b8SDragan Simic interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH 0>; 2222*296602b8SDragan Simic 2223*296602b8SDragan Simic gpio-controller; 2224*296602b8SDragan Simic #gpio-cells = <0x2>; 2225*296602b8SDragan Simic 2226*296602b8SDragan Simic interrupt-controller; 2227*296602b8SDragan Simic #interrupt-cells = <0x2>; 2228*296602b8SDragan Simic }; 2229*296602b8SDragan Simic 2230*296602b8SDragan Simic gpio2: gpio@ff780000 { 2231*296602b8SDragan Simic compatible = "rockchip,gpio-bank"; 2232*296602b8SDragan Simic reg = <0x0 0xff780000 0x0 0x100>; 2233*296602b8SDragan Simic clocks = <&cru PCLK_GPIO2>; 2234*296602b8SDragan Simic interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH 0>; 2235*296602b8SDragan Simic 2236*296602b8SDragan Simic gpio-controller; 2237*296602b8SDragan Simic #gpio-cells = <0x2>; 2238*296602b8SDragan Simic 2239*296602b8SDragan Simic interrupt-controller; 2240*296602b8SDragan Simic #interrupt-cells = <0x2>; 2241*296602b8SDragan Simic }; 2242*296602b8SDragan Simic 2243*296602b8SDragan Simic gpio3: gpio@ff788000 { 2244*296602b8SDragan Simic compatible = "rockchip,gpio-bank"; 2245*296602b8SDragan Simic reg = <0x0 0xff788000 0x0 0x100>; 2246*296602b8SDragan Simic clocks = <&cru PCLK_GPIO3>; 2247*296602b8SDragan Simic interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH 0>; 2248*296602b8SDragan Simic 2249*296602b8SDragan Simic gpio-controller; 2250*296602b8SDragan Simic #gpio-cells = <0x2>; 2251*296602b8SDragan Simic 2252*296602b8SDragan Simic interrupt-controller; 2253*296602b8SDragan Simic #interrupt-cells = <0x2>; 2254*296602b8SDragan Simic }; 2255*296602b8SDragan Simic 2256*296602b8SDragan Simic gpio4: gpio@ff790000 { 2257*296602b8SDragan Simic compatible = "rockchip,gpio-bank"; 2258*296602b8SDragan Simic reg = <0x0 0xff790000 0x0 0x100>; 2259*296602b8SDragan Simic clocks = <&cru PCLK_GPIO4>; 2260*296602b8SDragan Simic interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>; 2261*296602b8SDragan Simic 2262*296602b8SDragan Simic gpio-controller; 2263*296602b8SDragan Simic #gpio-cells = <0x2>; 2264*296602b8SDragan Simic 2265*296602b8SDragan Simic interrupt-controller; 2266*296602b8SDragan Simic #interrupt-cells = <0x2>; 2267*296602b8SDragan Simic }; 2268*296602b8SDragan Simic 2269*296602b8SDragan Simic pcfg_pull_up: pcfg-pull-up { 2270*296602b8SDragan Simic bias-pull-up; 2271*296602b8SDragan Simic }; 2272*296602b8SDragan Simic 2273*296602b8SDragan Simic pcfg_pull_down: pcfg-pull-down { 2274*296602b8SDragan Simic bias-pull-down; 2275*296602b8SDragan Simic }; 2276*296602b8SDragan Simic 2277*296602b8SDragan Simic pcfg_pull_none: pcfg-pull-none { 2278*296602b8SDragan Simic bias-disable; 2279*296602b8SDragan Simic }; 2280*296602b8SDragan Simic 2281*296602b8SDragan Simic pcfg_pull_none_12ma: pcfg-pull-none-12ma { 2282*296602b8SDragan Simic bias-disable; 2283*296602b8SDragan Simic drive-strength = <12>; 2284*296602b8SDragan Simic }; 2285*296602b8SDragan Simic 2286*296602b8SDragan Simic pcfg_pull_none_13ma: pcfg-pull-none-13ma { 2287*296602b8SDragan Simic bias-disable; 2288*296602b8SDragan Simic drive-strength = <13>; 2289*296602b8SDragan Simic }; 2290*296602b8SDragan Simic 2291*296602b8SDragan Simic pcfg_pull_none_18ma: pcfg-pull-none-18ma { 2292*296602b8SDragan Simic bias-disable; 2293*296602b8SDragan Simic drive-strength = <18>; 2294*296602b8SDragan Simic }; 2295*296602b8SDragan Simic 2296*296602b8SDragan Simic pcfg_pull_none_20ma: pcfg-pull-none-20ma { 2297*296602b8SDragan Simic bias-disable; 2298*296602b8SDragan Simic drive-strength = <20>; 2299*296602b8SDragan Simic }; 2300*296602b8SDragan Simic 2301*296602b8SDragan Simic pcfg_pull_up_2ma: pcfg-pull-up-2ma { 2302*296602b8SDragan Simic bias-pull-up; 2303*296602b8SDragan Simic drive-strength = <2>; 2304*296602b8SDragan Simic }; 2305*296602b8SDragan Simic 2306*296602b8SDragan Simic pcfg_pull_up_8ma: pcfg-pull-up-8ma { 2307*296602b8SDragan Simic bias-pull-up; 2308*296602b8SDragan Simic drive-strength = <8>; 2309*296602b8SDragan Simic }; 2310*296602b8SDragan Simic 2311*296602b8SDragan Simic pcfg_pull_up_18ma: pcfg-pull-up-18ma { 2312*296602b8SDragan Simic bias-pull-up; 2313*296602b8SDragan Simic drive-strength = <18>; 2314*296602b8SDragan Simic }; 2315*296602b8SDragan Simic 2316*296602b8SDragan Simic pcfg_pull_up_20ma: pcfg-pull-up-20ma { 2317*296602b8SDragan Simic bias-pull-up; 2318*296602b8SDragan Simic drive-strength = <20>; 2319*296602b8SDragan Simic }; 2320*296602b8SDragan Simic 2321*296602b8SDragan Simic pcfg_pull_down_4ma: pcfg-pull-down-4ma { 2322*296602b8SDragan Simic bias-pull-down; 2323*296602b8SDragan Simic drive-strength = <4>; 2324*296602b8SDragan Simic }; 2325*296602b8SDragan Simic 2326*296602b8SDragan Simic pcfg_pull_down_8ma: pcfg-pull-down-8ma { 2327*296602b8SDragan Simic bias-pull-down; 2328*296602b8SDragan Simic drive-strength = <8>; 2329*296602b8SDragan Simic }; 2330*296602b8SDragan Simic 2331*296602b8SDragan Simic pcfg_pull_down_12ma: pcfg-pull-down-12ma { 2332*296602b8SDragan Simic bias-pull-down; 2333*296602b8SDragan Simic drive-strength = <12>; 2334*296602b8SDragan Simic }; 2335*296602b8SDragan Simic 2336*296602b8SDragan Simic pcfg_pull_down_18ma: pcfg-pull-down-18ma { 2337*296602b8SDragan Simic bias-pull-down; 2338*296602b8SDragan Simic drive-strength = <18>; 2339*296602b8SDragan Simic }; 2340*296602b8SDragan Simic 2341*296602b8SDragan Simic pcfg_pull_down_20ma: pcfg-pull-down-20ma { 2342*296602b8SDragan Simic bias-pull-down; 2343*296602b8SDragan Simic drive-strength = <20>; 2344*296602b8SDragan Simic }; 2345*296602b8SDragan Simic 2346*296602b8SDragan Simic pcfg_output_high: pcfg-output-high { 2347*296602b8SDragan Simic output-high; 2348*296602b8SDragan Simic }; 2349*296602b8SDragan Simic 2350*296602b8SDragan Simic pcfg_output_low: pcfg-output-low { 2351*296602b8SDragan Simic output-low; 2352*296602b8SDragan Simic }; 2353*296602b8SDragan Simic 2354*296602b8SDragan Simic pcfg_input_enable: pcfg-input-enable { 2355*296602b8SDragan Simic input-enable; 2356*296602b8SDragan Simic }; 2357*296602b8SDragan Simic 2358*296602b8SDragan Simic pcfg_input_pull_up: pcfg-input-pull-up { 2359*296602b8SDragan Simic input-enable; 2360*296602b8SDragan Simic bias-pull-up; 2361*296602b8SDragan Simic }; 2362*296602b8SDragan Simic 2363*296602b8SDragan Simic pcfg_input_pull_down: pcfg-input-pull-down { 2364*296602b8SDragan Simic input-enable; 2365*296602b8SDragan Simic bias-pull-down; 2366*296602b8SDragan Simic }; 2367*296602b8SDragan Simic 2368*296602b8SDragan Simic clock { 2369*296602b8SDragan Simic clk_32k: clk-32k { 2370*296602b8SDragan Simic rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>; 2371*296602b8SDragan Simic }; 2372*296602b8SDragan Simic }; 2373*296602b8SDragan Simic 2374*296602b8SDragan Simic cif { 2375*296602b8SDragan Simic cif_clkin: cif-clkin { 2376*296602b8SDragan Simic rockchip,pins = 2377*296602b8SDragan Simic <2 RK_PB2 3 &pcfg_pull_none>; 2378*296602b8SDragan Simic }; 2379*296602b8SDragan Simic 2380*296602b8SDragan Simic cif_clkouta: cif-clkouta { 2381*296602b8SDragan Simic rockchip,pins = 2382*296602b8SDragan Simic <2 RK_PB3 3 &pcfg_pull_none>; 2383*296602b8SDragan Simic }; 2384*296602b8SDragan Simic }; 2385*296602b8SDragan Simic 2386*296602b8SDragan Simic edp { 2387*296602b8SDragan Simic edp_hpd: edp-hpd { 2388*296602b8SDragan Simic rockchip,pins = 2389*296602b8SDragan Simic <4 RK_PC7 2 &pcfg_pull_none>; 2390*296602b8SDragan Simic }; 2391*296602b8SDragan Simic }; 2392*296602b8SDragan Simic 2393*296602b8SDragan Simic gmac { 2394*296602b8SDragan Simic rgmii_pins: rgmii-pins { 2395*296602b8SDragan Simic rockchip,pins = 2396*296602b8SDragan Simic /* mac_txclk */ 2397*296602b8SDragan Simic <3 RK_PC1 1 &pcfg_pull_none_13ma>, 2398*296602b8SDragan Simic /* mac_rxclk */ 2399*296602b8SDragan Simic <3 RK_PB6 1 &pcfg_pull_none>, 2400*296602b8SDragan Simic /* mac_mdio */ 2401*296602b8SDragan Simic <3 RK_PB5 1 &pcfg_pull_none>, 2402*296602b8SDragan Simic /* mac_txen */ 2403*296602b8SDragan Simic <3 RK_PB4 1 &pcfg_pull_none_13ma>, 2404*296602b8SDragan Simic /* mac_clk */ 2405*296602b8SDragan Simic <3 RK_PB3 1 &pcfg_pull_none>, 2406*296602b8SDragan Simic /* mac_rxdv */ 2407*296602b8SDragan Simic <3 RK_PB1 1 &pcfg_pull_none>, 2408*296602b8SDragan Simic /* mac_mdc */ 2409*296602b8SDragan Simic <3 RK_PB0 1 &pcfg_pull_none>, 2410*296602b8SDragan Simic /* mac_rxd1 */ 2411*296602b8SDragan Simic <3 RK_PA7 1 &pcfg_pull_none>, 2412*296602b8SDragan Simic /* mac_rxd0 */ 2413*296602b8SDragan Simic <3 RK_PA6 1 &pcfg_pull_none>, 2414*296602b8SDragan Simic /* mac_txd1 */ 2415*296602b8SDragan Simic <3 RK_PA5 1 &pcfg_pull_none_13ma>, 2416*296602b8SDragan Simic /* mac_txd0 */ 2417*296602b8SDragan Simic <3 RK_PA4 1 &pcfg_pull_none_13ma>, 2418*296602b8SDragan Simic /* mac_rxd3 */ 2419*296602b8SDragan Simic <3 RK_PA3 1 &pcfg_pull_none>, 2420*296602b8SDragan Simic /* mac_rxd2 */ 2421*296602b8SDragan Simic <3 RK_PA2 1 &pcfg_pull_none>, 2422*296602b8SDragan Simic /* mac_txd3 */ 2423*296602b8SDragan Simic <3 RK_PA1 1 &pcfg_pull_none_13ma>, 2424*296602b8SDragan Simic /* mac_txd2 */ 2425*296602b8SDragan Simic <3 RK_PA0 1 &pcfg_pull_none_13ma>; 2426*296602b8SDragan Simic }; 2427*296602b8SDragan Simic 2428*296602b8SDragan Simic rmii_pins: rmii-pins { 2429*296602b8SDragan Simic rockchip,pins = 2430*296602b8SDragan Simic /* mac_mdio */ 2431*296602b8SDragan Simic <3 RK_PB5 1 &pcfg_pull_none>, 2432*296602b8SDragan Simic /* mac_txen */ 2433*296602b8SDragan Simic <3 RK_PB4 1 &pcfg_pull_none_13ma>, 2434*296602b8SDragan Simic /* mac_clk */ 2435*296602b8SDragan Simic <3 RK_PB3 1 &pcfg_pull_none>, 2436*296602b8SDragan Simic /* mac_rxer */ 2437*296602b8SDragan Simic <3 RK_PB2 1 &pcfg_pull_none>, 2438*296602b8SDragan Simic /* mac_rxdv */ 2439*296602b8SDragan Simic <3 RK_PB1 1 &pcfg_pull_none>, 2440*296602b8SDragan Simic /* mac_mdc */ 2441*296602b8SDragan Simic <3 RK_PB0 1 &pcfg_pull_none>, 2442*296602b8SDragan Simic /* mac_rxd1 */ 2443*296602b8SDragan Simic <3 RK_PA7 1 &pcfg_pull_none>, 2444*296602b8SDragan Simic /* mac_rxd0 */ 2445*296602b8SDragan Simic <3 RK_PA6 1 &pcfg_pull_none>, 2446*296602b8SDragan Simic /* mac_txd1 */ 2447*296602b8SDragan Simic <3 RK_PA5 1 &pcfg_pull_none_13ma>, 2448*296602b8SDragan Simic /* mac_txd0 */ 2449*296602b8SDragan Simic <3 RK_PA4 1 &pcfg_pull_none_13ma>; 2450*296602b8SDragan Simic }; 2451*296602b8SDragan Simic }; 2452*296602b8SDragan Simic 2453*296602b8SDragan Simic i2c0 { 2454*296602b8SDragan Simic i2c0_xfer: i2c0-xfer { 2455*296602b8SDragan Simic rockchip,pins = 2456*296602b8SDragan Simic <1 RK_PB7 2 &pcfg_pull_none>, 2457*296602b8SDragan Simic <1 RK_PC0 2 &pcfg_pull_none>; 2458*296602b8SDragan Simic }; 2459*296602b8SDragan Simic }; 2460*296602b8SDragan Simic 2461*296602b8SDragan Simic i2c1 { 2462*296602b8SDragan Simic i2c1_xfer: i2c1-xfer { 2463*296602b8SDragan Simic rockchip,pins = 2464*296602b8SDragan Simic <4 RK_PA2 1 &pcfg_pull_none>, 2465*296602b8SDragan Simic <4 RK_PA1 1 &pcfg_pull_none>; 2466*296602b8SDragan Simic }; 2467*296602b8SDragan Simic }; 2468*296602b8SDragan Simic 2469*296602b8SDragan Simic i2c2 { 2470*296602b8SDragan Simic i2c2_xfer: i2c2-xfer { 2471*296602b8SDragan Simic rockchip,pins = 2472*296602b8SDragan Simic <2 RK_PA1 2 &pcfg_pull_none_12ma>, 2473*296602b8SDragan Simic <2 RK_PA0 2 &pcfg_pull_none_12ma>; 2474*296602b8SDragan Simic }; 2475*296602b8SDragan Simic }; 2476*296602b8SDragan Simic 2477*296602b8SDragan Simic i2c3 { 2478*296602b8SDragan Simic i2c3_xfer: i2c3-xfer { 2479*296602b8SDragan Simic rockchip,pins = 2480*296602b8SDragan Simic <4 RK_PC1 1 &pcfg_pull_none>, 2481*296602b8SDragan Simic <4 RK_PC0 1 &pcfg_pull_none>; 2482*296602b8SDragan Simic }; 2483*296602b8SDragan Simic }; 2484*296602b8SDragan Simic 2485*296602b8SDragan Simic i2c4 { 2486*296602b8SDragan Simic i2c4_xfer: i2c4-xfer { 2487*296602b8SDragan Simic rockchip,pins = 2488*296602b8SDragan Simic <1 RK_PB4 1 &pcfg_pull_none>, 2489*296602b8SDragan Simic <1 RK_PB3 1 &pcfg_pull_none>; 2490*296602b8SDragan Simic }; 2491*296602b8SDragan Simic }; 2492*296602b8SDragan Simic 2493*296602b8SDragan Simic i2c5 { 2494*296602b8SDragan Simic i2c5_xfer: i2c5-xfer { 2495*296602b8SDragan Simic rockchip,pins = 2496*296602b8SDragan Simic <3 RK_PB3 2 &pcfg_pull_none>, 2497*296602b8SDragan Simic <3 RK_PB2 2 &pcfg_pull_none>; 2498*296602b8SDragan Simic }; 2499*296602b8SDragan Simic }; 2500*296602b8SDragan Simic 2501*296602b8SDragan Simic i2c6 { 2502*296602b8SDragan Simic i2c6_xfer: i2c6-xfer { 2503*296602b8SDragan Simic rockchip,pins = 2504*296602b8SDragan Simic <2 RK_PB2 2 &pcfg_pull_none>, 2505*296602b8SDragan Simic <2 RK_PB1 2 &pcfg_pull_none>; 2506*296602b8SDragan Simic }; 2507*296602b8SDragan Simic }; 2508*296602b8SDragan Simic 2509*296602b8SDragan Simic i2c7 { 2510*296602b8SDragan Simic i2c7_xfer: i2c7-xfer { 2511*296602b8SDragan Simic rockchip,pins = 2512*296602b8SDragan Simic <2 RK_PB0 2 &pcfg_pull_none>, 2513*296602b8SDragan Simic <2 RK_PA7 2 &pcfg_pull_none>; 2514*296602b8SDragan Simic }; 2515*296602b8SDragan Simic }; 2516*296602b8SDragan Simic 2517*296602b8SDragan Simic i2c8 { 2518*296602b8SDragan Simic i2c8_xfer: i2c8-xfer { 2519*296602b8SDragan Simic rockchip,pins = 2520*296602b8SDragan Simic <1 RK_PC5 1 &pcfg_pull_none>, 2521*296602b8SDragan Simic <1 RK_PC4 1 &pcfg_pull_none>; 2522*296602b8SDragan Simic }; 2523*296602b8SDragan Simic }; 2524*296602b8SDragan Simic 2525*296602b8SDragan Simic i2s0 { 2526*296602b8SDragan Simic i2s0_2ch_bus: i2s0-2ch-bus { 2527*296602b8SDragan Simic rockchip,pins = 2528*296602b8SDragan Simic <3 RK_PD0 1 &pcfg_pull_none>, 2529*296602b8SDragan Simic <3 RK_PD1 1 &pcfg_pull_none>, 2530*296602b8SDragan Simic <3 RK_PD2 1 &pcfg_pull_none>, 2531*296602b8SDragan Simic <3 RK_PD3 1 &pcfg_pull_none>, 2532*296602b8SDragan Simic <3 RK_PD7 1 &pcfg_pull_none>, 2533*296602b8SDragan Simic <4 RK_PA0 1 &pcfg_pull_none>; 2534*296602b8SDragan Simic }; 2535*296602b8SDragan Simic 2536*296602b8SDragan Simic i2s0_2ch_bus_bclk_off: i2s0-2ch-bus-bclk-off { 2537*296602b8SDragan Simic rockchip,pins = 2538*296602b8SDragan Simic <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, 2539*296602b8SDragan Simic <3 RK_PD1 1 &pcfg_pull_none>, 2540*296602b8SDragan Simic <3 RK_PD2 1 &pcfg_pull_none>, 2541*296602b8SDragan Simic <3 RK_PD3 1 &pcfg_pull_none>, 2542*296602b8SDragan Simic <3 RK_PD7 1 &pcfg_pull_none>, 2543*296602b8SDragan Simic <4 RK_PA0 1 &pcfg_pull_none>; 2544*296602b8SDragan Simic }; 2545*296602b8SDragan Simic 2546*296602b8SDragan Simic i2s0_8ch_bus: i2s0-8ch-bus { 2547*296602b8SDragan Simic rockchip,pins = 2548*296602b8SDragan Simic <3 RK_PD0 1 &pcfg_pull_none>, 2549*296602b8SDragan Simic <3 RK_PD1 1 &pcfg_pull_none>, 2550*296602b8SDragan Simic <3 RK_PD2 1 &pcfg_pull_none>, 2551*296602b8SDragan Simic <3 RK_PD3 1 &pcfg_pull_none>, 2552*296602b8SDragan Simic <3 RK_PD4 1 &pcfg_pull_none>, 2553*296602b8SDragan Simic <3 RK_PD5 1 &pcfg_pull_none>, 2554*296602b8SDragan Simic <3 RK_PD6 1 &pcfg_pull_none>, 2555*296602b8SDragan Simic <3 RK_PD7 1 &pcfg_pull_none>, 2556*296602b8SDragan Simic <4 RK_PA0 1 &pcfg_pull_none>; 2557*296602b8SDragan Simic }; 2558*296602b8SDragan Simic 2559*296602b8SDragan Simic i2s0_8ch_bus_bclk_off: i2s0-8ch-bus-bclk-off { 2560*296602b8SDragan Simic rockchip,pins = 2561*296602b8SDragan Simic <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, 2562*296602b8SDragan Simic <3 RK_PD1 1 &pcfg_pull_none>, 2563*296602b8SDragan Simic <3 RK_PD2 1 &pcfg_pull_none>, 2564*296602b8SDragan Simic <3 RK_PD3 1 &pcfg_pull_none>, 2565*296602b8SDragan Simic <3 RK_PD4 1 &pcfg_pull_none>, 2566*296602b8SDragan Simic <3 RK_PD5 1 &pcfg_pull_none>, 2567*296602b8SDragan Simic <3 RK_PD6 1 &pcfg_pull_none>, 2568*296602b8SDragan Simic <3 RK_PD7 1 &pcfg_pull_none>, 2569*296602b8SDragan Simic <4 RK_PA0 1 &pcfg_pull_none>; 2570*296602b8SDragan Simic }; 2571*296602b8SDragan Simic }; 2572*296602b8SDragan Simic 2573*296602b8SDragan Simic i2s1 { 2574*296602b8SDragan Simic i2s1_2ch_bus: i2s1-2ch-bus { 2575*296602b8SDragan Simic rockchip,pins = 2576*296602b8SDragan Simic <4 RK_PA3 1 &pcfg_pull_none>, 2577*296602b8SDragan Simic <4 RK_PA4 1 &pcfg_pull_none>, 2578*296602b8SDragan Simic <4 RK_PA5 1 &pcfg_pull_none>, 2579*296602b8SDragan Simic <4 RK_PA6 1 &pcfg_pull_none>, 2580*296602b8SDragan Simic <4 RK_PA7 1 &pcfg_pull_none>; 2581*296602b8SDragan Simic }; 2582*296602b8SDragan Simic 2583*296602b8SDragan Simic i2s1_2ch_bus_bclk_off: i2s1-2ch-bus-bclk-off { 2584*296602b8SDragan Simic rockchip,pins = 2585*296602b8SDragan Simic <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>, 2586*296602b8SDragan Simic <4 RK_PA4 1 &pcfg_pull_none>, 2587*296602b8SDragan Simic <4 RK_PA5 1 &pcfg_pull_none>, 2588*296602b8SDragan Simic <4 RK_PA6 1 &pcfg_pull_none>, 2589*296602b8SDragan Simic <4 RK_PA7 1 &pcfg_pull_none>; 2590*296602b8SDragan Simic }; 2591*296602b8SDragan Simic }; 2592*296602b8SDragan Simic 2593*296602b8SDragan Simic sdio0 { 2594*296602b8SDragan Simic sdio0_bus1: sdio0-bus1 { 2595*296602b8SDragan Simic rockchip,pins = 2596*296602b8SDragan Simic <2 RK_PC4 1 &pcfg_pull_up>; 2597*296602b8SDragan Simic }; 2598*296602b8SDragan Simic 2599*296602b8SDragan Simic sdio0_bus4: sdio0-bus4 { 2600*296602b8SDragan Simic rockchip,pins = 2601*296602b8SDragan Simic <2 RK_PC4 1 &pcfg_pull_up>, 2602*296602b8SDragan Simic <2 RK_PC5 1 &pcfg_pull_up>, 2603*296602b8SDragan Simic <2 RK_PC6 1 &pcfg_pull_up>, 2604*296602b8SDragan Simic <2 RK_PC7 1 &pcfg_pull_up>; 2605*296602b8SDragan Simic }; 2606*296602b8SDragan Simic 2607*296602b8SDragan Simic sdio0_cmd: sdio0-cmd { 2608*296602b8SDragan Simic rockchip,pins = 2609*296602b8SDragan Simic <2 RK_PD0 1 &pcfg_pull_up>; 2610*296602b8SDragan Simic }; 2611*296602b8SDragan Simic 2612*296602b8SDragan Simic sdio0_clk: sdio0-clk { 2613*296602b8SDragan Simic rockchip,pins = 2614*296602b8SDragan Simic <2 RK_PD1 1 &pcfg_pull_none>; 2615*296602b8SDragan Simic }; 2616*296602b8SDragan Simic 2617*296602b8SDragan Simic sdio0_cd: sdio0-cd { 2618*296602b8SDragan Simic rockchip,pins = 2619*296602b8SDragan Simic <2 RK_PD2 1 &pcfg_pull_up>; 2620*296602b8SDragan Simic }; 2621*296602b8SDragan Simic 2622*296602b8SDragan Simic sdio0_pwr: sdio0-pwr { 2623*296602b8SDragan Simic rockchip,pins = 2624*296602b8SDragan Simic <2 RK_PD3 1 &pcfg_pull_up>; 2625*296602b8SDragan Simic }; 2626*296602b8SDragan Simic 2627*296602b8SDragan Simic sdio0_bkpwr: sdio0-bkpwr { 2628*296602b8SDragan Simic rockchip,pins = 2629*296602b8SDragan Simic <2 RK_PD4 1 &pcfg_pull_up>; 2630*296602b8SDragan Simic }; 2631*296602b8SDragan Simic 2632*296602b8SDragan Simic sdio0_wp: sdio0-wp { 2633*296602b8SDragan Simic rockchip,pins = 2634*296602b8SDragan Simic <0 RK_PA3 1 &pcfg_pull_up>; 2635*296602b8SDragan Simic }; 2636*296602b8SDragan Simic 2637*296602b8SDragan Simic sdio0_int: sdio0-int { 2638*296602b8SDragan Simic rockchip,pins = 2639*296602b8SDragan Simic <0 RK_PA4 1 &pcfg_pull_up>; 2640*296602b8SDragan Simic }; 2641*296602b8SDragan Simic }; 2642*296602b8SDragan Simic 2643*296602b8SDragan Simic sdmmc { 2644*296602b8SDragan Simic sdmmc_bus1: sdmmc-bus1 { 2645*296602b8SDragan Simic rockchip,pins = 2646*296602b8SDragan Simic <4 RK_PB0 1 &pcfg_pull_up>; 2647*296602b8SDragan Simic }; 2648*296602b8SDragan Simic 2649*296602b8SDragan Simic sdmmc_bus4: sdmmc-bus4 { 2650*296602b8SDragan Simic rockchip,pins = 2651*296602b8SDragan Simic <4 RK_PB0 1 &pcfg_pull_up>, 2652*296602b8SDragan Simic <4 RK_PB1 1 &pcfg_pull_up>, 2653*296602b8SDragan Simic <4 RK_PB2 1 &pcfg_pull_up>, 2654*296602b8SDragan Simic <4 RK_PB3 1 &pcfg_pull_up>; 2655*296602b8SDragan Simic }; 2656*296602b8SDragan Simic 2657*296602b8SDragan Simic sdmmc_clk: sdmmc-clk { 2658*296602b8SDragan Simic rockchip,pins = 2659*296602b8SDragan Simic <4 RK_PB4 1 &pcfg_pull_none>; 2660*296602b8SDragan Simic }; 2661*296602b8SDragan Simic 2662*296602b8SDragan Simic sdmmc_cmd: sdmmc-cmd { 2663*296602b8SDragan Simic rockchip,pins = 2664*296602b8SDragan Simic <4 RK_PB5 1 &pcfg_pull_up>; 2665*296602b8SDragan Simic }; 2666*296602b8SDragan Simic 2667*296602b8SDragan Simic sdmmc_cd: sdmmc-cd { 2668*296602b8SDragan Simic rockchip,pins = 2669*296602b8SDragan Simic <0 RK_PA7 1 &pcfg_pull_up>; 2670*296602b8SDragan Simic }; 2671*296602b8SDragan Simic 2672*296602b8SDragan Simic sdmmc_wp: sdmmc-wp { 2673*296602b8SDragan Simic rockchip,pins = 2674*296602b8SDragan Simic <0 RK_PB0 1 &pcfg_pull_up>; 2675*296602b8SDragan Simic }; 2676*296602b8SDragan Simic }; 2677*296602b8SDragan Simic 2678*296602b8SDragan Simic suspend { 2679*296602b8SDragan Simic ap_pwroff: ap-pwroff { 2680*296602b8SDragan Simic rockchip,pins = <1 RK_PA5 1 &pcfg_pull_none>; 2681*296602b8SDragan Simic }; 2682*296602b8SDragan Simic 2683*296602b8SDragan Simic ddrio_pwroff: ddrio-pwroff { 2684*296602b8SDragan Simic rockchip,pins = <0 RK_PA1 1 &pcfg_pull_none>; 2685*296602b8SDragan Simic }; 2686*296602b8SDragan Simic }; 2687*296602b8SDragan Simic 2688*296602b8SDragan Simic spdif { 2689*296602b8SDragan Simic spdif_bus: spdif-bus { 2690*296602b8SDragan Simic rockchip,pins = 2691*296602b8SDragan Simic <4 RK_PC5 1 &pcfg_pull_none>; 2692*296602b8SDragan Simic }; 2693*296602b8SDragan Simic 2694*296602b8SDragan Simic spdif_bus_1: spdif-bus-1 { 2695*296602b8SDragan Simic rockchip,pins = 2696*296602b8SDragan Simic <3 RK_PC0 3 &pcfg_pull_none>; 2697*296602b8SDragan Simic }; 2698*296602b8SDragan Simic }; 2699*296602b8SDragan Simic 2700*296602b8SDragan Simic spi0 { 2701*296602b8SDragan Simic spi0_clk: spi0-clk { 2702*296602b8SDragan Simic rockchip,pins = 2703*296602b8SDragan Simic <3 RK_PA6 2 &pcfg_pull_up>; 2704*296602b8SDragan Simic }; 2705*296602b8SDragan Simic spi0_cs0: spi0-cs0 { 2706*296602b8SDragan Simic rockchip,pins = 2707*296602b8SDragan Simic <3 RK_PA7 2 &pcfg_pull_up>; 2708*296602b8SDragan Simic }; 2709*296602b8SDragan Simic spi0_cs1: spi0-cs1 { 2710*296602b8SDragan Simic rockchip,pins = 2711*296602b8SDragan Simic <3 RK_PB0 2 &pcfg_pull_up>; 2712*296602b8SDragan Simic }; 2713*296602b8SDragan Simic spi0_tx: spi0-tx { 2714*296602b8SDragan Simic rockchip,pins = 2715*296602b8SDragan Simic <3 RK_PA5 2 &pcfg_pull_up>; 2716*296602b8SDragan Simic }; 2717*296602b8SDragan Simic spi0_rx: spi0-rx { 2718*296602b8SDragan Simic rockchip,pins = 2719*296602b8SDragan Simic <3 RK_PA4 2 &pcfg_pull_up>; 2720*296602b8SDragan Simic }; 2721*296602b8SDragan Simic }; 2722*296602b8SDragan Simic 2723*296602b8SDragan Simic spi1 { 2724*296602b8SDragan Simic spi1_clk: spi1-clk { 2725*296602b8SDragan Simic rockchip,pins = 2726*296602b8SDragan Simic <1 RK_PB1 2 &pcfg_pull_up>; 2727*296602b8SDragan Simic }; 2728*296602b8SDragan Simic spi1_cs0: spi1-cs0 { 2729*296602b8SDragan Simic rockchip,pins = 2730*296602b8SDragan Simic <1 RK_PB2 2 &pcfg_pull_up>; 2731*296602b8SDragan Simic }; 2732*296602b8SDragan Simic spi1_rx: spi1-rx { 2733*296602b8SDragan Simic rockchip,pins = 2734*296602b8SDragan Simic <1 RK_PA7 2 &pcfg_pull_up>; 2735*296602b8SDragan Simic }; 2736*296602b8SDragan Simic spi1_tx: spi1-tx { 2737*296602b8SDragan Simic rockchip,pins = 2738*296602b8SDragan Simic <1 RK_PB0 2 &pcfg_pull_up>; 2739*296602b8SDragan Simic }; 2740*296602b8SDragan Simic }; 2741*296602b8SDragan Simic 2742*296602b8SDragan Simic spi2 { 2743*296602b8SDragan Simic spi2_clk: spi2-clk { 2744*296602b8SDragan Simic rockchip,pins = 2745*296602b8SDragan Simic <2 RK_PB3 1 &pcfg_pull_up>; 2746*296602b8SDragan Simic }; 2747*296602b8SDragan Simic spi2_cs0: spi2-cs0 { 2748*296602b8SDragan Simic rockchip,pins = 2749*296602b8SDragan Simic <2 RK_PB4 1 &pcfg_pull_up>; 2750*296602b8SDragan Simic }; 2751*296602b8SDragan Simic spi2_rx: spi2-rx { 2752*296602b8SDragan Simic rockchip,pins = 2753*296602b8SDragan Simic <2 RK_PB1 1 &pcfg_pull_up>; 2754*296602b8SDragan Simic }; 2755*296602b8SDragan Simic spi2_tx: spi2-tx { 2756*296602b8SDragan Simic rockchip,pins = 2757*296602b8SDragan Simic <2 RK_PB2 1 &pcfg_pull_up>; 2758*296602b8SDragan Simic }; 2759*296602b8SDragan Simic }; 2760*296602b8SDragan Simic 2761*296602b8SDragan Simic spi3 { 2762*296602b8SDragan Simic spi3_clk: spi3-clk { 2763*296602b8SDragan Simic rockchip,pins = 2764*296602b8SDragan Simic <1 RK_PC1 1 &pcfg_pull_up>; 2765*296602b8SDragan Simic }; 2766*296602b8SDragan Simic spi3_cs0: spi3-cs0 { 2767*296602b8SDragan Simic rockchip,pins = 2768*296602b8SDragan Simic <1 RK_PC2 1 &pcfg_pull_up>; 2769*296602b8SDragan Simic }; 2770*296602b8SDragan Simic spi3_rx: spi3-rx { 2771*296602b8SDragan Simic rockchip,pins = 2772*296602b8SDragan Simic <1 RK_PB7 1 &pcfg_pull_up>; 2773*296602b8SDragan Simic }; 2774*296602b8SDragan Simic spi3_tx: spi3-tx { 2775*296602b8SDragan Simic rockchip,pins = 2776*296602b8SDragan Simic <1 RK_PC0 1 &pcfg_pull_up>; 2777*296602b8SDragan Simic }; 2778*296602b8SDragan Simic }; 2779*296602b8SDragan Simic 2780*296602b8SDragan Simic spi4 { 2781*296602b8SDragan Simic spi4_clk: spi4-clk { 2782*296602b8SDragan Simic rockchip,pins = 2783*296602b8SDragan Simic <3 RK_PA2 2 &pcfg_pull_up>; 2784*296602b8SDragan Simic }; 2785*296602b8SDragan Simic spi4_cs0: spi4-cs0 { 2786*296602b8SDragan Simic rockchip,pins = 2787*296602b8SDragan Simic <3 RK_PA3 2 &pcfg_pull_up>; 2788*296602b8SDragan Simic }; 2789*296602b8SDragan Simic spi4_rx: spi4-rx { 2790*296602b8SDragan Simic rockchip,pins = 2791*296602b8SDragan Simic <3 RK_PA0 2 &pcfg_pull_up>; 2792*296602b8SDragan Simic }; 2793*296602b8SDragan Simic spi4_tx: spi4-tx { 2794*296602b8SDragan Simic rockchip,pins = 2795*296602b8SDragan Simic <3 RK_PA1 2 &pcfg_pull_up>; 2796*296602b8SDragan Simic }; 2797*296602b8SDragan Simic }; 2798*296602b8SDragan Simic 2799*296602b8SDragan Simic spi5 { 2800*296602b8SDragan Simic spi5_clk: spi5-clk { 2801*296602b8SDragan Simic rockchip,pins = 2802*296602b8SDragan Simic <2 RK_PC6 2 &pcfg_pull_up>; 2803*296602b8SDragan Simic }; 2804*296602b8SDragan Simic spi5_cs0: spi5-cs0 { 2805*296602b8SDragan Simic rockchip,pins = 2806*296602b8SDragan Simic <2 RK_PC7 2 &pcfg_pull_up>; 2807*296602b8SDragan Simic }; 2808*296602b8SDragan Simic spi5_rx: spi5-rx { 2809*296602b8SDragan Simic rockchip,pins = 2810*296602b8SDragan Simic <2 RK_PC4 2 &pcfg_pull_up>; 2811*296602b8SDragan Simic }; 2812*296602b8SDragan Simic spi5_tx: spi5-tx { 2813*296602b8SDragan Simic rockchip,pins = 2814*296602b8SDragan Simic <2 RK_PC5 2 &pcfg_pull_up>; 2815*296602b8SDragan Simic }; 2816*296602b8SDragan Simic }; 2817*296602b8SDragan Simic 2818*296602b8SDragan Simic testclk { 2819*296602b8SDragan Simic test_clkout0: test-clkout0 { 2820*296602b8SDragan Simic rockchip,pins = 2821*296602b8SDragan Simic <0 RK_PA0 1 &pcfg_pull_none>; 2822*296602b8SDragan Simic }; 2823*296602b8SDragan Simic 2824*296602b8SDragan Simic test_clkout1: test-clkout1 { 2825*296602b8SDragan Simic rockchip,pins = 2826*296602b8SDragan Simic <2 RK_PD1 2 &pcfg_pull_none>; 2827*296602b8SDragan Simic }; 2828*296602b8SDragan Simic 2829*296602b8SDragan Simic test_clkout2: test-clkout2 { 2830*296602b8SDragan Simic rockchip,pins = 2831*296602b8SDragan Simic <0 RK_PB0 3 &pcfg_pull_none>; 2832*296602b8SDragan Simic }; 2833*296602b8SDragan Simic }; 2834*296602b8SDragan Simic 2835*296602b8SDragan Simic tsadc { 2836*296602b8SDragan Simic otp_pin: otp-pin { 2837*296602b8SDragan Simic rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 2838*296602b8SDragan Simic }; 2839*296602b8SDragan Simic 2840*296602b8SDragan Simic otp_out: otp-out { 2841*296602b8SDragan Simic rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none>; 2842*296602b8SDragan Simic }; 2843*296602b8SDragan Simic }; 2844*296602b8SDragan Simic 2845*296602b8SDragan Simic uart0 { 2846*296602b8SDragan Simic uart0_xfer: uart0-xfer { 2847*296602b8SDragan Simic rockchip,pins = 2848*296602b8SDragan Simic <2 RK_PC0 1 &pcfg_pull_up>, 2849*296602b8SDragan Simic <2 RK_PC1 1 &pcfg_pull_none>; 2850*296602b8SDragan Simic }; 2851*296602b8SDragan Simic 2852*296602b8SDragan Simic uart0_cts: uart0-cts { 2853*296602b8SDragan Simic rockchip,pins = 2854*296602b8SDragan Simic <2 RK_PC2 1 &pcfg_pull_none>; 2855*296602b8SDragan Simic }; 2856*296602b8SDragan Simic 2857*296602b8SDragan Simic uart0_rts: uart0-rts { 2858*296602b8SDragan Simic rockchip,pins = 2859*296602b8SDragan Simic <2 RK_PC3 1 &pcfg_pull_none>; 2860*296602b8SDragan Simic }; 2861*296602b8SDragan Simic }; 2862*296602b8SDragan Simic 2863*296602b8SDragan Simic uart1 { 2864*296602b8SDragan Simic uart1_xfer: uart1-xfer { 2865*296602b8SDragan Simic rockchip,pins = 2866*296602b8SDragan Simic <3 RK_PB4 2 &pcfg_pull_up>, 2867*296602b8SDragan Simic <3 RK_PB5 2 &pcfg_pull_none>; 2868*296602b8SDragan Simic }; 2869*296602b8SDragan Simic }; 2870*296602b8SDragan Simic 2871*296602b8SDragan Simic uart2a { 2872*296602b8SDragan Simic uart2a_xfer: uart2a-xfer { 2873*296602b8SDragan Simic rockchip,pins = 2874*296602b8SDragan Simic <4 RK_PB0 2 &pcfg_pull_up>, 2875*296602b8SDragan Simic <4 RK_PB1 2 &pcfg_pull_none>; 2876*296602b8SDragan Simic }; 2877*296602b8SDragan Simic }; 2878*296602b8SDragan Simic 2879*296602b8SDragan Simic uart2b { 2880*296602b8SDragan Simic uart2b_xfer: uart2b-xfer { 2881*296602b8SDragan Simic rockchip,pins = 2882*296602b8SDragan Simic <4 RK_PC0 2 &pcfg_pull_up>, 2883*296602b8SDragan Simic <4 RK_PC1 2 &pcfg_pull_none>; 2884*296602b8SDragan Simic }; 2885*296602b8SDragan Simic }; 2886*296602b8SDragan Simic 2887*296602b8SDragan Simic uart2c { 2888*296602b8SDragan Simic uart2c_xfer: uart2c-xfer { 2889*296602b8SDragan Simic rockchip,pins = 2890*296602b8SDragan Simic <4 RK_PC3 1 &pcfg_pull_up>, 2891*296602b8SDragan Simic <4 RK_PC4 1 &pcfg_pull_none>; 2892*296602b8SDragan Simic }; 2893*296602b8SDragan Simic }; 2894*296602b8SDragan Simic 2895*296602b8SDragan Simic uart3 { 2896*296602b8SDragan Simic uart3_xfer: uart3-xfer { 2897*296602b8SDragan Simic rockchip,pins = 2898*296602b8SDragan Simic <3 RK_PB6 2 &pcfg_pull_up>, 2899*296602b8SDragan Simic <3 RK_PB7 2 &pcfg_pull_none>; 2900*296602b8SDragan Simic }; 2901*296602b8SDragan Simic 2902*296602b8SDragan Simic uart3_cts: uart3-cts { 2903*296602b8SDragan Simic rockchip,pins = 2904*296602b8SDragan Simic <3 RK_PC0 2 &pcfg_pull_none>; 2905*296602b8SDragan Simic }; 2906*296602b8SDragan Simic 2907*296602b8SDragan Simic uart3_rts: uart3-rts { 2908*296602b8SDragan Simic rockchip,pins = 2909*296602b8SDragan Simic <3 RK_PC1 2 &pcfg_pull_none>; 2910*296602b8SDragan Simic }; 2911*296602b8SDragan Simic }; 2912*296602b8SDragan Simic 2913*296602b8SDragan Simic uart4 { 2914*296602b8SDragan Simic uart4_xfer: uart4-xfer { 2915*296602b8SDragan Simic rockchip,pins = 2916*296602b8SDragan Simic <1 RK_PA7 1 &pcfg_pull_up>, 2917*296602b8SDragan Simic <1 RK_PB0 1 &pcfg_pull_none>; 2918*296602b8SDragan Simic }; 2919*296602b8SDragan Simic }; 2920*296602b8SDragan Simic 2921*296602b8SDragan Simic uarthdcp { 2922*296602b8SDragan Simic uarthdcp_xfer: uarthdcp-xfer { 2923*296602b8SDragan Simic rockchip,pins = 2924*296602b8SDragan Simic <4 RK_PC5 2 &pcfg_pull_up>, 2925*296602b8SDragan Simic <4 RK_PC6 2 &pcfg_pull_none>; 2926*296602b8SDragan Simic }; 2927*296602b8SDragan Simic }; 2928*296602b8SDragan Simic 2929*296602b8SDragan Simic pwm0 { 2930*296602b8SDragan Simic pwm0_pin: pwm0-pin { 2931*296602b8SDragan Simic rockchip,pins = 2932*296602b8SDragan Simic <4 RK_PC2 1 &pcfg_pull_none>; 2933*296602b8SDragan Simic }; 2934*296602b8SDragan Simic 2935*296602b8SDragan Simic pwm0_pin_pull_down: pwm0-pin-pull-down { 2936*296602b8SDragan Simic rockchip,pins = 2937*296602b8SDragan Simic <4 RK_PC2 1 &pcfg_pull_down>; 2938*296602b8SDragan Simic }; 2939*296602b8SDragan Simic 2940*296602b8SDragan Simic vop0_pwm_pin: vop0-pwm-pin { 2941*296602b8SDragan Simic rockchip,pins = 2942*296602b8SDragan Simic <4 RK_PC2 2 &pcfg_pull_none>; 2943*296602b8SDragan Simic }; 2944*296602b8SDragan Simic 2945*296602b8SDragan Simic vop1_pwm_pin: vop1-pwm-pin { 2946*296602b8SDragan Simic rockchip,pins = 2947*296602b8SDragan Simic <4 RK_PC2 3 &pcfg_pull_none>; 2948*296602b8SDragan Simic }; 2949*296602b8SDragan Simic }; 2950*296602b8SDragan Simic 2951*296602b8SDragan Simic pwm1 { 2952*296602b8SDragan Simic pwm1_pin: pwm1-pin { 2953*296602b8SDragan Simic rockchip,pins = 2954*296602b8SDragan Simic <4 RK_PC6 1 &pcfg_pull_none>; 2955*296602b8SDragan Simic }; 2956*296602b8SDragan Simic 2957*296602b8SDragan Simic pwm1_pin_pull_down: pwm1-pin-pull-down { 2958*296602b8SDragan Simic rockchip,pins = 2959*296602b8SDragan Simic <4 RK_PC6 1 &pcfg_pull_down>; 2960*296602b8SDragan Simic }; 2961*296602b8SDragan Simic }; 2962*296602b8SDragan Simic 2963*296602b8SDragan Simic pwm2 { 2964*296602b8SDragan Simic pwm2_pin: pwm2-pin { 2965*296602b8SDragan Simic rockchip,pins = 2966*296602b8SDragan Simic <1 RK_PC3 1 &pcfg_pull_none>; 2967*296602b8SDragan Simic }; 2968*296602b8SDragan Simic 2969*296602b8SDragan Simic pwm2_pin_pull_down: pwm2-pin-pull-down { 2970*296602b8SDragan Simic rockchip,pins = 2971*296602b8SDragan Simic <1 RK_PC3 1 &pcfg_pull_down>; 2972*296602b8SDragan Simic }; 2973*296602b8SDragan Simic }; 2974*296602b8SDragan Simic 2975*296602b8SDragan Simic pwm3a { 2976*296602b8SDragan Simic pwm3a_pin: pwm3a-pin { 2977*296602b8SDragan Simic rockchip,pins = 2978*296602b8SDragan Simic <0 RK_PA6 1 &pcfg_pull_none>; 2979*296602b8SDragan Simic }; 2980*296602b8SDragan Simic }; 2981*296602b8SDragan Simic 2982*296602b8SDragan Simic pwm3b { 2983*296602b8SDragan Simic pwm3b_pin: pwm3b-pin { 2984*296602b8SDragan Simic rockchip,pins = 2985*296602b8SDragan Simic <1 RK_PB6 1 &pcfg_pull_none>; 2986*296602b8SDragan Simic }; 2987*296602b8SDragan Simic }; 2988*296602b8SDragan Simic 2989*296602b8SDragan Simic hdmi { 2990*296602b8SDragan Simic hdmi_i2c_xfer: hdmi-i2c-xfer { 2991*296602b8SDragan Simic rockchip,pins = 2992*296602b8SDragan Simic <4 RK_PC1 3 &pcfg_pull_none>, 2993*296602b8SDragan Simic <4 RK_PC0 3 &pcfg_pull_none>; 2994*296602b8SDragan Simic }; 2995*296602b8SDragan Simic 2996*296602b8SDragan Simic hdmi_cec: hdmi-cec { 2997*296602b8SDragan Simic rockchip,pins = 2998*296602b8SDragan Simic <4 RK_PC7 1 &pcfg_pull_none>; 2999*296602b8SDragan Simic }; 3000*296602b8SDragan Simic }; 3001*296602b8SDragan Simic 3002*296602b8SDragan Simic pcie { 3003*296602b8SDragan Simic pcie_clkreqn_cpm: pci-clkreqn-cpm { 3004*296602b8SDragan Simic rockchip,pins = 3005*296602b8SDragan Simic <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 3006*296602b8SDragan Simic }; 3007*296602b8SDragan Simic 3008*296602b8SDragan Simic pcie_clkreqnb_cpm: pci-clkreqnb-cpm { 3009*296602b8SDragan Simic rockchip,pins = 3010*296602b8SDragan Simic <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 3011*296602b8SDragan Simic }; 3012*296602b8SDragan Simic }; 3013*296602b8SDragan Simic 3014*296602b8SDragan Simic }; 3015*296602b8SDragan Simic}; 3016