183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+ 2777c834fSKever Yang/* 3dde22233SKever Yang * Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd. 4777c834fSKever Yang */ 5777c834fSKever Yang 6777c834fSKever Yang#include <dt-bindings/clock/rk3399-cru.h> 7777c834fSKever Yang#include <dt-bindings/gpio/gpio.h> 8777c834fSKever Yang#include <dt-bindings/interrupt-controller/arm-gic.h> 9777c834fSKever Yang#include <dt-bindings/interrupt-controller/irq.h> 10777c834fSKever Yang#include <dt-bindings/pinctrl/rockchip.h> 11dde22233SKever Yang#include <dt-bindings/power/rk3399-power.h> 12dde22233SKever Yang#include <dt-bindings/thermal/thermal.h> 13fa5e2d16SMengDongyang#define USB_CLASS_HUB 9 14777c834fSKever Yang 15777c834fSKever Yang/ { 16777c834fSKever Yang compatible = "rockchip,rk3399"; 17777c834fSKever Yang 18777c834fSKever Yang interrupt-parent = <&gic>; 19777c834fSKever Yang #address-cells = <2>; 20777c834fSKever Yang #size-cells = <2>; 21777c834fSKever Yang 22777c834fSKever Yang aliases { 23dde22233SKever Yang i2c0 = &i2c0; 24dde22233SKever Yang i2c1 = &i2c1; 25dde22233SKever Yang i2c2 = &i2c2; 26dde22233SKever Yang i2c3 = &i2c3; 27dde22233SKever Yang i2c4 = &i2c4; 28dde22233SKever Yang i2c5 = &i2c5; 29dde22233SKever Yang i2c6 = &i2c6; 30dde22233SKever Yang i2c7 = &i2c7; 31dde22233SKever Yang i2c8 = &i2c8; 32777c834fSKever Yang serial0 = &uart0; 33777c834fSKever Yang serial1 = &uart1; 34777c834fSKever Yang serial2 = &uart2; 35777c834fSKever Yang serial3 = &uart3; 36777c834fSKever Yang serial4 = &uart4; 375f9411afSEddie Cai mmc0 = &sdhci; 385f9411afSEddie Cai mmc1 = &sdmmc; 39777c834fSKever Yang }; 40777c834fSKever Yang 41777c834fSKever Yang cpus { 42777c834fSKever Yang #address-cells = <2>; 43777c834fSKever Yang #size-cells = <0>; 44777c834fSKever Yang 45777c834fSKever Yang cpu-map { 46777c834fSKever Yang cluster0 { 47777c834fSKever Yang core0 { 48777c834fSKever Yang cpu = <&cpu_l0>; 49777c834fSKever Yang }; 50777c834fSKever Yang core1 { 51777c834fSKever Yang cpu = <&cpu_l1>; 52777c834fSKever Yang }; 53777c834fSKever Yang core2 { 54777c834fSKever Yang cpu = <&cpu_l2>; 55777c834fSKever Yang }; 56777c834fSKever Yang core3 { 57777c834fSKever Yang cpu = <&cpu_l3>; 58777c834fSKever Yang }; 59777c834fSKever Yang }; 60777c834fSKever Yang 61777c834fSKever Yang cluster1 { 62777c834fSKever Yang core0 { 63777c834fSKever Yang cpu = <&cpu_b0>; 64777c834fSKever Yang }; 65777c834fSKever Yang core1 { 66777c834fSKever Yang cpu = <&cpu_b1>; 67777c834fSKever Yang }; 68777c834fSKever Yang }; 69777c834fSKever Yang }; 70777c834fSKever Yang 71777c834fSKever Yang cpu_l0: cpu@0 { 72777c834fSKever Yang device_type = "cpu"; 73777c834fSKever Yang compatible = "arm,cortex-a53", "arm,armv8"; 74777c834fSKever Yang reg = <0x0 0x0>; 75777c834fSKever Yang enable-method = "psci"; 76777c834fSKever Yang #cooling-cells = <2>; /* min followed by max */ 77777c834fSKever Yang clocks = <&cru ARMCLKL>; 78777c834fSKever Yang }; 79777c834fSKever Yang 80777c834fSKever Yang cpu_l1: cpu@1 { 81777c834fSKever Yang device_type = "cpu"; 82777c834fSKever Yang compatible = "arm,cortex-a53", "arm,armv8"; 83777c834fSKever Yang reg = <0x0 0x1>; 84777c834fSKever Yang enable-method = "psci"; 85777c834fSKever Yang clocks = <&cru ARMCLKL>; 86777c834fSKever Yang }; 87777c834fSKever Yang 88777c834fSKever Yang cpu_l2: cpu@2 { 89777c834fSKever Yang device_type = "cpu"; 90777c834fSKever Yang compatible = "arm,cortex-a53", "arm,armv8"; 91777c834fSKever Yang reg = <0x0 0x2>; 92777c834fSKever Yang enable-method = "psci"; 93777c834fSKever Yang clocks = <&cru ARMCLKL>; 94777c834fSKever Yang }; 95777c834fSKever Yang 96777c834fSKever Yang cpu_l3: cpu@3 { 97777c834fSKever Yang device_type = "cpu"; 98777c834fSKever Yang compatible = "arm,cortex-a53", "arm,armv8"; 99777c834fSKever Yang reg = <0x0 0x3>; 100777c834fSKever Yang enable-method = "psci"; 101777c834fSKever Yang clocks = <&cru ARMCLKL>; 102777c834fSKever Yang }; 103777c834fSKever Yang 104777c834fSKever Yang cpu_b0: cpu@100 { 105777c834fSKever Yang device_type = "cpu"; 106777c834fSKever Yang compatible = "arm,cortex-a72", "arm,armv8"; 107777c834fSKever Yang reg = <0x0 0x100>; 108777c834fSKever Yang enable-method = "psci"; 109777c834fSKever Yang #cooling-cells = <2>; /* min followed by max */ 110777c834fSKever Yang clocks = <&cru ARMCLKB>; 111777c834fSKever Yang }; 112777c834fSKever Yang 113777c834fSKever Yang cpu_b1: cpu@101 { 114777c834fSKever Yang device_type = "cpu"; 115777c834fSKever Yang compatible = "arm,cortex-a72", "arm,armv8"; 116777c834fSKever Yang reg = <0x0 0x101>; 117777c834fSKever Yang enable-method = "psci"; 118777c834fSKever Yang clocks = <&cru ARMCLKB>; 119777c834fSKever Yang }; 120777c834fSKever Yang }; 121777c834fSKever Yang 122dde22233SKever Yang pmu_a53 { 123dde22233SKever Yang compatible = "arm,cortex-a53-pmu"; 124dde22233SKever Yang interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>; 125dde22233SKever Yang }; 126dde22233SKever Yang 127dde22233SKever Yang pmu_a72 { 128dde22233SKever Yang compatible = "arm,cortex-a72-pmu"; 129dde22233SKever Yang interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>; 130dde22233SKever Yang }; 131dde22233SKever Yang 132777c834fSKever Yang psci { 133777c834fSKever Yang compatible = "arm,psci-1.0"; 134777c834fSKever Yang method = "smc"; 135777c834fSKever Yang }; 136777c834fSKever Yang 137777c834fSKever Yang timer { 138777c834fSKever Yang compatible = "arm,armv8-timer"; 139dde22233SKever Yang interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>, 140dde22233SKever Yang <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>, 141dde22233SKever Yang <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>, 142dde22233SKever Yang <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>; 143dde22233SKever Yang arm,no-tick-in-suspend; 144777c834fSKever Yang }; 145777c834fSKever Yang 146777c834fSKever Yang xin24m: xin24m { 147777c834fSKever Yang compatible = "fixed-clock"; 148777c834fSKever Yang clock-frequency = <24000000>; 149777c834fSKever Yang clock-output-names = "xin24m"; 150777c834fSKever Yang #clock-cells = <0>; 151777c834fSKever Yang }; 152777c834fSKever Yang 153777c834fSKever Yang amba { 154777c834fSKever Yang compatible = "simple-bus"; 155777c834fSKever Yang #address-cells = <2>; 156777c834fSKever Yang #size-cells = <2>; 157777c834fSKever Yang ranges; 158777c834fSKever Yang 159777c834fSKever Yang dmac_bus: dma-controller@ff6d0000 { 160777c834fSKever Yang compatible = "arm,pl330", "arm,primecell"; 161777c834fSKever Yang reg = <0x0 0xff6d0000 0x0 0x4000>; 162dde22233SKever Yang interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>, 163dde22233SKever Yang <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>; 164777c834fSKever Yang #dma-cells = <1>; 165777c834fSKever Yang clocks = <&cru ACLK_DMAC0_PERILP>; 166777c834fSKever Yang clock-names = "apb_pclk"; 167777c834fSKever Yang }; 168777c834fSKever Yang 169777c834fSKever Yang dmac_peri: dma-controller@ff6e0000 { 170777c834fSKever Yang compatible = "arm,pl330", "arm,primecell"; 171777c834fSKever Yang reg = <0x0 0xff6e0000 0x0 0x4000>; 172dde22233SKever Yang interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>, 173dde22233SKever Yang <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>; 174777c834fSKever Yang #dma-cells = <1>; 175777c834fSKever Yang clocks = <&cru ACLK_DMAC1_PERILP>; 176777c834fSKever Yang clock-names = "apb_pclk"; 177777c834fSKever Yang }; 178777c834fSKever Yang }; 179777c834fSKever Yang 180dde22233SKever Yang pcie0: pcie@f8000000 { 181dde22233SKever Yang compatible = "rockchip,rk3399-pcie"; 182dde22233SKever Yang reg = <0x0 0xf8000000 0x0 0x2000000>, 183dde22233SKever Yang <0x0 0xfd000000 0x0 0x1000000>; 184dde22233SKever Yang reg-names = "axi-base", "apb-base"; 185dde22233SKever Yang #address-cells = <3>; 186dde22233SKever Yang #size-cells = <2>; 187dde22233SKever Yang #interrupt-cells = <1>; 188dde22233SKever Yang aspm-no-l0s; 189dde22233SKever Yang bus-range = <0x0 0x1>; 190dde22233SKever Yang clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>, 191dde22233SKever Yang <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>; 192dde22233SKever Yang clock-names = "aclk", "aclk-perf", 193dde22233SKever Yang "hclk", "pm"; 194dde22233SKever Yang interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>, 195dde22233SKever Yang <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>, 196dde22233SKever Yang <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>; 197dde22233SKever Yang interrupt-names = "sys", "legacy", "client"; 198dde22233SKever Yang interrupt-map-mask = <0 0 0 7>; 199dde22233SKever Yang interrupt-map = <0 0 0 1 &pcie0_intc 0>, 200dde22233SKever Yang <0 0 0 2 &pcie0_intc 1>, 201dde22233SKever Yang <0 0 0 3 &pcie0_intc 2>, 202dde22233SKever Yang <0 0 0 4 &pcie0_intc 3>; 203dde22233SKever Yang linux,pci-domain = <0>; 204dde22233SKever Yang max-link-speed = <1>; 205dde22233SKever Yang msi-map = <0x0 &its 0x0 0x1000>; 206dde22233SKever Yang phys = <&pcie_phy>; 207dde22233SKever Yang phy-names = "pcie-phy"; 208dde22233SKever Yang ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x600000 209dde22233SKever Yang 0x81000000 0x0 0xfa600000 0x0 0xfa600000 0x0 0x100000>; 210dde22233SKever Yang resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>, 211dde22233SKever Yang <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>, 212dde22233SKever Yang <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>, 213dde22233SKever Yang <&cru SRST_A_PCIE>; 214dde22233SKever Yang reset-names = "core", "mgmt", "mgmt-sticky", "pipe", 215dde22233SKever Yang "pm", "pclk", "aclk"; 216dde22233SKever Yang status = "disabled"; 217dde22233SKever Yang 218dde22233SKever Yang pcie0_intc: interrupt-controller { 219dde22233SKever Yang interrupt-controller; 220dde22233SKever Yang #address-cells = <0>; 221dde22233SKever Yang #interrupt-cells = <1>; 222dde22233SKever Yang }; 223dde22233SKever Yang }; 224dde22233SKever Yang 225dde22233SKever Yang gmac: ethernet@fe300000 { 226dde22233SKever Yang compatible = "rockchip,rk3399-gmac"; 227dde22233SKever Yang reg = <0x0 0xfe300000 0x0 0x10000>; 228dde22233SKever Yang interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>; 229dde22233SKever Yang interrupt-names = "macirq"; 230dde22233SKever Yang clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>, 231dde22233SKever Yang <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>, 232dde22233SKever Yang <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>, 233dde22233SKever Yang <&cru PCLK_GMAC>; 234dde22233SKever Yang clock-names = "stmmaceth", "mac_clk_rx", 235dde22233SKever Yang "mac_clk_tx", "clk_mac_ref", 236dde22233SKever Yang "clk_mac_refout", "aclk_mac", 237dde22233SKever Yang "pclk_mac"; 238dde22233SKever Yang power-domains = <&power RK3399_PD_GMAC>; 239dde22233SKever Yang resets = <&cru SRST_A_GMAC>; 240dde22233SKever Yang reset-names = "stmmaceth"; 241dde22233SKever Yang rockchip,grf = <&grf>; 242dde22233SKever Yang status = "disabled"; 243dde22233SKever Yang }; 244dde22233SKever Yang 245777c834fSKever Yang sdio0: dwmmc@fe310000 { 246777c834fSKever Yang compatible = "rockchip,rk3399-dw-mshc", 247777c834fSKever Yang "rockchip,rk3288-dw-mshc"; 248777c834fSKever Yang reg = <0x0 0xfe310000 0x0 0x4000>; 249dde22233SKever Yang interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH 0>; 250dde22233SKever Yang max-frequency = <150000000>; 251777c834fSKever Yang clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 252777c834fSKever Yang <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 253777c834fSKever Yang clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 254777c834fSKever Yang fifo-depth = <0x100>; 255dde22233SKever Yang power-domains = <&power RK3399_PD_SDIOAUDIO>; 256dde22233SKever Yang resets = <&cru SRST_SDIO0>; 257dde22233SKever Yang reset-names = "reset"; 258777c834fSKever Yang status = "disabled"; 259777c834fSKever Yang }; 260777c834fSKever Yang 261777c834fSKever Yang sdmmc: dwmmc@fe320000 { 262777c834fSKever Yang compatible = "rockchip,rk3399-dw-mshc", 263777c834fSKever Yang "rockchip,rk3288-dw-mshc"; 264777c834fSKever Yang reg = <0x0 0xfe320000 0x0 0x4000>; 265dde22233SKever Yang interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>; 266dde22233SKever Yang max-frequency = <150000000>; 267dde22233SKever Yang clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 268777c834fSKever Yang <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 269dde22233SKever Yang clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 270777c834fSKever Yang fifo-depth = <0x100>; 271dde22233SKever Yang power-domains = <&power RK3399_PD_SD>; 272dde22233SKever Yang resets = <&cru SRST_SDMMC>; 273dde22233SKever Yang reset-names = "reset"; 274777c834fSKever Yang status = "disabled"; 275777c834fSKever Yang }; 276777c834fSKever Yang 277777c834fSKever Yang sdhci: sdhci@fe330000 { 278a82426e0SKever Yang u-boot,dm-pre-reloc; 279777c834fSKever Yang compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1"; 280777c834fSKever Yang reg = <0x0 0xfe330000 0x0 0x10000>; 281dde22233SKever Yang interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>; 282dde22233SKever Yang arasan,soc-ctl-syscon = <&grf>; 283777c834fSKever Yang assigned-clocks = <&cru SCLK_EMMC>; 284777c834fSKever Yang assigned-clock-rates = <200000000>; 285f5f3de89SKever Yang max-frequency = <200000000>; 286777c834fSKever Yang clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>; 287777c834fSKever Yang clock-names = "clk_xin", "clk_ahb"; 288dde22233SKever Yang clock-output-names = "emmc_cardclock"; 289dde22233SKever Yang #clock-cells = <0>; 290777c834fSKever Yang phys = <&emmc_phy>; 291777c834fSKever Yang phy-names = "phy_arasan"; 292dde22233SKever Yang power-domains = <&power RK3399_PD_EMMC>; 293777c834fSKever Yang status = "disabled"; 294777c834fSKever Yang }; 295777c834fSKever Yang 296777c834fSKever Yang usb_host0_ehci: usb@fe380000 { 297777c834fSKever Yang compatible = "generic-ehci"; 298777c834fSKever Yang reg = <0x0 0xfe380000 0x0 0x20000>; 299dde22233SKever Yang interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>; 300dde22233SKever Yang clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>, 301dde22233SKever Yang <&u2phy0>; 302dde22233SKever Yang clock-names = "usbhost", "arbiter", 303dde22233SKever Yang "utmi"; 304dde22233SKever Yang phys = <&u2phy0_host>; 305dde22233SKever Yang phy-names = "usb"; 306dde22233SKever Yang power-domains = <&power RK3399_PD_PERIHP>; 307777c834fSKever Yang status = "disabled"; 308777c834fSKever Yang }; 309777c834fSKever Yang 310777c834fSKever Yang usb_host0_ohci: usb@fe3a0000 { 311777c834fSKever Yang compatible = "generic-ohci"; 312777c834fSKever Yang reg = <0x0 0xfe3a0000 0x0 0x20000>; 313dde22233SKever Yang interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>; 314dde22233SKever Yang clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>, 315dde22233SKever Yang <&u2phy0>; 316dde22233SKever Yang clock-names = "usbhost", "arbiter", 317dde22233SKever Yang "utmi"; 318dde22233SKever Yang phys = <&u2phy0_host>; 319dde22233SKever Yang phy-names = "usb"; 320dde22233SKever Yang power-domains = <&power RK3399_PD_PERIHP>; 321777c834fSKever Yang status = "disabled"; 322777c834fSKever Yang }; 323777c834fSKever Yang 324777c834fSKever Yang usb_host1_ehci: usb@fe3c0000 { 325777c834fSKever Yang compatible = "generic-ehci"; 326777c834fSKever Yang reg = <0x0 0xfe3c0000 0x0 0x20000>; 327dde22233SKever Yang interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>; 328dde22233SKever Yang clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>, 329dde22233SKever Yang <&u2phy1>; 330dde22233SKever Yang clock-names = "usbhost", "arbiter", 331dde22233SKever Yang "utmi"; 332dde22233SKever Yang phys = <&u2phy1_host>; 333dde22233SKever Yang phy-names = "usb"; 334dde22233SKever Yang power-domains = <&power RK3399_PD_PERIHP>; 335777c834fSKever Yang status = "disabled"; 336777c834fSKever Yang }; 337777c834fSKever Yang 338777c834fSKever Yang usb_host1_ohci: usb@fe3e0000 { 339777c834fSKever Yang compatible = "generic-ohci"; 340777c834fSKever Yang reg = <0x0 0xfe3e0000 0x0 0x20000>; 341dde22233SKever Yang interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>; 342dde22233SKever Yang clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>, 343dde22233SKever Yang <&u2phy1>; 344dde22233SKever Yang clock-names = "usbhost", "arbiter", 345dde22233SKever Yang "utmi"; 346dde22233SKever Yang phys = <&u2phy1_host>; 347dde22233SKever Yang phy-names = "usb"; 348dde22233SKever Yang power-domains = <&power RK3399_PD_PERIHP>; 349777c834fSKever Yang status = "disabled"; 350777c834fSKever Yang }; 351777c834fSKever Yang 352*0a09f2f1SSimon Glass usbdrd3_0: dwc3_typec0: usb@fe800000 { 353*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-dwc3"; 354*0a09f2f1SSimon Glass #address-cells = <2>; 355*0a09f2f1SSimon Glass #size-cells = <2>; 356*0a09f2f1SSimon Glass ranges; 357*0a09f2f1SSimon Glass clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>, 358*0a09f2f1SSimon Glass <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_RKSOC_AXI_PERF>, 359*0a09f2f1SSimon Glass <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>; 360*0a09f2f1SSimon Glass clock-names = "ref_clk", "suspend_clk", 361*0a09f2f1SSimon Glass "bus_clk", "aclk_usb3_rksoc_axi_perf", 362*0a09f2f1SSimon Glass "aclk_usb3", "grf_clk"; 363*0a09f2f1SSimon Glass resets = <&cru SRST_A_USB3_OTG0>; 364*0a09f2f1SSimon Glass reset-names = "usb3-otg"; 365*0a09f2f1SSimon Glass status = "disabled"; 366*0a09f2f1SSimon Glass 367*0a09f2f1SSimon Glass usbdrd_dwc3_0: dwc3 { 368*0a09f2f1SSimon Glass compatible = "snps,dwc3"; 369fa5e2d16SMengDongyang reg = <0x0 0xfe800000 0x0 0x100000>; 370*0a09f2f1SSimon Glass interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>; 371*0a09f2f1SSimon Glass dr_mode = "otg"; 372*0a09f2f1SSimon Glass phys = <&u2phy0_otg>, <&tcphy0_usb3>; 373*0a09f2f1SSimon Glass phy-names = "usb2-phy", "usb3-phy"; 374*0a09f2f1SSimon Glass phy_type = "utmi_wide"; 375*0a09f2f1SSimon Glass snps,dis_enblslpm_quirk; 376fa5e2d16SMengDongyang snps,dis-u2-freeclk-exists-quirk; 377*0a09f2f1SSimon Glass snps,dis_u2_susphy_quirk; 378*0a09f2f1SSimon Glass snps,dis-del-phy-power-chg-quirk; 379*0a09f2f1SSimon Glass snps,dis-tx-ipgap-linecheck-quirk; 380*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_USB3>; 381*0a09f2f1SSimon Glass status = "disabled"; 382*0a09f2f1SSimon Glass }; 383*0a09f2f1SSimon Glass }; 384fa5e2d16SMengDongyang 385*0a09f2f1SSimon Glass dwc3_typec1: usbdrd3_1: usb@fe900000 { 386*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-dwc3"; 387fa5e2d16SMengDongyang #address-cells = <2>; 388fa5e2d16SMengDongyang #size-cells = <2>; 389*0a09f2f1SSimon Glass ranges; 390*0a09f2f1SSimon Glass clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>, 391*0a09f2f1SSimon Glass <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_RKSOC_AXI_PERF>, 392*0a09f2f1SSimon Glass <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>; 393*0a09f2f1SSimon Glass clock-names = "ref_clk", "suspend_clk", 394*0a09f2f1SSimon Glass "bus_clk", "aclk_usb3_rksoc_axi_perf", 395*0a09f2f1SSimon Glass "aclk_usb3", "grf_clk"; 396*0a09f2f1SSimon Glass resets = <&cru SRST_A_USB3_OTG1>; 397*0a09f2f1SSimon Glass reset-names = "usb3-otg"; 398*0a09f2f1SSimon Glass status = "disabled"; 399fa5e2d16SMengDongyang 400*0a09f2f1SSimon Glass usbdrd_dwc3_1: dwc3 { 401*0a09f2f1SSimon Glass compatible = "snps,dwc3"; 402fa5e2d16SMengDongyang reg = <0x0 0xfe900000 0x0 0x100000>; 403*0a09f2f1SSimon Glass interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>; 404*0a09f2f1SSimon Glass dr_mode = "otg"; 405*0a09f2f1SSimon Glass phys = <&u2phy1_otg>, <&tcphy1_usb3>; 406*0a09f2f1SSimon Glass phy-names = "usb2-phy", "usb3-phy"; 407*0a09f2f1SSimon Glass phy_type = "utmi_wide"; 408*0a09f2f1SSimon Glass snps,dis_enblslpm_quirk; 409fa5e2d16SMengDongyang snps,dis-u2-freeclk-exists-quirk; 410*0a09f2f1SSimon Glass snps,dis_u2_susphy_quirk; 411*0a09f2f1SSimon Glass snps,dis-del-phy-power-chg-quirk; 412*0a09f2f1SSimon Glass snps,dis-tx-ipgap-linecheck-quirk; 413*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_USB3>; 414*0a09f2f1SSimon Glass status = "disabled"; 415fa5e2d16SMengDongyang }; 416*0a09f2f1SSimon Glass }; 417*0a09f2f1SSimon Glass 418*0a09f2f1SSimon Glass cdn_dp: dp@fec00000 { 419*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-cdn-dp"; 420*0a09f2f1SSimon Glass reg = <0x0 0xfec00000 0x0 0x100000>; 421*0a09f2f1SSimon Glass interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 422*0a09f2f1SSimon Glass assigned-clocks = <&cru SCLK_DP_CORE>, <&cru SCLK_SPDIF_REC_DPTX>; 423*0a09f2f1SSimon Glass assigned-clock-rates = <100000000>, <200000000>; 424*0a09f2f1SSimon Glass clocks = <&cru SCLK_DP_CORE>, <&cru PCLK_DP_CTRL>, 425*0a09f2f1SSimon Glass <&cru SCLK_SPDIF_REC_DPTX>, <&cru PCLK_VIO_GRF>; 426*0a09f2f1SSimon Glass clock-names = "core-clk", "pclk", "spdif", "grf"; 427*0a09f2f1SSimon Glass phys = <&tcphy0_dp>, <&tcphy1_dp>; 428*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_HDCP>; 429*0a09f2f1SSimon Glass resets = <&cru SRST_DPTX_SPDIF_REC>, <&cru SRST_P_UPHY0_DPTX>, 430*0a09f2f1SSimon Glass <&cru SRST_P_UPHY0_APB>, <&cru SRST_DP_CORE>; 431*0a09f2f1SSimon Glass reset-names = "spdif", "dptx", "apb", "core"; 432*0a09f2f1SSimon Glass rockchip,grf = <&grf>; 433*0a09f2f1SSimon Glass #sound-dai-cells = <1>; 434*0a09f2f1SSimon Glass status = "disabled"; 435*0a09f2f1SSimon Glass 436*0a09f2f1SSimon Glass ports { 437*0a09f2f1SSimon Glass dp_in: port { 438*0a09f2f1SSimon Glass #address-cells = <1>; 439*0a09f2f1SSimon Glass #size-cells = <0>; 440*0a09f2f1SSimon Glass 441*0a09f2f1SSimon Glass dp_in_vopb: endpoint@0 { 442*0a09f2f1SSimon Glass reg = <0>; 443*0a09f2f1SSimon Glass remote-endpoint = <&vopb_out_dp>; 444*0a09f2f1SSimon Glass }; 445*0a09f2f1SSimon Glass 446*0a09f2f1SSimon Glass dp_in_vopl: endpoint@1 { 447*0a09f2f1SSimon Glass reg = <1>; 448*0a09f2f1SSimon Glass remote-endpoint = <&vopl_out_dp>; 449*0a09f2f1SSimon Glass }; 450*0a09f2f1SSimon Glass }; 451fa5e2d16SMengDongyang }; 452fa5e2d16SMengDongyang }; 453fa5e2d16SMengDongyang 454777c834fSKever Yang gic: interrupt-controller@fee00000 { 455777c834fSKever Yang compatible = "arm,gic-v3"; 456dde22233SKever Yang #interrupt-cells = <4>; 457777c834fSKever Yang #address-cells = <2>; 458777c834fSKever Yang #size-cells = <2>; 459777c834fSKever Yang ranges; 460777c834fSKever Yang interrupt-controller; 461777c834fSKever Yang 462777c834fSKever Yang reg = <0x0 0xfee00000 0 0x10000>, /* GICD */ 463777c834fSKever Yang <0x0 0xfef00000 0 0xc0000>, /* GICR */ 464777c834fSKever Yang <0x0 0xfff00000 0 0x10000>, /* GICC */ 465777c834fSKever Yang <0x0 0xfff10000 0 0x10000>, /* GICH */ 466777c834fSKever Yang <0x0 0xfff20000 0 0x10000>; /* GICV */ 467dde22233SKever Yang interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 468777c834fSKever Yang its: interrupt-controller@fee20000 { 469777c834fSKever Yang compatible = "arm,gic-v3-its"; 470777c834fSKever Yang msi-controller; 471777c834fSKever Yang reg = <0x0 0xfee20000 0x0 0x20000>; 472777c834fSKever Yang }; 473dde22233SKever Yang 474dde22233SKever Yang ppi-partitions { 475dde22233SKever Yang ppi_cluster0: interrupt-partition-0 { 476dde22233SKever Yang affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>; 477dde22233SKever Yang }; 478dde22233SKever Yang 479dde22233SKever Yang ppi_cluster1: interrupt-partition-1 { 480dde22233SKever Yang affinity = <&cpu_b0 &cpu_b1>; 481dde22233SKever Yang }; 482dde22233SKever Yang }; 483dde22233SKever Yang }; 484dde22233SKever Yang 485dde22233SKever Yang saradc: saradc@ff100000 { 486dde22233SKever Yang compatible = "rockchip,rk3399-saradc"; 487dde22233SKever Yang reg = <0x0 0xff100000 0x0 0x100>; 488dde22233SKever Yang interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH 0>; 489dde22233SKever Yang #io-channel-cells = <1>; 490dde22233SKever Yang clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 491dde22233SKever Yang clock-names = "saradc", "apb_pclk"; 492dde22233SKever Yang resets = <&cru SRST_P_SARADC>; 493dde22233SKever Yang reset-names = "saradc-apb"; 494dde22233SKever Yang status = "disabled"; 495dde22233SKever Yang }; 496dde22233SKever Yang 497dde22233SKever Yang i2c1: i2c@ff110000 { 498dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 499dde22233SKever Yang reg = <0x0 0xff110000 0x0 0x1000>; 500dde22233SKever Yang assigned-clocks = <&cru SCLK_I2C1>; 501dde22233SKever Yang assigned-clock-rates = <200000000>; 502dde22233SKever Yang clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 503dde22233SKever Yang clock-names = "i2c", "pclk"; 504dde22233SKever Yang interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 0>; 505dde22233SKever Yang pinctrl-names = "default"; 506dde22233SKever Yang pinctrl-0 = <&i2c1_xfer>; 507dde22233SKever Yang #address-cells = <1>; 508dde22233SKever Yang #size-cells = <0>; 509dde22233SKever Yang status = "disabled"; 510dde22233SKever Yang }; 511dde22233SKever Yang 512dde22233SKever Yang i2c2: i2c@ff120000 { 513dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 514dde22233SKever Yang reg = <0x0 0xff120000 0x0 0x1000>; 515dde22233SKever Yang assigned-clocks = <&cru SCLK_I2C2>; 516dde22233SKever Yang assigned-clock-rates = <200000000>; 517dde22233SKever Yang clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 518dde22233SKever Yang clock-names = "i2c", "pclk"; 519dde22233SKever Yang interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH 0>; 520dde22233SKever Yang pinctrl-names = "default"; 521dde22233SKever Yang pinctrl-0 = <&i2c2_xfer>; 522dde22233SKever Yang #address-cells = <1>; 523dde22233SKever Yang #size-cells = <0>; 524dde22233SKever Yang status = "disabled"; 525dde22233SKever Yang }; 526dde22233SKever Yang 527dde22233SKever Yang i2c3: i2c@ff130000 { 528dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 529dde22233SKever Yang reg = <0x0 0xff130000 0x0 0x1000>; 530dde22233SKever Yang assigned-clocks = <&cru SCLK_I2C3>; 531dde22233SKever Yang assigned-clock-rates = <200000000>; 532dde22233SKever Yang clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 533dde22233SKever Yang clock-names = "i2c", "pclk"; 534dde22233SKever Yang interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH 0>; 535dde22233SKever Yang pinctrl-names = "default"; 536dde22233SKever Yang pinctrl-0 = <&i2c3_xfer>; 537dde22233SKever Yang #address-cells = <1>; 538dde22233SKever Yang #size-cells = <0>; 539dde22233SKever Yang status = "disabled"; 540dde22233SKever Yang }; 541dde22233SKever Yang 542dde22233SKever Yang i2c5: i2c@ff140000 { 543dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 544dde22233SKever Yang reg = <0x0 0xff140000 0x0 0x1000>; 545dde22233SKever Yang assigned-clocks = <&cru SCLK_I2C5>; 546dde22233SKever Yang assigned-clock-rates = <200000000>; 547dde22233SKever Yang clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>; 548dde22233SKever Yang clock-names = "i2c", "pclk"; 549dde22233SKever Yang interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>; 550dde22233SKever Yang pinctrl-names = "default"; 551dde22233SKever Yang pinctrl-0 = <&i2c5_xfer>; 552dde22233SKever Yang #address-cells = <1>; 553dde22233SKever Yang #size-cells = <0>; 554dde22233SKever Yang status = "disabled"; 555dde22233SKever Yang }; 556dde22233SKever Yang 557dde22233SKever Yang i2c6: i2c@ff150000 { 558dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 559dde22233SKever Yang reg = <0x0 0xff150000 0x0 0x1000>; 560dde22233SKever Yang assigned-clocks = <&cru SCLK_I2C6>; 561dde22233SKever Yang assigned-clock-rates = <200000000>; 562dde22233SKever Yang clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>; 563dde22233SKever Yang clock-names = "i2c", "pclk"; 564dde22233SKever Yang interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH 0>; 565dde22233SKever Yang pinctrl-names = "default"; 566dde22233SKever Yang pinctrl-0 = <&i2c6_xfer>; 567dde22233SKever Yang #address-cells = <1>; 568dde22233SKever Yang #size-cells = <0>; 569dde22233SKever Yang status = "disabled"; 570dde22233SKever Yang }; 571dde22233SKever Yang 572dde22233SKever Yang i2c7: i2c@ff160000 { 573dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 574dde22233SKever Yang reg = <0x0 0xff160000 0x0 0x1000>; 575dde22233SKever Yang assigned-clocks = <&cru SCLK_I2C7>; 576dde22233SKever Yang assigned-clock-rates = <200000000>; 577dde22233SKever Yang clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>; 578dde22233SKever Yang clock-names = "i2c", "pclk"; 579dde22233SKever Yang interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>; 580dde22233SKever Yang pinctrl-names = "default"; 581dde22233SKever Yang pinctrl-0 = <&i2c7_xfer>; 582dde22233SKever Yang #address-cells = <1>; 583dde22233SKever Yang #size-cells = <0>; 584dde22233SKever Yang status = "disabled"; 585777c834fSKever Yang }; 586777c834fSKever Yang 587777c834fSKever Yang uart0: serial@ff180000 { 588777c834fSKever Yang compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 589777c834fSKever Yang reg = <0x0 0xff180000 0x0 0x100>; 590777c834fSKever Yang clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 591777c834fSKever Yang clock-names = "baudclk", "apb_pclk"; 592dde22233SKever Yang interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>; 593777c834fSKever Yang reg-shift = <2>; 594777c834fSKever Yang reg-io-width = <4>; 595777c834fSKever Yang pinctrl-names = "default"; 596777c834fSKever Yang pinctrl-0 = <&uart0_xfer>; 597777c834fSKever Yang status = "disabled"; 598777c834fSKever Yang }; 599777c834fSKever Yang 600777c834fSKever Yang uart1: serial@ff190000 { 601777c834fSKever Yang compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 602777c834fSKever Yang reg = <0x0 0xff190000 0x0 0x100>; 603777c834fSKever Yang clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 604777c834fSKever Yang clock-names = "baudclk", "apb_pclk"; 605dde22233SKever Yang interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>; 606777c834fSKever Yang reg-shift = <2>; 607777c834fSKever Yang reg-io-width = <4>; 608777c834fSKever Yang pinctrl-names = "default"; 609777c834fSKever Yang pinctrl-0 = <&uart1_xfer>; 610777c834fSKever Yang status = "disabled"; 611777c834fSKever Yang }; 612777c834fSKever Yang 613777c834fSKever Yang uart2: serial@ff1a0000 { 614777c834fSKever Yang compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 615777c834fSKever Yang reg = <0x0 0xff1a0000 0x0 0x100>; 616777c834fSKever Yang clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 617777c834fSKever Yang clock-names = "baudclk", "apb_pclk"; 618dde22233SKever Yang interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>; 619777c834fSKever Yang clock-frequency = <24000000>; 620777c834fSKever Yang reg-shift = <2>; 621777c834fSKever Yang reg-io-width = <4>; 622777c834fSKever Yang pinctrl-names = "default"; 623777c834fSKever Yang pinctrl-0 = <&uart2c_xfer>; 624777c834fSKever Yang status = "disabled"; 625777c834fSKever Yang }; 626777c834fSKever Yang 627777c834fSKever Yang uart3: serial@ff1b0000 { 628777c834fSKever Yang compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 629777c834fSKever Yang reg = <0x0 0xff1b0000 0x0 0x100>; 630777c834fSKever Yang clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 631777c834fSKever Yang clock-names = "baudclk", "apb_pclk"; 632dde22233SKever Yang interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>; 633777c834fSKever Yang reg-shift = <2>; 634777c834fSKever Yang reg-io-width = <4>; 635777c834fSKever Yang pinctrl-names = "default"; 636777c834fSKever Yang pinctrl-0 = <&uart3_xfer>; 637777c834fSKever Yang status = "disabled"; 638777c834fSKever Yang }; 639777c834fSKever Yang 640777c834fSKever Yang spi0: spi@ff1c0000 { 641777c834fSKever Yang compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 642777c834fSKever Yang reg = <0x0 0xff1c0000 0x0 0x1000>; 643777c834fSKever Yang clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 644777c834fSKever Yang clock-names = "spiclk", "apb_pclk"; 645dde22233SKever Yang interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH 0>; 646777c834fSKever Yang pinctrl-names = "default"; 647777c834fSKever Yang pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; 648777c834fSKever Yang #address-cells = <1>; 649777c834fSKever Yang #size-cells = <0>; 650777c834fSKever Yang status = "disabled"; 651777c834fSKever Yang }; 652777c834fSKever Yang 653777c834fSKever Yang spi1: spi@ff1d0000 { 654777c834fSKever Yang compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 655777c834fSKever Yang reg = <0x0 0xff1d0000 0x0 0x1000>; 656777c834fSKever Yang clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; 657777c834fSKever Yang clock-names = "spiclk", "apb_pclk"; 658dde22233SKever Yang interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>; 659777c834fSKever Yang pinctrl-names = "default"; 660777c834fSKever Yang pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; 661777c834fSKever Yang #address-cells = <1>; 662777c834fSKever Yang #size-cells = <0>; 663777c834fSKever Yang status = "disabled"; 664777c834fSKever Yang }; 665777c834fSKever Yang 666777c834fSKever Yang spi2: spi@ff1e0000 { 667777c834fSKever Yang compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 668777c834fSKever Yang reg = <0x0 0xff1e0000 0x0 0x1000>; 669777c834fSKever Yang clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; 670777c834fSKever Yang clock-names = "spiclk", "apb_pclk"; 671dde22233SKever Yang interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>; 672777c834fSKever Yang pinctrl-names = "default"; 673777c834fSKever Yang pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; 674777c834fSKever Yang #address-cells = <1>; 675777c834fSKever Yang #size-cells = <0>; 676777c834fSKever Yang status = "disabled"; 677777c834fSKever Yang }; 678777c834fSKever Yang 679777c834fSKever Yang spi4: spi@ff1f0000 { 680777c834fSKever Yang compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 681777c834fSKever Yang reg = <0x0 0xff1f0000 0x0 0x1000>; 682777c834fSKever Yang clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>; 683777c834fSKever Yang clock-names = "spiclk", "apb_pclk"; 684dde22233SKever Yang interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH 0>; 685777c834fSKever Yang pinctrl-names = "default"; 686777c834fSKever Yang pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>; 687777c834fSKever Yang #address-cells = <1>; 688777c834fSKever Yang #size-cells = <0>; 689777c834fSKever Yang status = "disabled"; 690777c834fSKever Yang }; 691777c834fSKever Yang 692777c834fSKever Yang spi5: spi@ff200000 { 693777c834fSKever Yang compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 694777c834fSKever Yang reg = <0x0 0xff200000 0x0 0x1000>; 695777c834fSKever Yang clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>; 696777c834fSKever Yang clock-names = "spiclk", "apb_pclk"; 697dde22233SKever Yang interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH 0>; 698777c834fSKever Yang pinctrl-names = "default"; 699777c834fSKever Yang pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>; 700777c834fSKever Yang #address-cells = <1>; 701777c834fSKever Yang #size-cells = <0>; 702777c834fSKever Yang status = "disabled"; 703777c834fSKever Yang }; 704777c834fSKever Yang 705dde22233SKever Yang thermal_zones: thermal-zones { 706dde22233SKever Yang cpu_thermal: cpu { 707dde22233SKever Yang polling-delay-passive = <100>; 708dde22233SKever Yang polling-delay = <1000>; 709dde22233SKever Yang 710dde22233SKever Yang thermal-sensors = <&tsadc 0>; 711dde22233SKever Yang 712dde22233SKever Yang trips { 713dde22233SKever Yang cpu_alert0: cpu_alert0 { 714dde22233SKever Yang temperature = <70000>; 715dde22233SKever Yang hysteresis = <2000>; 716dde22233SKever Yang type = "passive"; 717dde22233SKever Yang }; 718dde22233SKever Yang cpu_alert1: cpu_alert1 { 719dde22233SKever Yang temperature = <75000>; 720dde22233SKever Yang hysteresis = <2000>; 721dde22233SKever Yang type = "passive"; 722dde22233SKever Yang }; 723dde22233SKever Yang cpu_crit: cpu_crit { 724dde22233SKever Yang temperature = <95000>; 725dde22233SKever Yang hysteresis = <2000>; 726dde22233SKever Yang type = "critical"; 727dde22233SKever Yang }; 728dde22233SKever Yang }; 729dde22233SKever Yang 730dde22233SKever Yang cooling-maps { 731dde22233SKever Yang map0 { 732dde22233SKever Yang trip = <&cpu_alert0>; 733dde22233SKever Yang cooling-device = 734dde22233SKever Yang <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 735dde22233SKever Yang }; 736dde22233SKever Yang map1 { 737dde22233SKever Yang trip = <&cpu_alert1>; 738dde22233SKever Yang cooling-device = 739dde22233SKever Yang <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 740dde22233SKever Yang <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 741dde22233SKever Yang }; 742dde22233SKever Yang }; 743dde22233SKever Yang }; 744dde22233SKever Yang 745dde22233SKever Yang gpu_thermal: gpu { 746dde22233SKever Yang polling-delay-passive = <100>; 747dde22233SKever Yang polling-delay = <1000>; 748dde22233SKever Yang 749dde22233SKever Yang thermal-sensors = <&tsadc 1>; 750dde22233SKever Yang 751dde22233SKever Yang trips { 752dde22233SKever Yang gpu_alert0: gpu_alert0 { 753dde22233SKever Yang temperature = <75000>; 754dde22233SKever Yang hysteresis = <2000>; 755dde22233SKever Yang type = "passive"; 756dde22233SKever Yang }; 757dde22233SKever Yang gpu_crit: gpu_crit { 758dde22233SKever Yang temperature = <95000>; 759dde22233SKever Yang hysteresis = <2000>; 760dde22233SKever Yang type = "critical"; 761dde22233SKever Yang }; 762dde22233SKever Yang }; 763dde22233SKever Yang 764dde22233SKever Yang cooling-maps { 765dde22233SKever Yang map0 { 766dde22233SKever Yang trip = <&gpu_alert0>; 767dde22233SKever Yang cooling-device = 768dde22233SKever Yang <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 769dde22233SKever Yang }; 770dde22233SKever Yang }; 771dde22233SKever Yang }; 772dde22233SKever Yang }; 773dde22233SKever Yang 774dde22233SKever Yang tsadc: tsadc@ff260000 { 775dde22233SKever Yang compatible = "rockchip,rk3399-tsadc"; 776dde22233SKever Yang reg = <0x0 0xff260000 0x0 0x100>; 777dde22233SKever Yang interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>; 778dde22233SKever Yang assigned-clocks = <&cru SCLK_TSADC>; 779dde22233SKever Yang assigned-clock-rates = <750000>; 780dde22233SKever Yang clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 781dde22233SKever Yang clock-names = "tsadc", "apb_pclk"; 782dde22233SKever Yang resets = <&cru SRST_TSADC>; 783dde22233SKever Yang reset-names = "tsadc-apb"; 784dde22233SKever Yang rockchip,grf = <&grf>; 785dde22233SKever Yang rockchip,hw-tshut-temp = <95000>; 786dde22233SKever Yang pinctrl-names = "init", "default", "sleep"; 787dde22233SKever Yang pinctrl-0 = <&otp_gpio>; 788dde22233SKever Yang pinctrl-1 = <&otp_out>; 789dde22233SKever Yang pinctrl-2 = <&otp_gpio>; 790dde22233SKever Yang #thermal-sensor-cells = <1>; 791dde22233SKever Yang status = "disabled"; 792dde22233SKever Yang }; 793dde22233SKever Yang 794dde22233SKever Yang qos_emmc: qos@ffa58000 { 795dde22233SKever Yang compatible = "syscon"; 796dde22233SKever Yang reg = <0x0 0xffa58000 0x0 0x20>; 797dde22233SKever Yang }; 798dde22233SKever Yang 799dde22233SKever Yang qos_gmac: qos@ffa5c000 { 800dde22233SKever Yang compatible = "syscon"; 801dde22233SKever Yang reg = <0x0 0xffa5c000 0x0 0x20>; 802dde22233SKever Yang }; 803dde22233SKever Yang 804dde22233SKever Yang qos_pcie: qos@ffa60080 { 805dde22233SKever Yang compatible = "syscon"; 806dde22233SKever Yang reg = <0x0 0xffa60080 0x0 0x20>; 807dde22233SKever Yang }; 808dde22233SKever Yang 809dde22233SKever Yang qos_usb_host0: qos@ffa60100 { 810dde22233SKever Yang compatible = "syscon"; 811dde22233SKever Yang reg = <0x0 0xffa60100 0x0 0x20>; 812dde22233SKever Yang }; 813dde22233SKever Yang 814dde22233SKever Yang qos_usb_host1: qos@ffa60180 { 815dde22233SKever Yang compatible = "syscon"; 816dde22233SKever Yang reg = <0x0 0xffa60180 0x0 0x20>; 817dde22233SKever Yang }; 818dde22233SKever Yang 819dde22233SKever Yang qos_usb_otg0: qos@ffa70000 { 820dde22233SKever Yang compatible = "syscon"; 821dde22233SKever Yang reg = <0x0 0xffa70000 0x0 0x20>; 822dde22233SKever Yang }; 823dde22233SKever Yang 824dde22233SKever Yang qos_usb_otg1: qos@ffa70080 { 825dde22233SKever Yang compatible = "syscon"; 826dde22233SKever Yang reg = <0x0 0xffa70080 0x0 0x20>; 827dde22233SKever Yang }; 828dde22233SKever Yang 829dde22233SKever Yang qos_sd: qos@ffa74000 { 830dde22233SKever Yang compatible = "syscon"; 831dde22233SKever Yang reg = <0x0 0xffa74000 0x0 0x20>; 832dde22233SKever Yang }; 833dde22233SKever Yang 834dde22233SKever Yang qos_sdioaudio: qos@ffa76000 { 835dde22233SKever Yang compatible = "syscon"; 836dde22233SKever Yang reg = <0x0 0xffa76000 0x0 0x20>; 837dde22233SKever Yang }; 838dde22233SKever Yang 839dde22233SKever Yang qos_hdcp: qos@ffa90000 { 840dde22233SKever Yang compatible = "syscon"; 841dde22233SKever Yang reg = <0x0 0xffa90000 0x0 0x20>; 842dde22233SKever Yang }; 843dde22233SKever Yang 844dde22233SKever Yang qos_iep: qos@ffa98000 { 845dde22233SKever Yang compatible = "syscon"; 846dde22233SKever Yang reg = <0x0 0xffa98000 0x0 0x20>; 847dde22233SKever Yang }; 848dde22233SKever Yang 849dde22233SKever Yang qos_isp0_m0: qos@ffaa0000 { 850dde22233SKever Yang compatible = "syscon"; 851dde22233SKever Yang reg = <0x0 0xffaa0000 0x0 0x20>; 852dde22233SKever Yang }; 853dde22233SKever Yang 854dde22233SKever Yang qos_isp0_m1: qos@ffaa0080 { 855dde22233SKever Yang compatible = "syscon"; 856dde22233SKever Yang reg = <0x0 0xffaa0080 0x0 0x20>; 857dde22233SKever Yang }; 858dde22233SKever Yang 859dde22233SKever Yang qos_isp1_m0: qos@ffaa8000 { 860dde22233SKever Yang compatible = "syscon"; 861dde22233SKever Yang reg = <0x0 0xffaa8000 0x0 0x20>; 862dde22233SKever Yang }; 863dde22233SKever Yang 864dde22233SKever Yang qos_isp1_m1: qos@ffaa8080 { 865dde22233SKever Yang compatible = "syscon"; 866dde22233SKever Yang reg = <0x0 0xffaa8080 0x0 0x20>; 867dde22233SKever Yang }; 868dde22233SKever Yang 869dde22233SKever Yang qos_rga_r: qos@ffab0000 { 870dde22233SKever Yang compatible = "syscon"; 871dde22233SKever Yang reg = <0x0 0xffab0000 0x0 0x20>; 872dde22233SKever Yang }; 873dde22233SKever Yang 874dde22233SKever Yang qos_rga_w: qos@ffab0080 { 875dde22233SKever Yang compatible = "syscon"; 876dde22233SKever Yang reg = <0x0 0xffab0080 0x0 0x20>; 877dde22233SKever Yang }; 878dde22233SKever Yang 879dde22233SKever Yang qos_video_m0: qos@ffab8000 { 880dde22233SKever Yang compatible = "syscon"; 881dde22233SKever Yang reg = <0x0 0xffab8000 0x0 0x20>; 882dde22233SKever Yang }; 883dde22233SKever Yang 884dde22233SKever Yang qos_video_m1_r: qos@ffac0000 { 885dde22233SKever Yang compatible = "syscon"; 886dde22233SKever Yang reg = <0x0 0xffac0000 0x0 0x20>; 887dde22233SKever Yang }; 888dde22233SKever Yang 889dde22233SKever Yang qos_video_m1_w: qos@ffac0080 { 890dde22233SKever Yang compatible = "syscon"; 891dde22233SKever Yang reg = <0x0 0xffac0080 0x0 0x20>; 892dde22233SKever Yang }; 893dde22233SKever Yang 894dde22233SKever Yang qos_vop_big_r: qos@ffac8000 { 895dde22233SKever Yang compatible = "syscon"; 896dde22233SKever Yang reg = <0x0 0xffac8000 0x0 0x20>; 897dde22233SKever Yang }; 898dde22233SKever Yang 899dde22233SKever Yang qos_vop_big_w: qos@ffac8080 { 900dde22233SKever Yang compatible = "syscon"; 901dde22233SKever Yang reg = <0x0 0xffac8080 0x0 0x20>; 902dde22233SKever Yang }; 903dde22233SKever Yang 904dde22233SKever Yang qos_vop_little: qos@ffad0000 { 905dde22233SKever Yang compatible = "syscon"; 906dde22233SKever Yang reg = <0x0 0xffad0000 0x0 0x20>; 907dde22233SKever Yang }; 908dde22233SKever Yang 909dde22233SKever Yang qos_perihp: qos@ffad8080 { 910dde22233SKever Yang compatible = "syscon"; 911dde22233SKever Yang reg = <0x0 0xffad8080 0x0 0x20>; 912dde22233SKever Yang }; 913dde22233SKever Yang 914dde22233SKever Yang qos_gpu: qos@ffae0000 { 915dde22233SKever Yang compatible = "syscon"; 916dde22233SKever Yang reg = <0x0 0xffae0000 0x0 0x20>; 917dde22233SKever Yang }; 918dde22233SKever Yang 919dde22233SKever Yang pmu: power-management@ff310000 { 920dde22233SKever Yang compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd"; 921dde22233SKever Yang reg = <0x0 0xff310000 0x0 0x1000>; 922dde22233SKever Yang 923dde22233SKever Yang /* 924dde22233SKever Yang * Note: RK3399 supports 6 voltage domains including VD_CORE_L, 925dde22233SKever Yang * VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU. 926dde22233SKever Yang * Some of the power domains are grouped together for every 927dde22233SKever Yang * voltage domain. 928dde22233SKever Yang * The detail contents as below. 929dde22233SKever Yang */ 930dde22233SKever Yang power: power-controller { 931dde22233SKever Yang compatible = "rockchip,rk3399-power-controller"; 932dde22233SKever Yang #power-domain-cells = <1>; 933dde22233SKever Yang #address-cells = <1>; 934dde22233SKever Yang #size-cells = <0>; 935dde22233SKever Yang 936dde22233SKever Yang /* These power domains are grouped by VD_CENTER */ 937dde22233SKever Yang pd_iep@RK3399_PD_IEP { 938dde22233SKever Yang reg = <RK3399_PD_IEP>; 939dde22233SKever Yang clocks = <&cru ACLK_IEP>, 940dde22233SKever Yang <&cru HCLK_IEP>; 941dde22233SKever Yang pm_qos = <&qos_iep>; 942dde22233SKever Yang }; 943dde22233SKever Yang pd_rga@RK3399_PD_RGA { 944dde22233SKever Yang reg = <RK3399_PD_RGA>; 945dde22233SKever Yang clocks = <&cru ACLK_RGA>, 946dde22233SKever Yang <&cru HCLK_RGA>; 947dde22233SKever Yang pm_qos = <&qos_rga_r>, 948dde22233SKever Yang <&qos_rga_w>; 949dde22233SKever Yang }; 950dde22233SKever Yang pd_vcodec@RK3399_PD_VCODEC { 951dde22233SKever Yang reg = <RK3399_PD_VCODEC>; 952dde22233SKever Yang clocks = <&cru ACLK_VCODEC>, 953dde22233SKever Yang <&cru HCLK_VCODEC>; 954dde22233SKever Yang pm_qos = <&qos_video_m0>; 955dde22233SKever Yang }; 956dde22233SKever Yang pd_vdu@RK3399_PD_VDU { 957dde22233SKever Yang reg = <RK3399_PD_VDU>; 958dde22233SKever Yang clocks = <&cru ACLK_VDU>, 959dde22233SKever Yang <&cru HCLK_VDU>; 960dde22233SKever Yang pm_qos = <&qos_video_m1_r>, 961dde22233SKever Yang <&qos_video_m1_w>; 962dde22233SKever Yang }; 963dde22233SKever Yang 964dde22233SKever Yang /* These power domains are grouped by VD_GPU */ 965dde22233SKever Yang pd_gpu@RK3399_PD_GPU { 966dde22233SKever Yang reg = <RK3399_PD_GPU>; 967dde22233SKever Yang clocks = <&cru ACLK_GPU>; 968dde22233SKever Yang pm_qos = <&qos_gpu>; 969dde22233SKever Yang }; 970dde22233SKever Yang 971dde22233SKever Yang /* These power domains are grouped by VD_LOGIC */ 972dde22233SKever Yang pd_edp@RK3399_PD_EDP { 973dde22233SKever Yang reg = <RK3399_PD_EDP>; 974dde22233SKever Yang clocks = <&cru PCLK_EDP_CTRL>; 975dde22233SKever Yang }; 976dde22233SKever Yang pd_emmc@RK3399_PD_EMMC { 977dde22233SKever Yang reg = <RK3399_PD_EMMC>; 978dde22233SKever Yang clocks = <&cru ACLK_EMMC>; 979dde22233SKever Yang pm_qos = <&qos_emmc>; 980dde22233SKever Yang }; 981dde22233SKever Yang pd_gmac@RK3399_PD_GMAC { 982dde22233SKever Yang reg = <RK3399_PD_GMAC>; 983dde22233SKever Yang clocks = <&cru ACLK_GMAC>, 984dde22233SKever Yang <&cru PCLK_GMAC>; 985dde22233SKever Yang pm_qos = <&qos_gmac>; 986dde22233SKever Yang }; 987dde22233SKever Yang pd_perihp@RK3399_PD_PERIHP { 988dde22233SKever Yang reg = <RK3399_PD_PERIHP>; 989dde22233SKever Yang #address-cells = <1>; 990dde22233SKever Yang #size-cells = <0>; 991dde22233SKever Yang clocks = <&cru ACLK_PERIHP>; 992dde22233SKever Yang pm_qos = <&qos_perihp>, 993dde22233SKever Yang <&qos_pcie>, 994dde22233SKever Yang <&qos_usb_host0>, 995dde22233SKever Yang <&qos_usb_host1>; 996dde22233SKever Yang 997dde22233SKever Yang pd_sd@RK3399_PD_SD { 998dde22233SKever Yang reg = <RK3399_PD_SD>; 999dde22233SKever Yang clocks = <&cru HCLK_SDMMC>, 1000dde22233SKever Yang <&cru SCLK_SDMMC>; 1001dde22233SKever Yang pm_qos = <&qos_sd>; 1002dde22233SKever Yang }; 1003dde22233SKever Yang }; 1004dde22233SKever Yang pd_sdioaudio@RK3399_PD_SDIOAUDIO { 1005dde22233SKever Yang reg = <RK3399_PD_SDIOAUDIO>; 1006dde22233SKever Yang clocks = <&cru HCLK_SDIO>; 1007dde22233SKever Yang pm_qos = <&qos_sdioaudio>; 1008dde22233SKever Yang }; 1009dde22233SKever Yang pd_usb3@RK3399_PD_USB3 { 1010dde22233SKever Yang reg = <RK3399_PD_USB3>; 1011dde22233SKever Yang clocks = <&cru ACLK_USB3>; 1012dde22233SKever Yang pm_qos = <&qos_usb_otg0>, 1013dde22233SKever Yang <&qos_usb_otg1>; 1014dde22233SKever Yang }; 1015dde22233SKever Yang pd_vio@RK3399_PD_VIO { 1016dde22233SKever Yang reg = <RK3399_PD_VIO>; 1017dde22233SKever Yang #address-cells = <1>; 1018dde22233SKever Yang #size-cells = <0>; 1019dde22233SKever Yang 1020dde22233SKever Yang pd_hdcp@RK3399_PD_HDCP { 1021dde22233SKever Yang reg = <RK3399_PD_HDCP>; 1022dde22233SKever Yang clocks = <&cru ACLK_HDCP>, 1023dde22233SKever Yang <&cru HCLK_HDCP>, 1024dde22233SKever Yang <&cru PCLK_HDCP>; 1025dde22233SKever Yang pm_qos = <&qos_hdcp>; 1026dde22233SKever Yang }; 1027dde22233SKever Yang pd_isp0@RK3399_PD_ISP0 { 1028dde22233SKever Yang reg = <RK3399_PD_ISP0>; 1029dde22233SKever Yang clocks = <&cru ACLK_ISP0>, 1030dde22233SKever Yang <&cru HCLK_ISP0>; 1031dde22233SKever Yang pm_qos = <&qos_isp0_m0>, 1032dde22233SKever Yang <&qos_isp0_m1>; 1033dde22233SKever Yang }; 1034dde22233SKever Yang pd_isp1@RK3399_PD_ISP1 { 1035dde22233SKever Yang reg = <RK3399_PD_ISP1>; 1036dde22233SKever Yang clocks = <&cru ACLK_ISP1>, 1037dde22233SKever Yang <&cru HCLK_ISP1>; 1038dde22233SKever Yang pm_qos = <&qos_isp1_m0>, 1039dde22233SKever Yang <&qos_isp1_m1>; 1040dde22233SKever Yang }; 1041dde22233SKever Yang pd_tcpc0@RK3399_PD_TCPC0 { 1042dde22233SKever Yang reg = <RK3399_PD_TCPD0>; 1043dde22233SKever Yang clocks = <&cru SCLK_UPHY0_TCPDCORE>, 1044dde22233SKever Yang <&cru SCLK_UPHY0_TCPDPHY_REF>; 1045dde22233SKever Yang }; 1046dde22233SKever Yang pd_tcpc1@RK3399_PD_TCPC1 { 1047dde22233SKever Yang reg = <RK3399_PD_TCPD1>; 1048dde22233SKever Yang clocks = <&cru SCLK_UPHY1_TCPDCORE>, 1049dde22233SKever Yang <&cru SCLK_UPHY1_TCPDPHY_REF>; 1050dde22233SKever Yang }; 1051dde22233SKever Yang pd_vo@RK3399_PD_VO { 1052dde22233SKever Yang reg = <RK3399_PD_VO>; 1053dde22233SKever Yang #address-cells = <1>; 1054dde22233SKever Yang #size-cells = <0>; 1055dde22233SKever Yang 1056dde22233SKever Yang pd_vopb@RK3399_PD_VOPB { 1057dde22233SKever Yang reg = <RK3399_PD_VOPB>; 1058dde22233SKever Yang clocks = <&cru ACLK_VOP0>, 1059dde22233SKever Yang <&cru HCLK_VOP0>; 1060dde22233SKever Yang pm_qos = <&qos_vop_big_r>, 1061dde22233SKever Yang <&qos_vop_big_w>; 1062dde22233SKever Yang }; 1063dde22233SKever Yang pd_vopl@RK3399_PD_VOPL { 1064dde22233SKever Yang reg = <RK3399_PD_VOPL>; 1065dde22233SKever Yang clocks = <&cru ACLK_VOP1>, 1066dde22233SKever Yang <&cru HCLK_VOP1>; 1067dde22233SKever Yang pm_qos = <&qos_vop_little>; 1068dde22233SKever Yang }; 1069dde22233SKever Yang }; 1070dde22233SKever Yang }; 1071dde22233SKever Yang }; 1072dde22233SKever Yang }; 1073dde22233SKever Yang 1074777c834fSKever Yang pmugrf: syscon@ff320000 { 1075a82426e0SKever Yang u-boot,dm-pre-reloc; 1076777c834fSKever Yang compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd"; 1077777c834fSKever Yang reg = <0x0 0xff320000 0x0 0x1000>; 1078777c834fSKever Yang 1079777c834fSKever Yang pmu_io_domains: io-domains { 1080777c834fSKever Yang compatible = "rockchip,rk3399-pmu-io-voltage-domain"; 1081777c834fSKever Yang status = "disabled"; 1082777c834fSKever Yang }; 1083777c834fSKever Yang }; 1084777c834fSKever Yang 1085a82426e0SKever Yang pmusgrf: syscon@ff330000 { 1086a82426e0SKever Yang u-boot,dm-pre-reloc; 1087a82426e0SKever Yang compatible = "rockchip,rk3399-pmusgrf", "syscon"; 1088a82426e0SKever Yang reg = <0x0 0xff330000 0x0 0xe3d4>; 1089a82426e0SKever Yang }; 1090a82426e0SKever Yang 1091777c834fSKever Yang spi3: spi@ff350000 { 1092777c834fSKever Yang compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi"; 1093777c834fSKever Yang reg = <0x0 0xff350000 0x0 0x1000>; 1094777c834fSKever Yang clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>; 1095777c834fSKever Yang clock-names = "spiclk", "apb_pclk"; 1096dde22233SKever Yang interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH 0>; 1097777c834fSKever Yang pinctrl-names = "default"; 1098777c834fSKever Yang pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>; 1099777c834fSKever Yang #address-cells = <1>; 1100777c834fSKever Yang #size-cells = <0>; 1101777c834fSKever Yang status = "disabled"; 1102777c834fSKever Yang }; 1103777c834fSKever Yang 1104777c834fSKever Yang uart4: serial@ff370000 { 1105777c834fSKever Yang compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart"; 1106777c834fSKever Yang reg = <0x0 0xff370000 0x0 0x100>; 1107777c834fSKever Yang clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>; 1108777c834fSKever Yang clock-names = "baudclk", "apb_pclk"; 1109dde22233SKever Yang interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>; 1110777c834fSKever Yang reg-shift = <2>; 1111777c834fSKever Yang reg-io-width = <4>; 1112777c834fSKever Yang pinctrl-names = "default"; 1113777c834fSKever Yang pinctrl-0 = <&uart4_xfer>; 1114777c834fSKever Yang status = "disabled"; 1115777c834fSKever Yang }; 1116777c834fSKever Yang 1117*0a09f2f1SSimon Glass i2c0: i2c@ff3c0000 { 1118*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-i2c"; 1119*0a09f2f1SSimon Glass reg = <0x0 0xff3c0000 0x0 0x1000>; 1120*0a09f2f1SSimon Glass assigned-clocks = <&pmucru SCLK_I2C0_PMU>; 1121*0a09f2f1SSimon Glass assigned-clock-rates = <200000000>; 1122*0a09f2f1SSimon Glass clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>; 1123*0a09f2f1SSimon Glass clock-names = "i2c", "pclk"; 1124*0a09f2f1SSimon Glass interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>; 1125*0a09f2f1SSimon Glass pinctrl-names = "default"; 1126*0a09f2f1SSimon Glass pinctrl-0 = <&i2c0_xfer>; 1127*0a09f2f1SSimon Glass #address-cells = <1>; 1128*0a09f2f1SSimon Glass #size-cells = <0>; 1129*0a09f2f1SSimon Glass status = "disabled"; 1130*0a09f2f1SSimon Glass }; 1131*0a09f2f1SSimon Glass 1132dde22233SKever Yang i2c4: i2c@ff3d0000 { 1133dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 1134dde22233SKever Yang reg = <0x0 0xff3d0000 0x0 0x1000>; 1135dde22233SKever Yang assigned-clocks = <&pmucru SCLK_I2C4_PMU>; 1136dde22233SKever Yang assigned-clock-rates = <200000000>; 1137dde22233SKever Yang clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>; 1138dde22233SKever Yang clock-names = "i2c", "pclk"; 1139dde22233SKever Yang interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH 0>; 1140dde22233SKever Yang pinctrl-names = "default"; 1141dde22233SKever Yang pinctrl-0 = <&i2c4_xfer>; 1142dde22233SKever Yang #address-cells = <1>; 1143dde22233SKever Yang #size-cells = <0>; 1144dde22233SKever Yang status = "disabled"; 1145dde22233SKever Yang }; 1146dde22233SKever Yang 1147dde22233SKever Yang i2c8: i2c@ff3e0000 { 1148dde22233SKever Yang compatible = "rockchip,rk3399-i2c"; 1149dde22233SKever Yang reg = <0x0 0xff3e0000 0x0 0x1000>; 1150dde22233SKever Yang assigned-clocks = <&pmucru SCLK_I2C8_PMU>; 1151dde22233SKever Yang assigned-clock-rates = <200000000>; 1152dde22233SKever Yang clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>; 1153dde22233SKever Yang clock-names = "i2c", "pclk"; 1154dde22233SKever Yang interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>; 1155dde22233SKever Yang pinctrl-names = "default"; 1156dde22233SKever Yang pinctrl-0 = <&i2c8_xfer>; 1157dde22233SKever Yang #address-cells = <1>; 1158dde22233SKever Yang #size-cells = <0>; 1159dde22233SKever Yang status = "disabled"; 1160dde22233SKever Yang }; 1161dde22233SKever Yang 1162777c834fSKever Yang pwm0: pwm@ff420000 { 1163777c834fSKever Yang compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1164777c834fSKever Yang reg = <0x0 0xff420000 0x0 0x10>; 1165777c834fSKever Yang #pwm-cells = <3>; 1166777c834fSKever Yang pinctrl-names = "default"; 1167777c834fSKever Yang pinctrl-0 = <&pwm0_pin>; 1168777c834fSKever Yang clocks = <&pmucru PCLK_RKPWM_PMU>; 1169777c834fSKever Yang clock-names = "pwm"; 1170777c834fSKever Yang status = "disabled"; 1171777c834fSKever Yang }; 1172777c834fSKever Yang 1173777c834fSKever Yang pwm1: pwm@ff420010 { 1174777c834fSKever Yang compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1175777c834fSKever Yang reg = <0x0 0xff420010 0x0 0x10>; 1176777c834fSKever Yang #pwm-cells = <3>; 1177777c834fSKever Yang pinctrl-names = "default"; 1178777c834fSKever Yang pinctrl-0 = <&pwm1_pin>; 1179777c834fSKever Yang clocks = <&pmucru PCLK_RKPWM_PMU>; 1180777c834fSKever Yang clock-names = "pwm"; 1181777c834fSKever Yang status = "disabled"; 1182777c834fSKever Yang }; 1183777c834fSKever Yang 1184777c834fSKever Yang pwm2: pwm@ff420020 { 1185777c834fSKever Yang compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1186777c834fSKever Yang reg = <0x0 0xff420020 0x0 0x10>; 1187777c834fSKever Yang #pwm-cells = <3>; 1188777c834fSKever Yang pinctrl-names = "default"; 1189777c834fSKever Yang pinctrl-0 = <&pwm2_pin>; 1190777c834fSKever Yang clocks = <&pmucru PCLK_RKPWM_PMU>; 1191777c834fSKever Yang clock-names = "pwm"; 1192777c834fSKever Yang status = "disabled"; 1193777c834fSKever Yang }; 1194777c834fSKever Yang 1195777c834fSKever Yang pwm3: pwm@ff420030 { 1196777c834fSKever Yang compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm"; 1197777c834fSKever Yang reg = <0x0 0xff420030 0x0 0x10>; 1198777c834fSKever Yang #pwm-cells = <3>; 1199777c834fSKever Yang pinctrl-names = "default"; 1200777c834fSKever Yang pinctrl-0 = <&pwm3a_pin>; 1201777c834fSKever Yang clocks = <&pmucru PCLK_RKPWM_PMU>; 1202777c834fSKever Yang clock-names = "pwm"; 1203777c834fSKever Yang status = "disabled"; 1204777c834fSKever Yang }; 1205777c834fSKever Yang 1206a82426e0SKever Yang cic: syscon@ff620000 { 1207a82426e0SKever Yang u-boot,dm-pre-reloc; 1208a82426e0SKever Yang compatible = "rockchip,rk3399-cic", "syscon"; 1209a82426e0SKever Yang reg = <0x0 0xff620000 0x0 0x100>; 1210a82426e0SKever Yang }; 1211a82426e0SKever Yang 1212a82426e0SKever Yang dfi: dfi@ff630000 { 1213a82426e0SKever Yang reg = <0x00 0xff630000 0x00 0x4000>; 1214a82426e0SKever Yang compatible = "rockchip,rk3399-dfi"; 1215a82426e0SKever Yang rockchip,pmu = <&pmugrf>; 1216a82426e0SKever Yang clocks = <&cru PCLK_DDR_MON>; 1217a82426e0SKever Yang clock-names = "pclk_ddr_mon"; 1218a82426e0SKever Yang status = "disabled"; 1219a82426e0SKever Yang }; 1220a82426e0SKever Yang 1221a82426e0SKever Yang dmc: dmc { 1222a82426e0SKever Yang u-boot,dm-pre-reloc; 1223a82426e0SKever Yang compatible = "rockchip,rk3399-dmc"; 1224a82426e0SKever Yang devfreq-events = <&dfi>; 1225a82426e0SKever Yang interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 0>; 1226a82426e0SKever Yang clocks = <&cru SCLK_DDRCLK>; 1227a82426e0SKever Yang clock-names = "dmc_clk"; 1228a82426e0SKever Yang reg = <0x0 0xffa80000 0x0 0x0800 1229a82426e0SKever Yang 0x0 0xffa80800 0x0 0x1800 1230a82426e0SKever Yang 0x0 0xffa82000 0x0 0x2000 1231a82426e0SKever Yang 0x0 0xffa84000 0x0 0x1000 1232a82426e0SKever Yang 0x0 0xffa88000 0x0 0x0800 1233a82426e0SKever Yang 0x0 0xffa88800 0x0 0x1800 1234a82426e0SKever Yang 0x0 0xffa8a000 0x0 0x2000 1235a82426e0SKever Yang 0x0 0xffa8c000 0x0 0x1000>; 1236a82426e0SKever Yang }; 1237a82426e0SKever Yang 1238dde22233SKever Yang efuse0: efuse@ff690000 { 1239dde22233SKever Yang compatible = "rockchip,rk3399-efuse"; 1240dde22233SKever Yang reg = <0x0 0xff690000 0x0 0x80>; 1241dde22233SKever Yang #address-cells = <1>; 1242dde22233SKever Yang #size-cells = <1>; 1243dde22233SKever Yang clocks = <&cru PCLK_EFUSE1024NS>; 1244dde22233SKever Yang clock-names = "pclk_efuse"; 1245dde22233SKever Yang 1246dde22233SKever Yang /* Data cells */ 1247dde22233SKever Yang cpu_id: cpu-id@7 { 1248dde22233SKever Yang reg = <0x07 0x10>; 1249dde22233SKever Yang }; 1250dde22233SKever Yang cpub_leakage: cpu-leakage@17 { 1251dde22233SKever Yang reg = <0x17 0x1>; 1252dde22233SKever Yang }; 1253dde22233SKever Yang gpu_leakage: gpu-leakage@18 { 1254dde22233SKever Yang reg = <0x18 0x1>; 1255dde22233SKever Yang }; 1256dde22233SKever Yang center_leakage: center-leakage@19 { 1257dde22233SKever Yang reg = <0x19 0x1>; 1258dde22233SKever Yang }; 1259dde22233SKever Yang cpul_leakage: cpu-leakage@1a { 1260dde22233SKever Yang reg = <0x1a 0x1>; 1261dde22233SKever Yang }; 1262dde22233SKever Yang logic_leakage: logic-leakage@1b { 1263dde22233SKever Yang reg = <0x1b 0x1>; 1264dde22233SKever Yang }; 1265dde22233SKever Yang wafer_info: wafer-info@1c { 1266dde22233SKever Yang reg = <0x1c 0x1>; 1267dde22233SKever Yang }; 1268dde22233SKever Yang }; 1269dde22233SKever Yang 1270777c834fSKever Yang pmucru: pmu-clock-controller@ff750000 { 1271a82426e0SKever Yang u-boot,dm-pre-reloc; 1272777c834fSKever Yang compatible = "rockchip,rk3399-pmucru"; 1273777c834fSKever Yang reg = <0x0 0xff750000 0x0 0x1000>; 1274dde22233SKever Yang rockchip,grf = <&pmugrf>; 1275777c834fSKever Yang #clock-cells = <1>; 1276777c834fSKever Yang #reset-cells = <1>; 1277777c834fSKever Yang assigned-clocks = <&pmucru PLL_PPLL>; 1278777c834fSKever Yang assigned-clock-rates = <676000000>; 1279777c834fSKever Yang }; 1280777c834fSKever Yang 1281777c834fSKever Yang cru: clock-controller@ff760000 { 1282a82426e0SKever Yang u-boot,dm-pre-reloc; 1283777c834fSKever Yang compatible = "rockchip,rk3399-cru"; 1284777c834fSKever Yang reg = <0x0 0xff760000 0x0 0x1000>; 1285dde22233SKever Yang rockchip,grf = <&grf>; 1286777c834fSKever Yang #clock-cells = <1>; 1287777c834fSKever Yang #reset-cells = <1>; 1288777c834fSKever Yang assigned-clocks = 1289777c834fSKever Yang <&cru PLL_GPLL>, <&cru PLL_CPLL>, 1290777c834fSKever Yang <&cru PLL_NPLL>, 1291777c834fSKever Yang <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>, 1292777c834fSKever Yang <&cru PCLK_PERIHP>, 1293777c834fSKever Yang <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>, 1294dde22233SKever Yang <&cru PCLK_PERILP0>, <&cru ACLK_CCI>, 1295*0a09f2f1SSimon Glass <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>, 1296*0a09f2f1SSimon Glass <&cru ACLK_VIO>, <&cru ACLK_HDCP>, 1297*0a09f2f1SSimon Glass <&cru ACLK_GIC_PRE>, 1298*0a09f2f1SSimon Glass <&cru PCLK_DDR>; 1299777c834fSKever Yang assigned-clock-rates = 1300777c834fSKever Yang <594000000>, <800000000>, 1301777c834fSKever Yang <1000000000>, 1302777c834fSKever Yang <150000000>, <75000000>, 1303777c834fSKever Yang <37500000>, 1304777c834fSKever Yang <100000000>, <100000000>, 1305dde22233SKever Yang <50000000>, <600000000>, 1306*0a09f2f1SSimon Glass <100000000>, <50000000>, 1307*0a09f2f1SSimon Glass <400000000>, <400000000>, 1308*0a09f2f1SSimon Glass <200000000>, 1309*0a09f2f1SSimon Glass <200000000>; 1310777c834fSKever Yang }; 1311777c834fSKever Yang 1312777c834fSKever Yang grf: syscon@ff770000 { 1313a82426e0SKever Yang u-boot,dm-pre-reloc; 1314777c834fSKever Yang compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; 1315777c834fSKever Yang reg = <0x0 0xff770000 0x0 0x10000>; 1316777c834fSKever Yang #address-cells = <1>; 1317777c834fSKever Yang #size-cells = <1>; 1318777c834fSKever Yang 1319777c834fSKever Yang io_domains: io-domains { 1320777c834fSKever Yang compatible = "rockchip,rk3399-io-voltage-domain"; 1321777c834fSKever Yang status = "disabled"; 1322777c834fSKever Yang }; 1323777c834fSKever Yang 1324dde22233SKever Yang u2phy0: usb2-phy@e450 { 1325dde22233SKever Yang compatible = "rockchip,rk3399-usb2phy"; 1326dde22233SKever Yang reg = <0xe450 0x10>; 1327dde22233SKever Yang clocks = <&cru SCLK_USB2PHY0_REF>; 1328dde22233SKever Yang clock-names = "phyclk"; 1329dde22233SKever Yang #clock-cells = <0>; 1330dde22233SKever Yang clock-output-names = "clk_usbphy0_480m"; 1331dde22233SKever Yang status = "disabled"; 1332dde22233SKever Yang 1333dde22233SKever Yang u2phy0_host: host-port { 1334dde22233SKever Yang #phy-cells = <0>; 1335dde22233SKever Yang interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>; 1336dde22233SKever Yang interrupt-names = "linestate"; 1337dde22233SKever Yang status = "disabled"; 1338dde22233SKever Yang }; 1339dde22233SKever Yang 1340dde22233SKever Yang u2phy0_otg: otg-port { 1341dde22233SKever Yang #phy-cells = <0>; 1342dde22233SKever Yang interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>, 1343dde22233SKever Yang <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>, 1344dde22233SKever Yang <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 1345dde22233SKever Yang interrupt-names = "otg-bvalid", "otg-id", 1346dde22233SKever Yang "linestate"; 1347dde22233SKever Yang status = "disabled"; 1348dde22233SKever Yang }; 1349dde22233SKever Yang }; 1350dde22233SKever Yang 1351dde22233SKever Yang u2phy1: usb2-phy@e460 { 1352dde22233SKever Yang compatible = "rockchip,rk3399-usb2phy"; 1353dde22233SKever Yang reg = <0xe460 0x10>; 1354dde22233SKever Yang clocks = <&cru SCLK_USB2PHY1_REF>; 1355dde22233SKever Yang clock-names = "phyclk"; 1356dde22233SKever Yang #clock-cells = <0>; 1357dde22233SKever Yang clock-output-names = "clk_usbphy1_480m"; 1358dde22233SKever Yang status = "disabled"; 1359dde22233SKever Yang 1360dde22233SKever Yang u2phy1_host: host-port { 1361dde22233SKever Yang #phy-cells = <0>; 1362dde22233SKever Yang interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>; 1363dde22233SKever Yang interrupt-names = "linestate"; 1364dde22233SKever Yang status = "disabled"; 1365dde22233SKever Yang }; 1366dde22233SKever Yang 1367dde22233SKever Yang u2phy1_otg: otg-port { 1368dde22233SKever Yang #phy-cells = <0>; 1369dde22233SKever Yang interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>, 1370dde22233SKever Yang <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>, 1371dde22233SKever Yang <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>; 1372dde22233SKever Yang interrupt-names = "otg-bvalid", "otg-id", 1373dde22233SKever Yang "linestate"; 1374dde22233SKever Yang status = "disabled"; 1375dde22233SKever Yang }; 1376dde22233SKever Yang }; 1377dde22233SKever Yang 1378777c834fSKever Yang emmc_phy: phy@f780 { 1379777c834fSKever Yang compatible = "rockchip,rk3399-emmc-phy"; 1380777c834fSKever Yang reg = <0xf780 0x24>; 1381dde22233SKever Yang clocks = <&sdhci>; 1382dde22233SKever Yang clock-names = "emmcclk"; 1383777c834fSKever Yang #phy-cells = <0>; 1384777c834fSKever Yang status = "disabled"; 1385777c834fSKever Yang }; 1386777c834fSKever Yang 1387dde22233SKever Yang pcie_phy: pcie-phy { 1388dde22233SKever Yang compatible = "rockchip,rk3399-pcie-phy"; 1389dde22233SKever Yang clocks = <&cru SCLK_PCIEPHY_REF>; 1390dde22233SKever Yang clock-names = "refclk"; 1391dde22233SKever Yang #phy-cells = <0>; 1392dde22233SKever Yang resets = <&cru SRST_PCIEPHY>; 1393dde22233SKever Yang reset-names = "phy"; 1394ca0ab273SPhilipp Tomsich status = "disabled"; 1395ca0ab273SPhilipp Tomsich }; 1396dde22233SKever Yang }; 1397dde22233SKever Yang 1398*0a09f2f1SSimon Glass tcphy0: phy@ff7c0000 { 1399*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-typec-phy"; 1400*0a09f2f1SSimon Glass reg = <0x0 0xff7c0000 0x0 0x40000>; 1401*0a09f2f1SSimon Glass clocks = <&cru SCLK_UPHY0_TCPDCORE>, 1402*0a09f2f1SSimon Glass <&cru SCLK_UPHY0_TCPDPHY_REF>; 1403*0a09f2f1SSimon Glass clock-names = "tcpdcore", "tcpdphy-ref"; 1404*0a09f2f1SSimon Glass assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>; 1405*0a09f2f1SSimon Glass assigned-clock-rates = <50000000>; 1406*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_TCPD0>; 1407*0a09f2f1SSimon Glass resets = <&cru SRST_UPHY0>, 1408*0a09f2f1SSimon Glass <&cru SRST_UPHY0_PIPE_L00>, 1409*0a09f2f1SSimon Glass <&cru SRST_P_UPHY0_TCPHY>; 1410*0a09f2f1SSimon Glass reset-names = "uphy", "uphy-pipe", "uphy-tcphy"; 1411*0a09f2f1SSimon Glass rockchip,grf = <&grf>; 1412*0a09f2f1SSimon Glass status = "disabled"; 1413*0a09f2f1SSimon Glass 1414*0a09f2f1SSimon Glass tcphy0_dp: dp-port { 1415*0a09f2f1SSimon Glass #phy-cells = <0>; 1416*0a09f2f1SSimon Glass }; 1417*0a09f2f1SSimon Glass 1418*0a09f2f1SSimon Glass tcphy0_usb3: usb3-port { 1419*0a09f2f1SSimon Glass #phy-cells = <0>; 1420*0a09f2f1SSimon Glass }; 1421*0a09f2f1SSimon Glass }; 1422*0a09f2f1SSimon Glass 1423*0a09f2f1SSimon Glass tcphy1: phy@ff800000 { 1424*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-typec-phy"; 1425*0a09f2f1SSimon Glass reg = <0x0 0xff800000 0x0 0x40000>; 1426*0a09f2f1SSimon Glass clocks = <&cru SCLK_UPHY1_TCPDCORE>, 1427*0a09f2f1SSimon Glass <&cru SCLK_UPHY1_TCPDPHY_REF>; 1428*0a09f2f1SSimon Glass clock-names = "tcpdcore", "tcpdphy-ref"; 1429*0a09f2f1SSimon Glass assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>; 1430*0a09f2f1SSimon Glass assigned-clock-rates = <50000000>; 1431*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_TCPD1>; 1432*0a09f2f1SSimon Glass resets = <&cru SRST_UPHY1>, 1433*0a09f2f1SSimon Glass <&cru SRST_UPHY1_PIPE_L00>, 1434*0a09f2f1SSimon Glass <&cru SRST_P_UPHY1_TCPHY>; 1435*0a09f2f1SSimon Glass reset-names = "uphy", "uphy-pipe", "uphy-tcphy"; 1436*0a09f2f1SSimon Glass rockchip,grf = <&grf>; 1437*0a09f2f1SSimon Glass status = "disabled"; 1438*0a09f2f1SSimon Glass 1439*0a09f2f1SSimon Glass tcphy1_dp: dp-port { 1440*0a09f2f1SSimon Glass #phy-cells = <0>; 1441*0a09f2f1SSimon Glass }; 1442*0a09f2f1SSimon Glass 1443*0a09f2f1SSimon Glass tcphy1_usb3: usb3-port { 1444*0a09f2f1SSimon Glass #phy-cells = <0>; 1445*0a09f2f1SSimon Glass }; 1446*0a09f2f1SSimon Glass }; 1447*0a09f2f1SSimon Glass 1448dde22233SKever Yang watchdog@ff848000 { 1449dde22233SKever Yang compatible = "snps,dw-wdt"; 1450dde22233SKever Yang reg = <0x0 0xff848000 0x0 0x100>; 1451dde22233SKever Yang clocks = <&cru PCLK_WDT>; 1452dde22233SKever Yang interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>; 1453dde22233SKever Yang }; 1454dde22233SKever Yang 1455dde22233SKever Yang rktimer: rktimer@ff850000 { 1456dde22233SKever Yang compatible = "rockchip,rk3399-timer"; 1457dde22233SKever Yang reg = <0x0 0xff850000 0x0 0x1000>; 1458dde22233SKever Yang interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0>; 1459dde22233SKever Yang clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>; 1460dde22233SKever Yang clock-names = "pclk", "timer"; 1461dde22233SKever Yang }; 1462ca0ab273SPhilipp Tomsich 1463777c834fSKever Yang spdif: spdif@ff870000 { 1464777c834fSKever Yang compatible = "rockchip,rk3399-spdif"; 1465777c834fSKever Yang reg = <0x0 0xff870000 0x0 0x1000>; 1466dde22233SKever Yang interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH 0>; 1467777c834fSKever Yang dmas = <&dmac_bus 7>; 1468777c834fSKever Yang dma-names = "tx"; 1469777c834fSKever Yang clock-names = "mclk", "hclk"; 1470777c834fSKever Yang clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>; 1471777c834fSKever Yang pinctrl-names = "default"; 1472777c834fSKever Yang pinctrl-0 = <&spdif_bus>; 1473dde22233SKever Yang power-domains = <&power RK3399_PD_SDIOAUDIO>; 1474*0a09f2f1SSimon Glass #sound-dai-cells = <0>; 1475777c834fSKever Yang status = "disabled"; 1476777c834fSKever Yang }; 1477777c834fSKever Yang 1478777c834fSKever Yang i2s0: i2s@ff880000 { 1479777c834fSKever Yang compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s"; 1480777c834fSKever Yang reg = <0x0 0xff880000 0x0 0x1000>; 1481777c834fSKever Yang rockchip,grf = <&grf>; 1482dde22233SKever Yang interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH 0>; 1483777c834fSKever Yang dmas = <&dmac_bus 0>, <&dmac_bus 1>; 1484777c834fSKever Yang dma-names = "tx", "rx"; 1485777c834fSKever Yang clock-names = "i2s_clk", "i2s_hclk"; 1486777c834fSKever Yang clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>; 1487777c834fSKever Yang pinctrl-names = "default"; 1488777c834fSKever Yang pinctrl-0 = <&i2s0_8ch_bus>; 1489dde22233SKever Yang power-domains = <&power RK3399_PD_SDIOAUDIO>; 1490*0a09f2f1SSimon Glass #sound-dai-cells = <0>; 1491777c834fSKever Yang status = "disabled"; 1492777c834fSKever Yang }; 1493777c834fSKever Yang 1494777c834fSKever Yang i2s1: i2s@ff890000 { 1495777c834fSKever Yang compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s"; 1496777c834fSKever Yang reg = <0x0 0xff890000 0x0 0x1000>; 1497dde22233SKever Yang interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH 0>; 1498777c834fSKever Yang dmas = <&dmac_bus 2>, <&dmac_bus 3>; 1499777c834fSKever Yang dma-names = "tx", "rx"; 1500777c834fSKever Yang clock-names = "i2s_clk", "i2s_hclk"; 1501777c834fSKever Yang clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>; 1502777c834fSKever Yang pinctrl-names = "default"; 1503777c834fSKever Yang pinctrl-0 = <&i2s1_2ch_bus>; 1504dde22233SKever Yang power-domains = <&power RK3399_PD_SDIOAUDIO>; 1505*0a09f2f1SSimon Glass #sound-dai-cells = <0>; 1506777c834fSKever Yang status = "disabled"; 1507777c834fSKever Yang }; 1508777c834fSKever Yang 1509777c834fSKever Yang i2s2: i2s@ff8a0000 { 1510777c834fSKever Yang compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s"; 1511777c834fSKever Yang reg = <0x0 0xff8a0000 0x0 0x1000>; 1512dde22233SKever Yang interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH 0>; 1513777c834fSKever Yang dmas = <&dmac_bus 4>, <&dmac_bus 5>; 1514777c834fSKever Yang dma-names = "tx", "rx"; 1515777c834fSKever Yang clock-names = "i2s_clk", "i2s_hclk"; 1516777c834fSKever Yang clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>; 1517dde22233SKever Yang power-domains = <&power RK3399_PD_SDIOAUDIO>; 1518*0a09f2f1SSimon Glass #sound-dai-cells = <0>; 1519b644354aSeric.gao@rock-chips.com status = "disabled"; 1520b644354aSeric.gao@rock-chips.com }; 1521b644354aSeric.gao@rock-chips.com 1522df8fe99cSEric Gao vopl: vop@ff8f0000 { 1523df8fe99cSEric Gao u-boot,dm-pre-reloc; 1524df8fe99cSEric Gao compatible = "rockchip,rk3399-vop-lit"; 1525df8fe99cSEric Gao reg = <0x0 0xff8f0000 0x0 0x3efc>; 1526df8fe99cSEric Gao interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>; 1527*0a09f2f1SSimon Glass assigned-clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>; 1528*0a09f2f1SSimon Glass assigned-clock-rates = <400000000>, <100000000>; 1529df8fe99cSEric Gao clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>; 1530df8fe99cSEric Gao clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1531*0a09f2f1SSimon Glass iommus = <&vopl_mmu>; 1532*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_VOPL>; 1533df8fe99cSEric Gao resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>; 1534df8fe99cSEric Gao reset-names = "axi", "ahb", "dclk"; 1535df8fe99cSEric Gao status = "disabled"; 1536*0a09f2f1SSimon Glass 1537df8fe99cSEric Gao vopl_out: port { 1538df8fe99cSEric Gao #address-cells = <1>; 1539df8fe99cSEric Gao #size-cells = <0>; 1540*0a09f2f1SSimon Glass 1541df8fe99cSEric Gao vopl_out_mipi: endpoint@0 { 1542*0a09f2f1SSimon Glass reg = <0>; 1543df8fe99cSEric Gao remote-endpoint = <&mipi_in_vopl>; 1544df8fe99cSEric Gao }; 1545876c1d0fSPhilipp Tomsich 1546*0a09f2f1SSimon Glass vopl_out_edp: endpoint@1 { 1547876c1d0fSPhilipp Tomsich reg = <1>; 1548*0a09f2f1SSimon Glass remote-endpoint = <&edp_in_vopl>; 1549*0a09f2f1SSimon Glass }; 1550*0a09f2f1SSimon Glass 1551*0a09f2f1SSimon Glass vopl_out_hdmi: endpoint@2 { 1552*0a09f2f1SSimon Glass reg = <2>; 1553876c1d0fSPhilipp Tomsich remote-endpoint = <&hdmi_in_vopl>; 1554876c1d0fSPhilipp Tomsich }; 1555*0a09f2f1SSimon Glass 1556*0a09f2f1SSimon Glass vopl_out_mipi1: endpoint@3 { 1557*0a09f2f1SSimon Glass reg = <3>; 1558*0a09f2f1SSimon Glass remote-endpoint = <&mipi1_in_vopl>; 1559df8fe99cSEric Gao }; 1560*0a09f2f1SSimon Glass 1561*0a09f2f1SSimon Glass vopl_out_dp: endpoint@4 { 1562*0a09f2f1SSimon Glass reg = <4>; 1563*0a09f2f1SSimon Glass remote-endpoint = <&dp_in_vopl>; 1564*0a09f2f1SSimon Glass }; 1565*0a09f2f1SSimon Glass }; 1566*0a09f2f1SSimon Glass }; 1567*0a09f2f1SSimon Glass 1568*0a09f2f1SSimon Glass vopl_mmu: iommu@ff8f3f00 { 1569*0a09f2f1SSimon Glass compatible = "rockchip,iommu"; 1570*0a09f2f1SSimon Glass reg = <0x0 0xff8f3f00 0x0 0x100>; 1571*0a09f2f1SSimon Glass interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>; 1572*0a09f2f1SSimon Glass interrupt-names = "vopl_mmu"; 1573*0a09f2f1SSimon Glass clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>; 1574*0a09f2f1SSimon Glass clock-names = "aclk", "iface"; 1575*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_VOPL>; 1576*0a09f2f1SSimon Glass #iommu-cells = <0>; 1577*0a09f2f1SSimon Glass status = "disabled"; 1578df8fe99cSEric Gao }; 1579df8fe99cSEric Gao 1580df8fe99cSEric Gao vopb: vop@ff900000 { 1581df8fe99cSEric Gao u-boot,dm-pre-reloc; 1582df8fe99cSEric Gao compatible = "rockchip,rk3399-vop-big"; 1583df8fe99cSEric Gao reg = <0x0 0xff900000 0x0 0x3efc>; 1584df8fe99cSEric Gao interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>; 1585*0a09f2f1SSimon Glass assigned-clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>; 1586*0a09f2f1SSimon Glass assigned-clock-rates = <400000000>, <100000000>; 1587df8fe99cSEric Gao clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>; 1588df8fe99cSEric Gao clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1589*0a09f2f1SSimon Glass iommus = <&vopb_mmu>; 1590*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_VOPB>; 1591df8fe99cSEric Gao resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>; 1592df8fe99cSEric Gao reset-names = "axi", "ahb", "dclk"; 1593df8fe99cSEric Gao status = "disabled"; 1594*0a09f2f1SSimon Glass 1595df8fe99cSEric Gao vopb_out: port { 1596df8fe99cSEric Gao #address-cells = <1>; 1597df8fe99cSEric Gao #size-cells = <0>; 1598*0a09f2f1SSimon Glass 1599*0a09f2f1SSimon Glass vopb_out_edp: endpoint@0 { 1600*0a09f2f1SSimon Glass reg = <0>; 1601*0a09f2f1SSimon Glass remote-endpoint = <&edp_in_vopb>; 1602*0a09f2f1SSimon Glass }; 1603*0a09f2f1SSimon Glass 1604*0a09f2f1SSimon Glass vopb_out_mipi: endpoint@1 { 1605*0a09f2f1SSimon Glass reg = <1>; 1606df8fe99cSEric Gao remote-endpoint = <&mipi_in_vopb>; 1607df8fe99cSEric Gao }; 1608876c1d0fSPhilipp Tomsich 1609*0a09f2f1SSimon Glass vopb_out_hdmi: endpoint@2 { 1610*0a09f2f1SSimon Glass reg = <2>; 1611876c1d0fSPhilipp Tomsich remote-endpoint = <&hdmi_in_vopb>; 1612876c1d0fSPhilipp Tomsich }; 1613*0a09f2f1SSimon Glass 1614*0a09f2f1SSimon Glass vopb_out_mipi1: endpoint@3 { 1615*0a09f2f1SSimon Glass reg = <3>; 1616*0a09f2f1SSimon Glass remote-endpoint = <&mipi1_in_vopb>; 1617*0a09f2f1SSimon Glass }; 1618*0a09f2f1SSimon Glass 1619*0a09f2f1SSimon Glass vopb_out_dp: endpoint@4 { 1620*0a09f2f1SSimon Glass reg = <4>; 1621*0a09f2f1SSimon Glass remote-endpoint = <&dp_in_vopb>; 1622*0a09f2f1SSimon Glass }; 1623*0a09f2f1SSimon Glass }; 1624*0a09f2f1SSimon Glass }; 1625*0a09f2f1SSimon Glass 1626*0a09f2f1SSimon Glass vopb_mmu: iommu@ff903f00 { 1627*0a09f2f1SSimon Glass compatible = "rockchip,iommu"; 1628*0a09f2f1SSimon Glass reg = <0x0 0xff903f00 0x0 0x100>; 1629*0a09f2f1SSimon Glass interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>; 1630*0a09f2f1SSimon Glass interrupt-names = "vopb_mmu"; 1631*0a09f2f1SSimon Glass clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>; 1632*0a09f2f1SSimon Glass clock-names = "aclk", "iface"; 1633*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_VOPB>; 1634*0a09f2f1SSimon Glass #iommu-cells = <0>; 1635*0a09f2f1SSimon Glass status = "disabled"; 1636*0a09f2f1SSimon Glass }; 1637*0a09f2f1SSimon Glass 1638*0a09f2f1SSimon Glass isp0_mmu: iommu@ff914000 { 1639*0a09f2f1SSimon Glass compatible = "rockchip,iommu"; 1640*0a09f2f1SSimon Glass reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>; 1641*0a09f2f1SSimon Glass interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>; 1642*0a09f2f1SSimon Glass interrupt-names = "isp0_mmu"; 1643*0a09f2f1SSimon Glass clocks = <&cru ACLK_ISP0_NOC>, <&cru HCLK_ISP0_NOC>; 1644*0a09f2f1SSimon Glass clock-names = "aclk", "iface"; 1645*0a09f2f1SSimon Glass #iommu-cells = <0>; 1646*0a09f2f1SSimon Glass rockchip,disable-mmu-reset; 1647*0a09f2f1SSimon Glass status = "disabled"; 1648*0a09f2f1SSimon Glass }; 1649*0a09f2f1SSimon Glass 1650*0a09f2f1SSimon Glass isp1_mmu: iommu@ff924000 { 1651*0a09f2f1SSimon Glass compatible = "rockchip,iommu"; 1652*0a09f2f1SSimon Glass reg = <0x0 0xff924000 0x0 0x100>, <0x0 0xff925000 0x0 0x100>; 1653*0a09f2f1SSimon Glass interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>; 1654*0a09f2f1SSimon Glass interrupt-names = "isp1_mmu"; 1655*0a09f2f1SSimon Glass clocks = <&cru ACLK_ISP1_NOC>, <&cru HCLK_ISP1_NOC>; 1656*0a09f2f1SSimon Glass clock-names = "aclk", "iface"; 1657*0a09f2f1SSimon Glass #iommu-cells = <0>; 1658*0a09f2f1SSimon Glass rockchip,disable-mmu-reset; 1659*0a09f2f1SSimon Glass status = "disabled"; 1660*0a09f2f1SSimon Glass }; 1661*0a09f2f1SSimon Glass 1662*0a09f2f1SSimon Glass hdmi_sound: hdmi-sound { 1663*0a09f2f1SSimon Glass compatible = "simple-audio-card"; 1664*0a09f2f1SSimon Glass simple-audio-card,format = "i2s"; 1665*0a09f2f1SSimon Glass simple-audio-card,mclk-fs = <256>; 1666*0a09f2f1SSimon Glass simple-audio-card,name = "hdmi-sound"; 1667*0a09f2f1SSimon Glass status = "disabled"; 1668*0a09f2f1SSimon Glass 1669*0a09f2f1SSimon Glass simple-audio-card,cpu { 1670*0a09f2f1SSimon Glass sound-dai = <&i2s2>; 1671*0a09f2f1SSimon Glass }; 1672*0a09f2f1SSimon Glass simple-audio-card,codec { 1673*0a09f2f1SSimon Glass sound-dai = <&hdmi>; 1674876c1d0fSPhilipp Tomsich }; 1675876c1d0fSPhilipp Tomsich }; 1676876c1d0fSPhilipp Tomsich 1677876c1d0fSPhilipp Tomsich hdmi: hdmi@ff940000 { 1678876c1d0fSPhilipp Tomsich compatible = "rockchip,rk3399-dw-hdmi"; 1679876c1d0fSPhilipp Tomsich reg = <0x0 0xff940000 0x0 0x20000>; 1680*0a09f2f1SSimon Glass interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>; 1681*0a09f2f1SSimon Glass clocks = <&cru PCLK_HDMI_CTRL>, 1682*0a09f2f1SSimon Glass <&cru SCLK_HDMI_SFR>, 1683*0a09f2f1SSimon Glass <&cru PLL_VPLL>, 1684*0a09f2f1SSimon Glass <&cru PCLK_VIO_GRF>, 1685*0a09f2f1SSimon Glass <&cru SCLK_HDMI_CEC>; 1686*0a09f2f1SSimon Glass clock-names = "iahb", "isfr", "vpll", "grf", "cec"; 1687*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_HDCP>; 1688876c1d0fSPhilipp Tomsich reg-io-width = <4>; 1689876c1d0fSPhilipp Tomsich rockchip,grf = <&grf>; 1690*0a09f2f1SSimon Glass #sound-dai-cells = <0>; 1691876c1d0fSPhilipp Tomsich status = "disabled"; 1692876c1d0fSPhilipp Tomsich 1693876c1d0fSPhilipp Tomsich ports { 1694876c1d0fSPhilipp Tomsich hdmi_in: port { 1695876c1d0fSPhilipp Tomsich #address-cells = <1>; 1696876c1d0fSPhilipp Tomsich #size-cells = <0>; 1697*0a09f2f1SSimon Glass 1698876c1d0fSPhilipp Tomsich hdmi_in_vopb: endpoint@0 { 1699876c1d0fSPhilipp Tomsich reg = <0>; 1700876c1d0fSPhilipp Tomsich remote-endpoint = <&vopb_out_hdmi>; 1701876c1d0fSPhilipp Tomsich }; 1702876c1d0fSPhilipp Tomsich hdmi_in_vopl: endpoint@1 { 1703876c1d0fSPhilipp Tomsich reg = <1>; 1704876c1d0fSPhilipp Tomsich remote-endpoint = <&vopl_out_hdmi>; 1705876c1d0fSPhilipp Tomsich }; 1706876c1d0fSPhilipp Tomsich }; 1707df8fe99cSEric Gao }; 1708df8fe99cSEric Gao }; 1709df8fe99cSEric Gao 1710df8fe99cSEric Gao mipi_dsi: mipi@ff960000 { 1711df8fe99cSEric Gao compatible = "rockchip,rk3399_mipi_dsi"; 1712df8fe99cSEric Gao reg = <0x0 0xff960000 0x0 0x8000>; 1713df8fe99cSEric Gao interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH 0>; 1714df8fe99cSEric Gao clocks = <&cru SCLK_MIPIDPHY_REF>, <&cru PCLK_MIPI_DSI0>, 1715df8fe99cSEric Gao <&cru SCLK_DPHY_TX0_CFG>; 1716df8fe99cSEric Gao clock-names = "ref", "pclk", "phy_cfg"; 1717df8fe99cSEric Gao rockchip,grf = <&grf>; 1718df8fe99cSEric Gao #address-cells = <1>; 1719df8fe99cSEric Gao #size-cells = <0>; 1720df8fe99cSEric Gao status = "disabled"; 1721df8fe99cSEric Gao ports { 1722df8fe99cSEric Gao reg = <1>; 1723df8fe99cSEric Gao mipi_in: port { 1724df8fe99cSEric Gao #address-cells = <1>; 1725df8fe99cSEric Gao #size-cells = <0>; 1726df8fe99cSEric Gao mipi_in_vopb: endpoint@0 { 1727df8fe99cSEric Gao reg = <0>; 1728df8fe99cSEric Gao remote-endpoint = <&vopb_out_mipi>; 1729df8fe99cSEric Gao }; 1730df8fe99cSEric Gao mipi_in_vopl: endpoint@1 { 1731df8fe99cSEric Gao reg = <1>; 1732df8fe99cSEric Gao remote-endpoint = <&vopl_out_mipi>; 1733df8fe99cSEric Gao }; 1734df8fe99cSEric Gao }; 1735df8fe99cSEric Gao }; 1736df8fe99cSEric Gao }; 1737df8fe99cSEric Gao 1738*0a09f2f1SSimon Glass mipi_dsi1: mipi@ff968000 { 1739*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi"; 1740*0a09f2f1SSimon Glass reg = <0x0 0xff968000 0x0 0x8000>; 1741*0a09f2f1SSimon Glass interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH 0>; 1742*0a09f2f1SSimon Glass clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI1>, 1743*0a09f2f1SSimon Glass <&cru SCLK_DPHY_TX1RX1_CFG>, <&cru PCLK_VIO_GRF>; 1744*0a09f2f1SSimon Glass clock-names = "ref", "pclk", "phy_cfg", "grf"; 1745*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_VIO>; 1746*0a09f2f1SSimon Glass resets = <&cru SRST_P_MIPI_DSI1>; 1747*0a09f2f1SSimon Glass reset-names = "apb"; 1748*0a09f2f1SSimon Glass rockchip,grf = <&grf>; 1749*0a09f2f1SSimon Glass status = "disabled"; 1750*0a09f2f1SSimon Glass 1751*0a09f2f1SSimon Glass ports { 1752*0a09f2f1SSimon Glass #address-cells = <1>; 1753*0a09f2f1SSimon Glass #size-cells = <0>; 1754*0a09f2f1SSimon Glass 1755*0a09f2f1SSimon Glass mipi1_in: port@0 { 1756*0a09f2f1SSimon Glass reg = <0>; 1757*0a09f2f1SSimon Glass #address-cells = <1>; 1758*0a09f2f1SSimon Glass #size-cells = <0>; 1759*0a09f2f1SSimon Glass 1760*0a09f2f1SSimon Glass mipi1_in_vopb: endpoint@0 { 1761*0a09f2f1SSimon Glass reg = <0>; 1762*0a09f2f1SSimon Glass remote-endpoint = <&vopb_out_mipi1>; 1763*0a09f2f1SSimon Glass }; 1764*0a09f2f1SSimon Glass 1765*0a09f2f1SSimon Glass mipi1_in_vopl: endpoint@1 { 1766*0a09f2f1SSimon Glass reg = <1>; 1767*0a09f2f1SSimon Glass remote-endpoint = <&vopl_out_mipi1>; 1768*0a09f2f1SSimon Glass }; 1769*0a09f2f1SSimon Glass }; 1770*0a09f2f1SSimon Glass }; 1771*0a09f2f1SSimon Glass }; 1772*0a09f2f1SSimon Glass 1773*0a09f2f1SSimon Glass edp: edp@ff970000 { 1774*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-edp"; 1775*0a09f2f1SSimon Glass reg = <0x0 0xff970000 0x0 0x8000>; 1776*0a09f2f1SSimon Glass interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>; 1777*0a09f2f1SSimon Glass clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>, <&cru PCLK_VIO_GRF>; 1778*0a09f2f1SSimon Glass clock-names = "dp", "pclk", "grf"; 1779*0a09f2f1SSimon Glass pinctrl-names = "default"; 1780*0a09f2f1SSimon Glass pinctrl-0 = <&edp_hpd>; 1781*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_EDP>; 1782*0a09f2f1SSimon Glass resets = <&cru SRST_P_EDP_CTRL>; 1783*0a09f2f1SSimon Glass reset-names = "dp"; 1784*0a09f2f1SSimon Glass rockchip,grf = <&grf>; 1785*0a09f2f1SSimon Glass status = "disabled"; 1786*0a09f2f1SSimon Glass 1787*0a09f2f1SSimon Glass ports { 1788*0a09f2f1SSimon Glass #address-cells = <1>; 1789*0a09f2f1SSimon Glass #size-cells = <0>; 1790*0a09f2f1SSimon Glass edp_in: port@0 { 1791*0a09f2f1SSimon Glass reg = <0>; 1792*0a09f2f1SSimon Glass #address-cells = <1>; 1793*0a09f2f1SSimon Glass #size-cells = <0>; 1794*0a09f2f1SSimon Glass 1795*0a09f2f1SSimon Glass edp_in_vopb: endpoint@0 { 1796*0a09f2f1SSimon Glass reg = <0>; 1797*0a09f2f1SSimon Glass remote-endpoint = <&vopb_out_edp>; 1798*0a09f2f1SSimon Glass }; 1799*0a09f2f1SSimon Glass 1800*0a09f2f1SSimon Glass edp_in_vopl: endpoint@1 { 1801*0a09f2f1SSimon Glass reg = <1>; 1802*0a09f2f1SSimon Glass remote-endpoint = <&vopl_out_edp>; 1803*0a09f2f1SSimon Glass }; 1804*0a09f2f1SSimon Glass }; 1805*0a09f2f1SSimon Glass }; 1806*0a09f2f1SSimon Glass }; 1807*0a09f2f1SSimon Glass 1808*0a09f2f1SSimon Glass gpu: gpu@ff9a0000 { 1809*0a09f2f1SSimon Glass compatible = "rockchip,rk3399-mali", "arm,mali-t860"; 1810*0a09f2f1SSimon Glass reg = <0x0 0xff9a0000 0x0 0x10000>; 1811*0a09f2f1SSimon Glass interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH 0>, 1812*0a09f2f1SSimon Glass <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH 0>, 1813*0a09f2f1SSimon Glass <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH 0>; 1814*0a09f2f1SSimon Glass interrupt-names = "gpu", "job", "mmu"; 1815*0a09f2f1SSimon Glass clocks = <&cru ACLK_GPU>; 1816*0a09f2f1SSimon Glass power-domains = <&power RK3399_PD_GPU>; 1817*0a09f2f1SSimon Glass status = "disabled"; 1818*0a09f2f1SSimon Glass }; 1819*0a09f2f1SSimon Glass 1820777c834fSKever Yang pinctrl: pinctrl { 1821a82426e0SKever Yang u-boot,dm-pre-reloc; 1822777c834fSKever Yang compatible = "rockchip,rk3399-pinctrl"; 1823777c834fSKever Yang rockchip,grf = <&grf>; 1824777c834fSKever Yang rockchip,pmu = <&pmugrf>; 1825777c834fSKever Yang #address-cells = <2>; 1826777c834fSKever Yang #size-cells = <2>; 1827777c834fSKever Yang ranges; 1828777c834fSKever Yang 1829777c834fSKever Yang gpio0: gpio0@ff720000 { 1830777c834fSKever Yang compatible = "rockchip,gpio-bank"; 1831777c834fSKever Yang reg = <0x0 0xff720000 0x0 0x100>; 1832777c834fSKever Yang clocks = <&pmucru PCLK_GPIO0_PMU>; 1833dde22233SKever Yang interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>; 1834777c834fSKever Yang 1835777c834fSKever Yang gpio-controller; 1836777c834fSKever Yang #gpio-cells = <0x2>; 1837777c834fSKever Yang 1838777c834fSKever Yang interrupt-controller; 1839777c834fSKever Yang #interrupt-cells = <0x2>; 1840777c834fSKever Yang }; 1841777c834fSKever Yang 1842777c834fSKever Yang gpio1: gpio1@ff730000 { 1843777c834fSKever Yang compatible = "rockchip,gpio-bank"; 1844777c834fSKever Yang reg = <0x0 0xff730000 0x0 0x100>; 1845777c834fSKever Yang clocks = <&pmucru PCLK_GPIO1_PMU>; 1846dde22233SKever Yang interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH 0>; 1847777c834fSKever Yang 1848777c834fSKever Yang gpio-controller; 1849777c834fSKever Yang #gpio-cells = <0x2>; 1850777c834fSKever Yang 1851777c834fSKever Yang interrupt-controller; 1852777c834fSKever Yang #interrupt-cells = <0x2>; 1853777c834fSKever Yang }; 1854777c834fSKever Yang 1855777c834fSKever Yang gpio2: gpio2@ff780000 { 1856777c834fSKever Yang compatible = "rockchip,gpio-bank"; 1857777c834fSKever Yang reg = <0x0 0xff780000 0x0 0x100>; 1858777c834fSKever Yang clocks = <&cru PCLK_GPIO2>; 1859dde22233SKever Yang interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH 0>; 1860777c834fSKever Yang 1861777c834fSKever Yang gpio-controller; 1862777c834fSKever Yang #gpio-cells = <0x2>; 1863777c834fSKever Yang 1864777c834fSKever Yang interrupt-controller; 1865777c834fSKever Yang #interrupt-cells = <0x2>; 1866777c834fSKever Yang }; 1867777c834fSKever Yang 1868777c834fSKever Yang gpio3: gpio3@ff788000 { 1869777c834fSKever Yang compatible = "rockchip,gpio-bank"; 1870777c834fSKever Yang reg = <0x0 0xff788000 0x0 0x100>; 1871777c834fSKever Yang clocks = <&cru PCLK_GPIO3>; 1872dde22233SKever Yang interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH 0>; 1873777c834fSKever Yang 1874777c834fSKever Yang gpio-controller; 1875777c834fSKever Yang #gpio-cells = <0x2>; 1876777c834fSKever Yang 1877777c834fSKever Yang interrupt-controller; 1878777c834fSKever Yang #interrupt-cells = <0x2>; 1879777c834fSKever Yang }; 1880777c834fSKever Yang 1881777c834fSKever Yang gpio4: gpio4@ff790000 { 1882777c834fSKever Yang compatible = "rockchip,gpio-bank"; 1883777c834fSKever Yang reg = <0x0 0xff790000 0x0 0x100>; 1884777c834fSKever Yang clocks = <&cru PCLK_GPIO4>; 1885dde22233SKever Yang interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>; 1886777c834fSKever Yang 1887777c834fSKever Yang gpio-controller; 1888777c834fSKever Yang #gpio-cells = <0x2>; 1889777c834fSKever Yang 1890777c834fSKever Yang interrupt-controller; 1891777c834fSKever Yang #interrupt-cells = <0x2>; 1892777c834fSKever Yang }; 1893777c834fSKever Yang 1894777c834fSKever Yang pcfg_pull_up: pcfg-pull-up { 1895777c834fSKever Yang bias-pull-up; 1896777c834fSKever Yang }; 1897777c834fSKever Yang 1898777c834fSKever Yang pcfg_pull_down: pcfg-pull-down { 1899777c834fSKever Yang bias-pull-down; 1900777c834fSKever Yang }; 1901777c834fSKever Yang 1902777c834fSKever Yang pcfg_pull_none: pcfg-pull-none { 1903777c834fSKever Yang bias-disable; 1904777c834fSKever Yang }; 1905777c834fSKever Yang 1906777c834fSKever Yang pcfg_pull_none_12ma: pcfg-pull-none-12ma { 1907777c834fSKever Yang bias-disable; 1908777c834fSKever Yang drive-strength = <12>; 1909777c834fSKever Yang }; 1910777c834fSKever Yang 19112c9050cdSRandy Li pcfg_pull_none_13ma: pcfg-pull-none-13ma { 19122c9050cdSRandy Li bias-disable; 19132c9050cdSRandy Li drive-strength = <13>; 1914777c834fSKever Yang }; 1915777c834fSKever Yang 19162c9050cdSRandy Li pcfg_pull_none_18ma: pcfg-pull-none-18ma { 19172c9050cdSRandy Li bias-disable; 19182c9050cdSRandy Li drive-strength = <18>; 19192c9050cdSRandy Li }; 19202c9050cdSRandy Li 19212c9050cdSRandy Li pcfg_pull_none_20ma: pcfg-pull-none-20ma { 19222c9050cdSRandy Li bias-disable; 19232c9050cdSRandy Li drive-strength = <20>; 1924777c834fSKever Yang }; 1925777c834fSKever Yang 1926777c834fSKever Yang pcfg_pull_up_2ma: pcfg-pull-up-2ma { 1927777c834fSKever Yang bias-pull-up; 1928777c834fSKever Yang drive-strength = <2>; 1929777c834fSKever Yang }; 1930777c834fSKever Yang 19312c9050cdSRandy Li pcfg_pull_up_8ma: pcfg-pull-up-8ma { 19322c9050cdSRandy Li bias-pull-up; 19332c9050cdSRandy Li drive-strength = <8>; 19342c9050cdSRandy Li }; 19352c9050cdSRandy Li 19362c9050cdSRandy Li pcfg_pull_up_18ma: pcfg-pull-up-18ma { 19372c9050cdSRandy Li bias-pull-up; 19382c9050cdSRandy Li drive-strength = <18>; 19392c9050cdSRandy Li }; 19402c9050cdSRandy Li 19412c9050cdSRandy Li pcfg_pull_up_20ma: pcfg-pull-up-20ma { 19422c9050cdSRandy Li bias-pull-up; 19432c9050cdSRandy Li drive-strength = <20>; 19442c9050cdSRandy Li }; 19452c9050cdSRandy Li 19462c9050cdSRandy Li pcfg_pull_down_4ma: pcfg-pull-down-4ma { 19472c9050cdSRandy Li bias-pull-down; 19482c9050cdSRandy Li drive-strength = <4>; 19492c9050cdSRandy Li }; 19502c9050cdSRandy Li 19512c9050cdSRandy Li pcfg_pull_down_8ma: pcfg-pull-down-8ma { 19522c9050cdSRandy Li bias-pull-down; 19532c9050cdSRandy Li drive-strength = <8>; 19542c9050cdSRandy Li }; 19552c9050cdSRandy Li 1956777c834fSKever Yang pcfg_pull_down_12ma: pcfg-pull-down-12ma { 1957777c834fSKever Yang bias-pull-down; 1958777c834fSKever Yang drive-strength = <12>; 1959777c834fSKever Yang }; 1960777c834fSKever Yang 19612c9050cdSRandy Li pcfg_pull_down_18ma: pcfg-pull-down-18ma { 19622c9050cdSRandy Li bias-pull-down; 19632c9050cdSRandy Li drive-strength = <18>; 19642c9050cdSRandy Li }; 19652c9050cdSRandy Li 19662c9050cdSRandy Li pcfg_pull_down_20ma: pcfg-pull-down-20ma { 19672c9050cdSRandy Li bias-pull-down; 19682c9050cdSRandy Li drive-strength = <20>; 19692c9050cdSRandy Li }; 19702c9050cdSRandy Li 19712c9050cdSRandy Li pcfg_output_high: pcfg-output-high { 19722c9050cdSRandy Li output-high; 19732c9050cdSRandy Li }; 19742c9050cdSRandy Li 19752c9050cdSRandy Li pcfg_output_low: pcfg-output-low { 19762c9050cdSRandy Li output-low; 1977777c834fSKever Yang }; 1978777c834fSKever Yang 1979dde22233SKever Yang clock { 1980dde22233SKever Yang clk_32k: clk-32k { 1981dde22233SKever Yang rockchip,pins = <0 RK_PA0 RK_FUNC_2 &pcfg_pull_none>; 1982777c834fSKever Yang }; 1983777c834fSKever Yang }; 1984777c834fSKever Yang 1985dde22233SKever Yang edp { 1986dde22233SKever Yang edp_hpd: edp-hpd { 1987777c834fSKever Yang rockchip,pins = 1988dde22233SKever Yang <4 RK_PC7 RK_FUNC_2 &pcfg_pull_none>; 1989777c834fSKever Yang }; 1990777c834fSKever Yang }; 1991777c834fSKever Yang 1992ca0ab273SPhilipp Tomsich gmac { 1993ca0ab273SPhilipp Tomsich rgmii_pins: rgmii-pins { 1994ca0ab273SPhilipp Tomsich rockchip,pins = 1995ca0ab273SPhilipp Tomsich /* mac_txclk */ 1996dde22233SKever Yang <3 RK_PC1 RK_FUNC_1 &pcfg_pull_none_13ma>, 1997ca0ab273SPhilipp Tomsich /* mac_rxclk */ 1998dde22233SKever Yang <3 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 1999ca0ab273SPhilipp Tomsich /* mac_mdio */ 2000dde22233SKever Yang <3 RK_PB5 RK_FUNC_1 &pcfg_pull_none>, 2001ca0ab273SPhilipp Tomsich /* mac_txen */ 2002dde22233SKever Yang <3 RK_PB4 RK_FUNC_1 &pcfg_pull_none_13ma>, 2003ca0ab273SPhilipp Tomsich /* mac_clk */ 2004dde22233SKever Yang <3 RK_PB3 RK_FUNC_1 &pcfg_pull_none>, 2005ca0ab273SPhilipp Tomsich /* mac_rxdv */ 2006dde22233SKever Yang <3 RK_PB1 RK_FUNC_1 &pcfg_pull_none>, 2007ca0ab273SPhilipp Tomsich /* mac_mdc */ 2008dde22233SKever Yang <3 RK_PB0 RK_FUNC_1 &pcfg_pull_none>, 2009ca0ab273SPhilipp Tomsich /* mac_rxd1 */ 2010dde22233SKever Yang <3 RK_PA7 RK_FUNC_1 &pcfg_pull_none>, 2011ca0ab273SPhilipp Tomsich /* mac_rxd0 */ 2012dde22233SKever Yang <3 RK_PA6 RK_FUNC_1 &pcfg_pull_none>, 2013ca0ab273SPhilipp Tomsich /* mac_txd1 */ 2014dde22233SKever Yang <3 RK_PA5 RK_FUNC_1 &pcfg_pull_none_13ma>, 2015ca0ab273SPhilipp Tomsich /* mac_txd0 */ 2016dde22233SKever Yang <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none_13ma>, 2017ca0ab273SPhilipp Tomsich /* mac_rxd3 */ 2018dde22233SKever Yang <3 RK_PA3 RK_FUNC_1 &pcfg_pull_none>, 2019ca0ab273SPhilipp Tomsich /* mac_rxd2 */ 2020dde22233SKever Yang <3 RK_PA2 RK_FUNC_1 &pcfg_pull_none>, 2021ca0ab273SPhilipp Tomsich /* mac_txd3 */ 2022dde22233SKever Yang <3 RK_PA1 RK_FUNC_1 &pcfg_pull_none_13ma>, 2023ca0ab273SPhilipp Tomsich /* mac_txd2 */ 2024dde22233SKever Yang <3 RK_PA0 RK_FUNC_1 &pcfg_pull_none_13ma>; 2025dde22233SKever Yang }; 2026dde22233SKever Yang 2027dde22233SKever Yang rmii_pins: rmii-pins { 2028dde22233SKever Yang rockchip,pins = 2029dde22233SKever Yang /* mac_mdio */ 2030dde22233SKever Yang <3 RK_PB5 RK_FUNC_1 &pcfg_pull_none>, 2031dde22233SKever Yang /* mac_txen */ 2032dde22233SKever Yang <3 RK_PB4 RK_FUNC_1 &pcfg_pull_none_13ma>, 2033dde22233SKever Yang /* mac_clk */ 2034dde22233SKever Yang <3 RK_PB3 RK_FUNC_1 &pcfg_pull_none>, 2035dde22233SKever Yang /* mac_rxer */ 2036dde22233SKever Yang <3 RK_PB2 RK_FUNC_1 &pcfg_pull_none>, 2037dde22233SKever Yang /* mac_rxdv */ 2038dde22233SKever Yang <3 RK_PB1 RK_FUNC_1 &pcfg_pull_none>, 2039dde22233SKever Yang /* mac_mdc */ 2040dde22233SKever Yang <3 RK_PB0 RK_FUNC_1 &pcfg_pull_none>, 2041dde22233SKever Yang /* mac_rxd1 */ 2042dde22233SKever Yang <3 RK_PA7 RK_FUNC_1 &pcfg_pull_none>, 2043dde22233SKever Yang /* mac_rxd0 */ 2044dde22233SKever Yang <3 RK_PA6 RK_FUNC_1 &pcfg_pull_none>, 2045dde22233SKever Yang /* mac_txd1 */ 2046dde22233SKever Yang <3 RK_PA5 RK_FUNC_1 &pcfg_pull_none_13ma>, 2047dde22233SKever Yang /* mac_txd0 */ 2048dde22233SKever Yang <3 RK_PA4 RK_FUNC_1 &pcfg_pull_none_13ma>; 2049dde22233SKever Yang }; 2050dde22233SKever Yang }; 2051dde22233SKever Yang 2052dde22233SKever Yang i2c0 { 2053dde22233SKever Yang i2c0_xfer: i2c0-xfer { 2054dde22233SKever Yang rockchip,pins = 2055dde22233SKever Yang <1 RK_PB7 RK_FUNC_2 &pcfg_pull_none>, 2056dde22233SKever Yang <1 RK_PC0 RK_FUNC_2 &pcfg_pull_none>; 2057dde22233SKever Yang }; 2058dde22233SKever Yang }; 2059dde22233SKever Yang 2060dde22233SKever Yang i2c1 { 2061dde22233SKever Yang i2c1_xfer: i2c1-xfer { 2062dde22233SKever Yang rockchip,pins = 2063dde22233SKever Yang <4 RK_PA2 RK_FUNC_1 &pcfg_pull_none>, 2064dde22233SKever Yang <4 RK_PA1 RK_FUNC_1 &pcfg_pull_none>; 2065dde22233SKever Yang }; 2066dde22233SKever Yang }; 2067dde22233SKever Yang 2068dde22233SKever Yang i2c2 { 2069dde22233SKever Yang i2c2_xfer: i2c2-xfer { 2070dde22233SKever Yang rockchip,pins = 2071dde22233SKever Yang <2 RK_PA1 RK_FUNC_2 &pcfg_pull_none_12ma>, 2072dde22233SKever Yang <2 RK_PA0 RK_FUNC_2 &pcfg_pull_none_12ma>; 2073dde22233SKever Yang }; 2074dde22233SKever Yang }; 2075dde22233SKever Yang 2076dde22233SKever Yang i2c3 { 2077dde22233SKever Yang i2c3_xfer: i2c3-xfer { 2078dde22233SKever Yang rockchip,pins = 2079dde22233SKever Yang <4 RK_PC1 RK_FUNC_1 &pcfg_pull_none>, 2080dde22233SKever Yang <4 RK_PC0 RK_FUNC_1 &pcfg_pull_none>; 2081dde22233SKever Yang }; 2082dde22233SKever Yang }; 2083dde22233SKever Yang 2084dde22233SKever Yang i2c4 { 2085dde22233SKever Yang i2c4_xfer: i2c4-xfer { 2086dde22233SKever Yang rockchip,pins = 2087dde22233SKever Yang <1 RK_PB4 RK_FUNC_1 &pcfg_pull_none>, 2088dde22233SKever Yang <1 RK_PB3 RK_FUNC_1 &pcfg_pull_none>; 2089dde22233SKever Yang }; 2090dde22233SKever Yang }; 2091dde22233SKever Yang 2092dde22233SKever Yang i2c5 { 2093dde22233SKever Yang i2c5_xfer: i2c5-xfer { 2094dde22233SKever Yang rockchip,pins = 2095dde22233SKever Yang <3 RK_PB3 RK_FUNC_2 &pcfg_pull_none>, 2096dde22233SKever Yang <3 RK_PB2 RK_FUNC_2 &pcfg_pull_none>; 2097dde22233SKever Yang }; 2098dde22233SKever Yang }; 2099dde22233SKever Yang 2100dde22233SKever Yang i2c6 { 2101dde22233SKever Yang i2c6_xfer: i2c6-xfer { 2102dde22233SKever Yang rockchip,pins = 2103dde22233SKever Yang <2 RK_PB2 RK_FUNC_2 &pcfg_pull_none>, 2104dde22233SKever Yang <2 RK_PB1 RK_FUNC_2 &pcfg_pull_none>; 2105dde22233SKever Yang }; 2106dde22233SKever Yang }; 2107dde22233SKever Yang 2108dde22233SKever Yang i2c7 { 2109dde22233SKever Yang i2c7_xfer: i2c7-xfer { 2110dde22233SKever Yang rockchip,pins = 2111dde22233SKever Yang <2 RK_PB0 RK_FUNC_2 &pcfg_pull_none>, 2112dde22233SKever Yang <2 RK_PA7 RK_FUNC_2 &pcfg_pull_none>; 2113dde22233SKever Yang }; 2114dde22233SKever Yang }; 2115dde22233SKever Yang 2116dde22233SKever Yang i2c8 { 2117dde22233SKever Yang i2c8_xfer: i2c8-xfer { 2118dde22233SKever Yang rockchip,pins = 2119dde22233SKever Yang <1 RK_PC5 RK_FUNC_1 &pcfg_pull_none>, 2120dde22233SKever Yang <1 RK_PC4 RK_FUNC_1 &pcfg_pull_none>; 2121dde22233SKever Yang }; 2122dde22233SKever Yang }; 2123dde22233SKever Yang 2124dde22233SKever Yang i2s0 { 2125dde22233SKever Yang i2s0_8ch_bus: i2s0-8ch-bus { 2126dde22233SKever Yang rockchip,pins = 2127dde22233SKever Yang <3 RK_PD0 RK_FUNC_1 &pcfg_pull_none>, 2128dde22233SKever Yang <3 RK_PD1 RK_FUNC_1 &pcfg_pull_none>, 2129dde22233SKever Yang <3 RK_PD2 RK_FUNC_1 &pcfg_pull_none>, 2130dde22233SKever Yang <3 RK_PD3 RK_FUNC_1 &pcfg_pull_none>, 2131dde22233SKever Yang <3 RK_PD4 RK_FUNC_1 &pcfg_pull_none>, 2132dde22233SKever Yang <3 RK_PD5 RK_FUNC_1 &pcfg_pull_none>, 2133dde22233SKever Yang <3 RK_PD6 RK_FUNC_1 &pcfg_pull_none>, 2134dde22233SKever Yang <3 RK_PD7 RK_FUNC_1 &pcfg_pull_none>, 2135dde22233SKever Yang <4 RK_PA0 RK_FUNC_1 &pcfg_pull_none>; 2136dde22233SKever Yang }; 2137dde22233SKever Yang }; 2138dde22233SKever Yang 2139dde22233SKever Yang i2s1 { 2140dde22233SKever Yang i2s1_2ch_bus: i2s1-2ch-bus { 2141dde22233SKever Yang rockchip,pins = 2142dde22233SKever Yang <4 RK_PA3 RK_FUNC_1 &pcfg_pull_none>, 2143dde22233SKever Yang <4 RK_PA4 RK_FUNC_1 &pcfg_pull_none>, 2144dde22233SKever Yang <4 RK_PA5 RK_FUNC_1 &pcfg_pull_none>, 2145dde22233SKever Yang <4 RK_PA6 RK_FUNC_1 &pcfg_pull_none>, 2146dde22233SKever Yang <4 RK_PA7 RK_FUNC_1 &pcfg_pull_none>; 2147dde22233SKever Yang }; 2148dde22233SKever Yang }; 2149dde22233SKever Yang 2150dde22233SKever Yang sdio0 { 2151dde22233SKever Yang sdio0_bus1: sdio0-bus1 { 2152dde22233SKever Yang rockchip,pins = 2153dde22233SKever Yang <2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>; 2154dde22233SKever Yang }; 2155dde22233SKever Yang 2156dde22233SKever Yang sdio0_bus4: sdio0-bus4 { 2157dde22233SKever Yang rockchip,pins = 2158dde22233SKever Yang <2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>, 2159dde22233SKever Yang <2 RK_PC5 RK_FUNC_1 &pcfg_pull_up>, 2160dde22233SKever Yang <2 RK_PC6 RK_FUNC_1 &pcfg_pull_up>, 2161dde22233SKever Yang <2 RK_PC7 RK_FUNC_1 &pcfg_pull_up>; 2162dde22233SKever Yang }; 2163dde22233SKever Yang 2164dde22233SKever Yang sdio0_cmd: sdio0-cmd { 2165dde22233SKever Yang rockchip,pins = 2166dde22233SKever Yang <2 RK_PD0 RK_FUNC_1 &pcfg_pull_up>; 2167dde22233SKever Yang }; 2168dde22233SKever Yang 2169dde22233SKever Yang sdio0_clk: sdio0-clk { 2170dde22233SKever Yang rockchip,pins = 2171dde22233SKever Yang <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; 2172dde22233SKever Yang }; 2173dde22233SKever Yang 2174dde22233SKever Yang sdio0_cd: sdio0-cd { 2175dde22233SKever Yang rockchip,pins = 2176dde22233SKever Yang <2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>; 2177dde22233SKever Yang }; 2178dde22233SKever Yang 2179dde22233SKever Yang sdio0_pwr: sdio0-pwr { 2180dde22233SKever Yang rockchip,pins = 2181dde22233SKever Yang <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>; 2182dde22233SKever Yang }; 2183dde22233SKever Yang 2184dde22233SKever Yang sdio0_bkpwr: sdio0-bkpwr { 2185dde22233SKever Yang rockchip,pins = 2186dde22233SKever Yang <2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>; 2187dde22233SKever Yang }; 2188dde22233SKever Yang 2189dde22233SKever Yang sdio0_wp: sdio0-wp { 2190dde22233SKever Yang rockchip,pins = 2191dde22233SKever Yang <0 RK_PA3 RK_FUNC_1 &pcfg_pull_up>; 2192dde22233SKever Yang }; 2193dde22233SKever Yang 2194dde22233SKever Yang sdio0_int: sdio0-int { 2195dde22233SKever Yang rockchip,pins = 2196dde22233SKever Yang <0 RK_PA4 RK_FUNC_1 &pcfg_pull_up>; 2197ca0ab273SPhilipp Tomsich }; 2198ca0ab273SPhilipp Tomsich }; 2199ca0ab273SPhilipp Tomsich 2200bd218ab8SKever Yang sdmmc { 2201bd218ab8SKever Yang sdmmc_bus1: sdmmc-bus1 { 2202bd218ab8SKever Yang rockchip,pins = 2203dde22233SKever Yang <4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>; 2204bd218ab8SKever Yang }; 2205bd218ab8SKever Yang 2206bd218ab8SKever Yang sdmmc_bus4: sdmmc-bus4 { 2207bd218ab8SKever Yang rockchip,pins = 2208dde22233SKever Yang <4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>, 2209dde22233SKever Yang <4 RK_PB1 RK_FUNC_1 &pcfg_pull_up>, 2210dde22233SKever Yang <4 RK_PB2 RK_FUNC_1 &pcfg_pull_up>, 2211dde22233SKever Yang <4 RK_PB3 RK_FUNC_1 &pcfg_pull_up>; 2212bd218ab8SKever Yang }; 2213bd218ab8SKever Yang 2214bd218ab8SKever Yang sdmmc_clk: sdmmc-clk { 2215bd218ab8SKever Yang rockchip,pins = 2216dde22233SKever Yang <4 RK_PB4 RK_FUNC_1 &pcfg_pull_none>; 2217bd218ab8SKever Yang }; 2218bd218ab8SKever Yang 2219bd218ab8SKever Yang sdmmc_cmd: sdmmc-cmd { 2220bd218ab8SKever Yang rockchip,pins = 2221dde22233SKever Yang <4 RK_PB5 RK_FUNC_1 &pcfg_pull_up>; 2222bd218ab8SKever Yang }; 2223bd218ab8SKever Yang 2224*0a09f2f1SSimon Glass sdmmc_cd: sdmmc-cd { 2225bd218ab8SKever Yang rockchip,pins = 2226dde22233SKever Yang <0 RK_PA7 RK_FUNC_1 &pcfg_pull_up>; 2227bd218ab8SKever Yang }; 2228bd218ab8SKever Yang 2229bd218ab8SKever Yang sdmmc_wp: sdmmc-wp { 2230bd218ab8SKever Yang rockchip,pins = 2231dde22233SKever Yang <0 RK_PB0 RK_FUNC_1 &pcfg_pull_up>; 2232dde22233SKever Yang }; 2233dde22233SKever Yang }; 2234dde22233SKever Yang 2235dde22233SKever Yang sleep { 2236dde22233SKever Yang ap_pwroff: ap-pwroff { 2237dde22233SKever Yang rockchip,pins = <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>; 2238dde22233SKever Yang }; 2239dde22233SKever Yang 2240dde22233SKever Yang ddrio_pwroff: ddrio-pwroff { 2241dde22233SKever Yang rockchip,pins = <0 RK_PA1 RK_FUNC_1 &pcfg_pull_none>; 2242bd218ab8SKever Yang }; 2243bd218ab8SKever Yang }; 2244bd218ab8SKever Yang 2245777c834fSKever Yang spdif { 2246777c834fSKever Yang spdif_bus: spdif-bus { 2247777c834fSKever Yang rockchip,pins = 2248dde22233SKever Yang <4 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; 2249dde22233SKever Yang }; 2250dde22233SKever Yang 2251dde22233SKever Yang spdif_bus_1: spdif-bus-1 { 2252dde22233SKever Yang rockchip,pins = 2253dde22233SKever Yang <3 RK_PC0 RK_FUNC_3 &pcfg_pull_none>; 2254777c834fSKever Yang }; 2255777c834fSKever Yang }; 2256777c834fSKever Yang 2257777c834fSKever Yang spi0 { 2258777c834fSKever Yang spi0_clk: spi0-clk { 2259777c834fSKever Yang rockchip,pins = 2260dde22233SKever Yang <3 RK_PA6 RK_FUNC_2 &pcfg_pull_up>; 2261777c834fSKever Yang }; 2262777c834fSKever Yang spi0_cs0: spi0-cs0 { 2263777c834fSKever Yang rockchip,pins = 2264dde22233SKever Yang <3 RK_PA7 RK_FUNC_2 &pcfg_pull_up>; 2265777c834fSKever Yang }; 2266777c834fSKever Yang spi0_cs1: spi0-cs1 { 2267777c834fSKever Yang rockchip,pins = 2268dde22233SKever Yang <3 RK_PB0 RK_FUNC_2 &pcfg_pull_up>; 2269777c834fSKever Yang }; 2270777c834fSKever Yang spi0_tx: spi0-tx { 2271777c834fSKever Yang rockchip,pins = 2272dde22233SKever Yang <3 RK_PA5 RK_FUNC_2 &pcfg_pull_up>; 2273777c834fSKever Yang }; 2274777c834fSKever Yang spi0_rx: spi0-rx { 2275777c834fSKever Yang rockchip,pins = 2276dde22233SKever Yang <3 RK_PA4 RK_FUNC_2 &pcfg_pull_up>; 2277777c834fSKever Yang }; 2278777c834fSKever Yang }; 2279777c834fSKever Yang 2280777c834fSKever Yang spi1 { 2281777c834fSKever Yang spi1_clk: spi1-clk { 2282777c834fSKever Yang rockchip,pins = 2283dde22233SKever Yang <1 RK_PB1 RK_FUNC_2 &pcfg_pull_up>; 2284777c834fSKever Yang }; 2285777c834fSKever Yang spi1_cs0: spi1-cs0 { 2286777c834fSKever Yang rockchip,pins = 2287dde22233SKever Yang <1 RK_PB2 RK_FUNC_2 &pcfg_pull_up>; 2288777c834fSKever Yang }; 2289777c834fSKever Yang spi1_rx: spi1-rx { 2290777c834fSKever Yang rockchip,pins = 2291dde22233SKever Yang <1 RK_PA7 RK_FUNC_2 &pcfg_pull_up>; 2292777c834fSKever Yang }; 2293777c834fSKever Yang spi1_tx: spi1-tx { 2294777c834fSKever Yang rockchip,pins = 2295dde22233SKever Yang <1 RK_PB0 RK_FUNC_2 &pcfg_pull_up>; 2296777c834fSKever Yang }; 2297777c834fSKever Yang }; 2298777c834fSKever Yang 2299777c834fSKever Yang spi2 { 2300777c834fSKever Yang spi2_clk: spi2-clk { 2301777c834fSKever Yang rockchip,pins = 2302dde22233SKever Yang <2 RK_PB3 RK_FUNC_1 &pcfg_pull_up>; 2303777c834fSKever Yang }; 2304777c834fSKever Yang spi2_cs0: spi2-cs0 { 2305777c834fSKever Yang rockchip,pins = 2306dde22233SKever Yang <2 RK_PB4 RK_FUNC_1 &pcfg_pull_up>; 2307777c834fSKever Yang }; 2308777c834fSKever Yang spi2_rx: spi2-rx { 2309777c834fSKever Yang rockchip,pins = 2310dde22233SKever Yang <2 RK_PB1 RK_FUNC_1 &pcfg_pull_up>; 2311777c834fSKever Yang }; 2312777c834fSKever Yang spi2_tx: spi2-tx { 2313777c834fSKever Yang rockchip,pins = 2314dde22233SKever Yang <2 RK_PB2 RK_FUNC_1 &pcfg_pull_up>; 2315777c834fSKever Yang }; 2316777c834fSKever Yang }; 2317777c834fSKever Yang 2318777c834fSKever Yang spi3 { 2319777c834fSKever Yang spi3_clk: spi3-clk { 2320777c834fSKever Yang rockchip,pins = 2321dde22233SKever Yang <1 RK_PC1 RK_FUNC_1 &pcfg_pull_up>; 2322777c834fSKever Yang }; 2323777c834fSKever Yang spi3_cs0: spi3-cs0 { 2324777c834fSKever Yang rockchip,pins = 2325dde22233SKever Yang <1 RK_PC2 RK_FUNC_1 &pcfg_pull_up>; 2326777c834fSKever Yang }; 2327777c834fSKever Yang spi3_rx: spi3-rx { 2328777c834fSKever Yang rockchip,pins = 2329dde22233SKever Yang <1 RK_PB7 RK_FUNC_1 &pcfg_pull_up>; 2330777c834fSKever Yang }; 2331777c834fSKever Yang spi3_tx: spi3-tx { 2332777c834fSKever Yang rockchip,pins = 2333dde22233SKever Yang <1 RK_PC0 RK_FUNC_1 &pcfg_pull_up>; 2334777c834fSKever Yang }; 2335777c834fSKever Yang }; 2336777c834fSKever Yang 2337777c834fSKever Yang spi4 { 2338777c834fSKever Yang spi4_clk: spi4-clk { 2339777c834fSKever Yang rockchip,pins = 2340dde22233SKever Yang <3 RK_PA2 RK_FUNC_2 &pcfg_pull_up>; 2341777c834fSKever Yang }; 2342777c834fSKever Yang spi4_cs0: spi4-cs0 { 2343777c834fSKever Yang rockchip,pins = 2344dde22233SKever Yang <3 RK_PA3 RK_FUNC_2 &pcfg_pull_up>; 2345777c834fSKever Yang }; 2346777c834fSKever Yang spi4_rx: spi4-rx { 2347777c834fSKever Yang rockchip,pins = 2348dde22233SKever Yang <3 RK_PA0 RK_FUNC_2 &pcfg_pull_up>; 2349777c834fSKever Yang }; 2350777c834fSKever Yang spi4_tx: spi4-tx { 2351777c834fSKever Yang rockchip,pins = 2352dde22233SKever Yang <3 RK_PA1 RK_FUNC_2 &pcfg_pull_up>; 2353777c834fSKever Yang }; 2354777c834fSKever Yang }; 2355777c834fSKever Yang 2356777c834fSKever Yang spi5 { 2357777c834fSKever Yang spi5_clk: spi5-clk { 2358777c834fSKever Yang rockchip,pins = 2359dde22233SKever Yang <2 RK_PC6 RK_FUNC_2 &pcfg_pull_up>; 2360777c834fSKever Yang }; 2361777c834fSKever Yang spi5_cs0: spi5-cs0 { 2362777c834fSKever Yang rockchip,pins = 2363dde22233SKever Yang <2 RK_PC7 RK_FUNC_2 &pcfg_pull_up>; 2364777c834fSKever Yang }; 2365777c834fSKever Yang spi5_rx: spi5-rx { 2366777c834fSKever Yang rockchip,pins = 2367dde22233SKever Yang <2 RK_PC4 RK_FUNC_2 &pcfg_pull_up>; 2368777c834fSKever Yang }; 2369777c834fSKever Yang spi5_tx: spi5-tx { 2370777c834fSKever Yang rockchip,pins = 2371dde22233SKever Yang <2 RK_PC5 RK_FUNC_2 &pcfg_pull_up>; 2372dde22233SKever Yang }; 2373dde22233SKever Yang }; 2374dde22233SKever Yang 2375dde22233SKever Yang tsadc { 2376dde22233SKever Yang otp_gpio: otp-gpio { 2377dde22233SKever Yang rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 2378dde22233SKever Yang }; 2379dde22233SKever Yang 2380dde22233SKever Yang otp_out: otp-out { 2381dde22233SKever Yang rockchip,pins = <1 RK_PA6 RK_FUNC_1 &pcfg_pull_none>; 2382777c834fSKever Yang }; 2383777c834fSKever Yang }; 2384777c834fSKever Yang 2385777c834fSKever Yang uart0 { 2386777c834fSKever Yang uart0_xfer: uart0-xfer { 2387777c834fSKever Yang rockchip,pins = 2388dde22233SKever Yang <2 RK_PC0 RK_FUNC_1 &pcfg_pull_up>, 2389dde22233SKever Yang <2 RK_PC1 RK_FUNC_1 &pcfg_pull_none>; 2390777c834fSKever Yang }; 2391777c834fSKever Yang 2392777c834fSKever Yang uart0_cts: uart0-cts { 2393777c834fSKever Yang rockchip,pins = 2394dde22233SKever Yang <2 RK_PC2 RK_FUNC_1 &pcfg_pull_none>; 2395777c834fSKever Yang }; 2396777c834fSKever Yang 2397777c834fSKever Yang uart0_rts: uart0-rts { 2398777c834fSKever Yang rockchip,pins = 2399dde22233SKever Yang <2 RK_PC3 RK_FUNC_1 &pcfg_pull_none>; 2400777c834fSKever Yang }; 2401777c834fSKever Yang }; 2402777c834fSKever Yang 2403777c834fSKever Yang uart1 { 2404777c834fSKever Yang uart1_xfer: uart1-xfer { 2405777c834fSKever Yang rockchip,pins = 2406dde22233SKever Yang <3 RK_PB4 RK_FUNC_2 &pcfg_pull_up>, 2407dde22233SKever Yang <3 RK_PB5 RK_FUNC_2 &pcfg_pull_none>; 2408777c834fSKever Yang }; 2409777c834fSKever Yang }; 2410777c834fSKever Yang 2411777c834fSKever Yang uart2a { 2412777c834fSKever Yang uart2a_xfer: uart2a-xfer { 2413777c834fSKever Yang rockchip,pins = 2414dde22233SKever Yang <4 RK_PB0 RK_FUNC_2 &pcfg_pull_up>, 2415dde22233SKever Yang <4 RK_PB1 RK_FUNC_2 &pcfg_pull_none>; 2416777c834fSKever Yang }; 2417777c834fSKever Yang }; 2418777c834fSKever Yang 2419777c834fSKever Yang uart2b { 2420777c834fSKever Yang uart2b_xfer: uart2b-xfer { 2421777c834fSKever Yang rockchip,pins = 2422dde22233SKever Yang <4 RK_PC0 RK_FUNC_2 &pcfg_pull_up>, 2423dde22233SKever Yang <4 RK_PC1 RK_FUNC_2 &pcfg_pull_none>; 2424777c834fSKever Yang }; 2425777c834fSKever Yang }; 2426777c834fSKever Yang 2427777c834fSKever Yang uart2c { 2428777c834fSKever Yang uart2c_xfer: uart2c-xfer { 2429777c834fSKever Yang rockchip,pins = 2430dde22233SKever Yang <4 RK_PC3 RK_FUNC_1 &pcfg_pull_up>, 2431dde22233SKever Yang <4 RK_PC4 RK_FUNC_1 &pcfg_pull_none>; 2432777c834fSKever Yang }; 2433777c834fSKever Yang }; 2434777c834fSKever Yang 2435777c834fSKever Yang uart3 { 2436777c834fSKever Yang uart3_xfer: uart3-xfer { 2437777c834fSKever Yang rockchip,pins = 2438dde22233SKever Yang <3 RK_PB6 RK_FUNC_2 &pcfg_pull_up>, 2439dde22233SKever Yang <3 RK_PB7 RK_FUNC_2 &pcfg_pull_none>; 2440777c834fSKever Yang }; 2441777c834fSKever Yang 2442777c834fSKever Yang uart3_cts: uart3-cts { 2443777c834fSKever Yang rockchip,pins = 2444dde22233SKever Yang <3 RK_PC2 RK_FUNC_2 &pcfg_pull_none>; 2445777c834fSKever Yang }; 2446777c834fSKever Yang 2447777c834fSKever Yang uart3_rts: uart3-rts { 2448777c834fSKever Yang rockchip,pins = 2449dde22233SKever Yang <3 RK_PC3 RK_FUNC_2 &pcfg_pull_none>; 2450777c834fSKever Yang }; 2451777c834fSKever Yang }; 2452777c834fSKever Yang 2453777c834fSKever Yang uart4 { 2454777c834fSKever Yang uart4_xfer: uart4-xfer { 2455777c834fSKever Yang rockchip,pins = 2456dde22233SKever Yang <1 RK_PA7 RK_FUNC_1 &pcfg_pull_up>, 2457dde22233SKever Yang <1 RK_PB0 RK_FUNC_1 &pcfg_pull_none>; 2458777c834fSKever Yang }; 2459777c834fSKever Yang }; 2460777c834fSKever Yang 2461777c834fSKever Yang uarthdcp { 2462777c834fSKever Yang uarthdcp_xfer: uarthdcp-xfer { 2463777c834fSKever Yang rockchip,pins = 2464dde22233SKever Yang <4 RK_PC5 RK_FUNC_2 &pcfg_pull_up>, 2465dde22233SKever Yang <4 RK_PC6 RK_FUNC_2 &pcfg_pull_none>; 2466777c834fSKever Yang }; 2467777c834fSKever Yang }; 2468777c834fSKever Yang 2469777c834fSKever Yang pwm0 { 2470777c834fSKever Yang pwm0_pin: pwm0-pin { 2471777c834fSKever Yang rockchip,pins = 2472dde22233SKever Yang <4 RK_PC2 RK_FUNC_1 &pcfg_pull_none>; 2473777c834fSKever Yang }; 2474777c834fSKever Yang 2475777c834fSKever Yang vop0_pwm_pin: vop0-pwm-pin { 2476777c834fSKever Yang rockchip,pins = 2477dde22233SKever Yang <4 RK_PC2 RK_FUNC_2 &pcfg_pull_none>; 2478777c834fSKever Yang }; 2479777c834fSKever Yang }; 2480777c834fSKever Yang 2481777c834fSKever Yang pwm1 { 2482777c834fSKever Yang pwm1_pin: pwm1-pin { 2483777c834fSKever Yang rockchip,pins = 2484dde22233SKever Yang <4 RK_PC6 RK_FUNC_1 &pcfg_pull_none>; 2485777c834fSKever Yang }; 2486777c834fSKever Yang 2487777c834fSKever Yang vop1_pwm_pin: vop1-pwm-pin { 2488777c834fSKever Yang rockchip,pins = 2489dde22233SKever Yang <4 RK_PC2 RK_FUNC_3 &pcfg_pull_none>; 2490777c834fSKever Yang }; 2491777c834fSKever Yang }; 2492777c834fSKever Yang 2493777c834fSKever Yang pwm2 { 2494777c834fSKever Yang pwm2_pin: pwm2-pin { 2495777c834fSKever Yang rockchip,pins = 2496dde22233SKever Yang <1 RK_PC3 RK_FUNC_1 &pcfg_pull_none>; 2497777c834fSKever Yang }; 2498777c834fSKever Yang }; 2499777c834fSKever Yang 2500777c834fSKever Yang pwm3a { 2501777c834fSKever Yang pwm3a_pin: pwm3a-pin { 2502777c834fSKever Yang rockchip,pins = 2503dde22233SKever Yang <0 RK_PA6 RK_FUNC_1 &pcfg_pull_none>; 2504777c834fSKever Yang }; 2505777c834fSKever Yang }; 2506777c834fSKever Yang 2507777c834fSKever Yang pwm3b { 2508777c834fSKever Yang pwm3b_pin: pwm3b-pin { 2509777c834fSKever Yang rockchip,pins = 2510dde22233SKever Yang <1 RK_PB6 RK_FUNC_1 &pcfg_pull_none>; 2511777c834fSKever Yang }; 2512777c834fSKever Yang }; 2513dde22233SKever Yang 2514dde22233SKever Yang hdmi { 2515dde22233SKever Yang hdmi_i2c_xfer: hdmi-i2c-xfer { 2516dde22233SKever Yang rockchip,pins = 2517dde22233SKever Yang <4 RK_PC1 RK_FUNC_3 &pcfg_pull_none>, 2518dde22233SKever Yang <4 RK_PC0 RK_FUNC_3 &pcfg_pull_none>; 2519dde22233SKever Yang }; 2520dde22233SKever Yang 2521dde22233SKever Yang hdmi_cec: hdmi-cec { 2522dde22233SKever Yang rockchip,pins = 2523dde22233SKever Yang <4 RK_PC7 RK_FUNC_1 &pcfg_pull_none>; 2524dde22233SKever Yang }; 2525dde22233SKever Yang }; 2526dde22233SKever Yang 2527dde22233SKever Yang pcie { 2528dde22233SKever Yang pcie_clkreqn: pci-clkreqn { 2529dde22233SKever Yang rockchip,pins = 2530dde22233SKever Yang <2 RK_PD2 RK_FUNC_2 &pcfg_pull_none>; 2531dde22233SKever Yang }; 2532dde22233SKever Yang 2533dde22233SKever Yang pcie_clkreqnb: pci-clkreqnb { 2534dde22233SKever Yang rockchip,pins = 2535dde22233SKever Yang <4 RK_PD0 RK_FUNC_1 &pcfg_pull_none>; 2536dde22233SKever Yang }; 2537dde22233SKever Yang 2538dde22233SKever Yang pcie_clkreqn_cpm: pci-clkreqn-cpm { 2539dde22233SKever Yang rockchip,pins = 2540dde22233SKever Yang <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 2541dde22233SKever Yang }; 2542dde22233SKever Yang 2543dde22233SKever Yang pcie_clkreqnb_cpm: pci-clkreqnb-cpm { 2544dde22233SKever Yang rockchip,pins = 2545dde22233SKever Yang <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 2546dde22233SKever Yang }; 2547dde22233SKever Yang }; 2548dde22233SKever Yang 2549777c834fSKever Yang }; 2550777c834fSKever Yang}; 2551