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