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