xref: /openbmc/u-boot/arch/arm/dts/rk3399.dtsi (revision e5fd39c886485e3dec77f4438a6e364c2987cf5f)
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