xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3399.dtsi (revision fbf3603b9ab279396e3c22cb440a89391da93c95)
1777c834fSKever Yang/*
2dde22233SKever Yang * Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd.
3777c834fSKever Yang *
4777c834fSKever Yang * SPDX-License-Identifier:	GPL-2.0+
5777c834fSKever Yang */
6777c834fSKever Yang
7777c834fSKever Yang#include <dt-bindings/clock/rk3399-cru.h>
8777c834fSKever Yang#include <dt-bindings/gpio/gpio.h>
9777c834fSKever Yang#include <dt-bindings/interrupt-controller/arm-gic.h>
10777c834fSKever Yang#include <dt-bindings/interrupt-controller/irq.h>
11777c834fSKever Yang#include <dt-bindings/pinctrl/rockchip.h>
12dde22233SKever Yang#include <dt-bindings/power/rk3399-power.h>
13dde22233SKever Yang#include <dt-bindings/thermal/thermal.h>
14fa5e2d16SMengDongyang#define USB_CLASS_HUB			9
15777c834fSKever Yang
16777c834fSKever Yang/ {
17777c834fSKever Yang	compatible = "rockchip,rk3399";
18777c834fSKever Yang
19777c834fSKever Yang	interrupt-parent = <&gic>;
20777c834fSKever Yang	#address-cells = <2>;
21777c834fSKever Yang	#size-cells = <2>;
22777c834fSKever Yang
23777c834fSKever Yang	aliases {
24dde22233SKever Yang		i2c0 = &i2c0;
25dde22233SKever Yang		i2c1 = &i2c1;
26dde22233SKever Yang		i2c2 = &i2c2;
27dde22233SKever Yang		i2c3 = &i2c3;
28dde22233SKever Yang		i2c4 = &i2c4;
29dde22233SKever Yang		i2c5 = &i2c5;
30dde22233SKever Yang		i2c6 = &i2c6;
31dde22233SKever Yang		i2c7 = &i2c7;
32dde22233SKever Yang		i2c8 = &i2c8;
33777c834fSKever Yang		serial0 = &uart0;
34777c834fSKever Yang		serial1 = &uart1;
35777c834fSKever Yang		serial2 = &uart2;
36777c834fSKever Yang		serial3 = &uart3;
37777c834fSKever Yang		serial4 = &uart4;
38777c834fSKever Yang	};
39777c834fSKever Yang
40777c834fSKever Yang	cpus {
41777c834fSKever Yang		#address-cells = <2>;
42777c834fSKever Yang		#size-cells = <0>;
43777c834fSKever Yang
44777c834fSKever Yang		cpu-map {
45777c834fSKever Yang			cluster0 {
46777c834fSKever Yang				core0 {
47777c834fSKever Yang					cpu = <&cpu_l0>;
48777c834fSKever Yang				};
49777c834fSKever Yang				core1 {
50777c834fSKever Yang					cpu = <&cpu_l1>;
51777c834fSKever Yang				};
52777c834fSKever Yang				core2 {
53777c834fSKever Yang					cpu = <&cpu_l2>;
54777c834fSKever Yang				};
55777c834fSKever Yang				core3 {
56777c834fSKever Yang					cpu = <&cpu_l3>;
57777c834fSKever Yang				};
58777c834fSKever Yang			};
59777c834fSKever Yang
60777c834fSKever Yang			cluster1 {
61777c834fSKever Yang				core0 {
62777c834fSKever Yang					cpu = <&cpu_b0>;
63777c834fSKever Yang				};
64777c834fSKever Yang				core1 {
65777c834fSKever Yang					cpu = <&cpu_b1>;
66777c834fSKever Yang				};
67777c834fSKever Yang			};
68777c834fSKever Yang		};
69777c834fSKever Yang
70777c834fSKever Yang		cpu_l0: cpu@0 {
71777c834fSKever Yang			device_type = "cpu";
72777c834fSKever Yang			compatible = "arm,cortex-a53", "arm,armv8";
73777c834fSKever Yang			reg = <0x0 0x0>;
74777c834fSKever Yang			enable-method = "psci";
75777c834fSKever Yang			#cooling-cells = <2>; /* min followed by max */
76777c834fSKever Yang			clocks = <&cru ARMCLKL>;
77777c834fSKever Yang		};
78777c834fSKever Yang
79777c834fSKever Yang		cpu_l1: cpu@1 {
80777c834fSKever Yang			device_type = "cpu";
81777c834fSKever Yang			compatible = "arm,cortex-a53", "arm,armv8";
82777c834fSKever Yang			reg = <0x0 0x1>;
83777c834fSKever Yang			enable-method = "psci";
84777c834fSKever Yang			clocks = <&cru ARMCLKL>;
85777c834fSKever Yang		};
86777c834fSKever Yang
87777c834fSKever Yang		cpu_l2: cpu@2 {
88777c834fSKever Yang			device_type = "cpu";
89777c834fSKever Yang			compatible = "arm,cortex-a53", "arm,armv8";
90777c834fSKever Yang			reg = <0x0 0x2>;
91777c834fSKever Yang			enable-method = "psci";
92777c834fSKever Yang			clocks = <&cru ARMCLKL>;
93777c834fSKever Yang		};
94777c834fSKever Yang
95777c834fSKever Yang		cpu_l3: cpu@3 {
96777c834fSKever Yang			device_type = "cpu";
97777c834fSKever Yang			compatible = "arm,cortex-a53", "arm,armv8";
98777c834fSKever Yang			reg = <0x0 0x3>;
99777c834fSKever Yang			enable-method = "psci";
100777c834fSKever Yang			clocks = <&cru ARMCLKL>;
101777c834fSKever Yang		};
102777c834fSKever Yang
103777c834fSKever Yang		cpu_b0: cpu@100 {
104777c834fSKever Yang			device_type = "cpu";
105777c834fSKever Yang			compatible = "arm,cortex-a72", "arm,armv8";
106777c834fSKever Yang			reg = <0x0 0x100>;
107777c834fSKever Yang			enable-method = "psci";
108777c834fSKever Yang			#cooling-cells = <2>; /* min followed by max */
109777c834fSKever Yang			clocks = <&cru ARMCLKB>;
110777c834fSKever Yang		};
111777c834fSKever Yang
112777c834fSKever Yang		cpu_b1: cpu@101 {
113777c834fSKever Yang			device_type = "cpu";
114777c834fSKever Yang			compatible = "arm,cortex-a72", "arm,armv8";
115777c834fSKever Yang			reg = <0x0 0x101>;
116777c834fSKever Yang			enable-method = "psci";
117777c834fSKever Yang			clocks = <&cru ARMCLKB>;
118777c834fSKever Yang		};
119777c834fSKever Yang	};
120777c834fSKever Yang
1210313794bSKever Yang	display_subsystem: display-subsystem {
1220313794bSKever Yang		compatible = "rockchip,display-subsystem";
1230313794bSKever Yang		ports = <&vopb_out>, <&vopl_out>;
1240313794bSKever Yang		status = "okay";
1250313794bSKever Yang
1260313794bSKever Yang		route {
1270313794bSKever Yang			route_hdmi: route-hdmi {
1280313794bSKever Yang				status = "disabled";
1290313794bSKever Yang				logo,uboot = "logo.bmp";
1300313794bSKever Yang				logo,kernel = "logo_kernel.bmp";
1310313794bSKever Yang				logo,mode = "center";
1320313794bSKever Yang				charge_logo,mode = "center";
1330313794bSKever Yang				connect = <&vopb_out_hdmi>;
1340313794bSKever Yang			};
1350313794bSKever Yang
1360313794bSKever Yang			route_edp: route-edp {
1370313794bSKever Yang				status = "disabled";
1380313794bSKever Yang				logo,uboot = "logo.bmp";
1390313794bSKever Yang				logo,kernel = "logo_kernel.bmp";
1400313794bSKever Yang				logo,mode = "center";
1410313794bSKever Yang				charge_logo,mode = "center";
1420313794bSKever Yang				connect = <&vopb_out_edp>;
1430313794bSKever Yang			};
1440313794bSKever Yang		};
1450313794bSKever Yang	};
1460313794bSKever Yang
147dde22233SKever Yang	pmu_a53 {
148dde22233SKever Yang		compatible = "arm,cortex-a53-pmu";
149dde22233SKever Yang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
150dde22233SKever Yang	};
151dde22233SKever Yang
152dde22233SKever Yang	pmu_a72 {
153dde22233SKever Yang		compatible = "arm,cortex-a72-pmu";
154dde22233SKever Yang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
155dde22233SKever Yang	};
156dde22233SKever Yang
157*fbf3603bSJoseph Chen	psci: psci {
158777c834fSKever Yang		compatible = "arm,psci-1.0";
159777c834fSKever Yang		method = "smc";
160777c834fSKever Yang	};
161777c834fSKever Yang
162777c834fSKever Yang	timer {
163777c834fSKever Yang		compatible = "arm,armv8-timer";
164dde22233SKever Yang		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
165dde22233SKever Yang			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
166dde22233SKever Yang			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
167dde22233SKever Yang			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
168dde22233SKever Yang		arm,no-tick-in-suspend;
169777c834fSKever Yang	};
170777c834fSKever Yang
171777c834fSKever Yang	xin24m: xin24m {
172777c834fSKever Yang		compatible = "fixed-clock";
173777c834fSKever Yang		clock-frequency = <24000000>;
174777c834fSKever Yang		clock-output-names = "xin24m";
175777c834fSKever Yang		#clock-cells = <0>;
176777c834fSKever Yang	};
177777c834fSKever Yang
178777c834fSKever Yang	amba {
179777c834fSKever Yang		compatible = "simple-bus";
180777c834fSKever Yang		#address-cells = <2>;
181777c834fSKever Yang		#size-cells = <2>;
182777c834fSKever Yang		ranges;
183777c834fSKever Yang
184777c834fSKever Yang		dmac_bus: dma-controller@ff6d0000 {
185777c834fSKever Yang			compatible = "arm,pl330", "arm,primecell";
186777c834fSKever Yang			reg = <0x0 0xff6d0000 0x0 0x4000>;
187dde22233SKever Yang			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
188dde22233SKever Yang				     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
189777c834fSKever Yang			#dma-cells = <1>;
190777c834fSKever Yang			clocks = <&cru ACLK_DMAC0_PERILP>;
191777c834fSKever Yang			clock-names = "apb_pclk";
192777c834fSKever Yang		};
193777c834fSKever Yang
194777c834fSKever Yang		dmac_peri: dma-controller@ff6e0000 {
195777c834fSKever Yang			compatible = "arm,pl330", "arm,primecell";
196777c834fSKever Yang			reg = <0x0 0xff6e0000 0x0 0x4000>;
197dde22233SKever Yang			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
198dde22233SKever Yang				     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
199777c834fSKever Yang			#dma-cells = <1>;
200777c834fSKever Yang			clocks = <&cru ACLK_DMAC1_PERILP>;
201777c834fSKever Yang			clock-names = "apb_pclk";
202777c834fSKever Yang		};
203777c834fSKever Yang	};
204777c834fSKever Yang
205272fdf68SJoseph Chen	crypto: crypto@ff8b0000 {
206272fdf68SJoseph Chen		compatible = "rockchip,rk3399-crypto";
207272fdf68SJoseph Chen		reg = <0x0 0xff8b0000 0x0 0x10000>;
208069b8477SJoseph Chen		clock-names = "sclk_crypto0", "sclk_crypto1";
209272fdf68SJoseph Chen		clocks = <&cru SCLK_CRYPTO0>, <&cru SCLK_CRYPTO1>;
210272fdf68SJoseph Chen		status = "disabled";
211272fdf68SJoseph Chen	};
212272fdf68SJoseph Chen
213dde22233SKever Yang	pcie0: pcie@f8000000 {
214dde22233SKever Yang		compatible = "rockchip,rk3399-pcie";
215dde22233SKever Yang		reg = <0x0 0xf8000000 0x0 0x2000000>,
216dde22233SKever Yang		      <0x0 0xfd000000 0x0 0x1000000>;
217dde22233SKever Yang		reg-names = "axi-base", "apb-base";
218dde22233SKever Yang		#address-cells = <3>;
219dde22233SKever Yang		#size-cells = <2>;
220dde22233SKever Yang		#interrupt-cells = <1>;
221dde22233SKever Yang		aspm-no-l0s;
222dde22233SKever Yang		bus-range = <0x0 0x1>;
223dde22233SKever Yang		clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
224dde22233SKever Yang			 <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
225dde22233SKever Yang		clock-names = "aclk", "aclk-perf",
226dde22233SKever Yang			      "hclk", "pm";
227dde22233SKever Yang		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>,
228dde22233SKever Yang			     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>,
229dde22233SKever Yang			     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>;
230dde22233SKever Yang		interrupt-names = "sys", "legacy", "client";
231dde22233SKever Yang		interrupt-map-mask = <0 0 0 7>;
232dde22233SKever Yang		interrupt-map = <0 0 0 1 &pcie0_intc 0>,
233dde22233SKever Yang				<0 0 0 2 &pcie0_intc 1>,
234dde22233SKever Yang				<0 0 0 3 &pcie0_intc 2>,
235dde22233SKever Yang				<0 0 0 4 &pcie0_intc 3>;
236dde22233SKever Yang		linux,pci-domain = <0>;
237dde22233SKever Yang		max-link-speed = <1>;
238dde22233SKever Yang		msi-map = <0x0 &its 0x0 0x1000>;
239dde22233SKever Yang		phys = <&pcie_phy>;
240dde22233SKever Yang		phy-names = "pcie-phy";
241dde22233SKever Yang		ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x600000
242dde22233SKever Yang			  0x81000000 0x0 0xfa600000 0x0 0xfa600000 0x0 0x100000>;
243dde22233SKever Yang		resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
244dde22233SKever Yang			 <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
245dde22233SKever Yang			 <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
246dde22233SKever Yang			 <&cru SRST_A_PCIE>;
247dde22233SKever Yang		reset-names = "core", "mgmt", "mgmt-sticky", "pipe",
248dde22233SKever Yang			      "pm", "pclk", "aclk";
249dde22233SKever Yang		status = "disabled";
250dde22233SKever Yang
251dde22233SKever Yang		pcie0_intc: interrupt-controller {
252dde22233SKever Yang			interrupt-controller;
253dde22233SKever Yang			#address-cells = <0>;
254dde22233SKever Yang			#interrupt-cells = <1>;
255dde22233SKever Yang		};
256dde22233SKever Yang	};
257dde22233SKever Yang
258dde22233SKever Yang	gmac: ethernet@fe300000 {
259dde22233SKever Yang		compatible = "rockchip,rk3399-gmac";
260dde22233SKever Yang		reg = <0x0 0xfe300000 0x0 0x10000>;
261dde22233SKever Yang		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
262dde22233SKever Yang		interrupt-names = "macirq";
263dde22233SKever Yang		clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
264dde22233SKever Yang			 <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
265dde22233SKever Yang			 <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
266dde22233SKever Yang			 <&cru PCLK_GMAC>;
267dde22233SKever Yang		clock-names = "stmmaceth", "mac_clk_rx",
268dde22233SKever Yang			      "mac_clk_tx", "clk_mac_ref",
269dde22233SKever Yang			      "clk_mac_refout", "aclk_mac",
270dde22233SKever Yang			      "pclk_mac";
271dde22233SKever Yang		power-domains = <&power RK3399_PD_GMAC>;
272dde22233SKever Yang		resets = <&cru SRST_A_GMAC>;
273dde22233SKever Yang		reset-names = "stmmaceth";
274dde22233SKever Yang		rockchip,grf = <&grf>;
275dde22233SKever Yang		status = "disabled";
276dde22233SKever Yang	};
277dde22233SKever Yang
278777c834fSKever Yang	sdio0: dwmmc@fe310000 {
279777c834fSKever Yang		compatible = "rockchip,rk3399-dw-mshc",
280777c834fSKever Yang			     "rockchip,rk3288-dw-mshc";
281777c834fSKever Yang		reg = <0x0 0xfe310000 0x0 0x4000>;
282dde22233SKever Yang		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH 0>;
283dde22233SKever Yang		max-frequency = <150000000>;
284777c834fSKever Yang		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
285777c834fSKever Yang			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
286777c834fSKever Yang		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
287777c834fSKever Yang		fifo-depth = <0x100>;
288dde22233SKever Yang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
289dde22233SKever Yang		resets = <&cru SRST_SDIO0>;
290dde22233SKever Yang		reset-names = "reset";
291777c834fSKever Yang		status = "disabled";
292777c834fSKever Yang	};
293777c834fSKever Yang
294777c834fSKever Yang	sdmmc: dwmmc@fe320000 {
295777c834fSKever Yang		compatible = "rockchip,rk3399-dw-mshc",
296777c834fSKever Yang			     "rockchip,rk3288-dw-mshc";
297777c834fSKever Yang		reg = <0x0 0xfe320000 0x0 0x4000>;
298dde22233SKever Yang		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>;
299dde22233SKever Yang		max-frequency = <150000000>;
300dde22233SKever Yang		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
301777c834fSKever Yang			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
302dde22233SKever Yang		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
303777c834fSKever Yang		fifo-depth = <0x100>;
304dde22233SKever Yang		power-domains = <&power RK3399_PD_SD>;
305dde22233SKever Yang		resets = <&cru SRST_SDMMC>;
306dde22233SKever Yang		reset-names = "reset";
307777c834fSKever Yang		status = "disabled";
308777c834fSKever Yang	};
309777c834fSKever Yang
310777c834fSKever Yang	sdhci: sdhci@fe330000 {
311777c834fSKever Yang		compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
312777c834fSKever Yang		reg = <0x0 0xfe330000 0x0 0x10000>;
313dde22233SKever Yang		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>;
314dde22233SKever Yang		arasan,soc-ctl-syscon = <&grf>;
315777c834fSKever Yang		assigned-clocks = <&cru SCLK_EMMC>;
316777c834fSKever Yang		assigned-clock-rates = <200000000>;
317a34fddceSZiyuan Xu		max-frequency = <150000000>;
318777c834fSKever Yang		clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>;
319777c834fSKever Yang		clock-names = "clk_xin", "clk_ahb";
320dde22233SKever Yang		clock-output-names = "emmc_cardclock";
321dde22233SKever Yang		#clock-cells = <0>;
322777c834fSKever Yang		phys = <&emmc_phy>;
323777c834fSKever Yang		phy-names = "phy_arasan";
324dde22233SKever Yang		power-domains = <&power RK3399_PD_EMMC>;
325777c834fSKever Yang		status = "disabled";
326777c834fSKever Yang	};
327777c834fSKever Yang
328777c834fSKever Yang	usb_host0_ehci: usb@fe380000 {
329777c834fSKever Yang		compatible = "generic-ehci";
330777c834fSKever Yang		reg = <0x0 0xfe380000 0x0 0x20000>;
331dde22233SKever Yang		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
332dde22233SKever Yang		clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
333dde22233SKever Yang			 <&u2phy0>;
334dde22233SKever Yang		clock-names = "usbhost", "arbiter",
335dde22233SKever Yang			      "utmi";
336dde22233SKever Yang		phys = <&u2phy0_host>;
337dde22233SKever Yang		phy-names = "usb";
338dde22233SKever Yang		power-domains = <&power RK3399_PD_PERIHP>;
339777c834fSKever Yang		status = "disabled";
340777c834fSKever Yang	};
341777c834fSKever Yang
342777c834fSKever Yang	usb_host0_ohci: usb@fe3a0000 {
343777c834fSKever Yang		compatible = "generic-ohci";
344777c834fSKever Yang		reg = <0x0 0xfe3a0000 0x0 0x20000>;
345dde22233SKever Yang		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
346dde22233SKever Yang		clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
347dde22233SKever Yang			 <&u2phy0>;
348dde22233SKever Yang		clock-names = "usbhost", "arbiter",
349dde22233SKever Yang			      "utmi";
350dde22233SKever Yang		phys = <&u2phy0_host>;
351dde22233SKever Yang		phy-names = "usb";
352dde22233SKever Yang		power-domains = <&power RK3399_PD_PERIHP>;
353777c834fSKever Yang		status = "disabled";
354777c834fSKever Yang	};
355777c834fSKever Yang
356777c834fSKever Yang	usb_host1_ehci: usb@fe3c0000 {
357777c834fSKever Yang		compatible = "generic-ehci";
358777c834fSKever Yang		reg = <0x0 0xfe3c0000 0x0 0x20000>;
359dde22233SKever Yang		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
360dde22233SKever Yang		clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
361dde22233SKever Yang			 <&u2phy1>;
362dde22233SKever Yang		clock-names = "usbhost", "arbiter",
363dde22233SKever Yang			      "utmi";
364dde22233SKever Yang		phys = <&u2phy1_host>;
365dde22233SKever Yang		phy-names = "usb";
366dde22233SKever Yang		power-domains = <&power RK3399_PD_PERIHP>;
367777c834fSKever Yang		status = "disabled";
368777c834fSKever Yang	};
369777c834fSKever Yang
370777c834fSKever Yang	usb_host1_ohci: usb@fe3e0000 {
371777c834fSKever Yang		compatible = "generic-ohci";
372777c834fSKever Yang		reg = <0x0 0xfe3e0000 0x0 0x20000>;
373dde22233SKever Yang		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
374dde22233SKever Yang		clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
375dde22233SKever Yang			 <&u2phy1>;
376dde22233SKever Yang		clock-names = "usbhost", "arbiter",
377dde22233SKever Yang			      "utmi";
378dde22233SKever Yang		phys = <&u2phy1_host>;
379dde22233SKever Yang		phy-names = "usb";
380dde22233SKever Yang		power-domains = <&power RK3399_PD_PERIHP>;
381777c834fSKever Yang		status = "disabled";
382777c834fSKever Yang	};
383777c834fSKever Yang
3840162d8c3SFrank Wang	usbdrd3_0: usb0 {
3850162d8c3SFrank Wang		compatible = "rockchip,rk3399-dwc3";
3860162d8c3SFrank Wang		clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
3870162d8c3SFrank Wang			 <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_GRF>;
3880162d8c3SFrank Wang		clock-names = "ref_clk", "suspend_clk",
3890162d8c3SFrank Wang			      "bus_clk", "grf_clk";
3900162d8c3SFrank Wang		power-domains = <&power RK3399_PD_USB3>;
3910162d8c3SFrank Wang		resets = <&cru SRST_A_USB3_OTG0>;
3920162d8c3SFrank Wang		reset-names = "usb3-otg";
3930162d8c3SFrank Wang		#address-cells = <2>;
3940162d8c3SFrank Wang		#size-cells = <2>;
3950162d8c3SFrank Wang		ranges;
3960162d8c3SFrank Wang		status = "disabled";
3970162d8c3SFrank Wang
3980162d8c3SFrank Wang		usbdrd_dwc3_0: dwc3@fe800000 {
3990162d8c3SFrank Wang			compatible = "snps,dwc3";
400fa5e2d16SMengDongyang			reg = <0x0 0xfe800000 0x0 0x100000>;
4010162d8c3SFrank Wang			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>;
4020162d8c3SFrank Wang			dr_mode = "otg";
4030162d8c3SFrank Wang			phys = <&u2phy0_otg>, <&tcphy0_usb3>;
4040162d8c3SFrank Wang			phy-names = "usb2-phy", "usb3-phy";
4050162d8c3SFrank Wang			phy_type = "utmi_wide";
4060162d8c3SFrank Wang			snps,dis_enblslpm_quirk;
407fa5e2d16SMengDongyang			snps,dis-u2-freeclk-exists-quirk;
4080162d8c3SFrank Wang			snps,dis_u2_susphy_quirk;
4090162d8c3SFrank Wang			snps,dis-del-phy-power-chg-quirk;
4100162d8c3SFrank Wang			snps,tx-ipgap-linecheck-dis-quirk;
4110162d8c3SFrank Wang			snps,xhci-slow-suspend-quirk;
4120162d8c3SFrank Wang			snps,xhci-trb-ent-quirk;
4130162d8c3SFrank Wang			snps,usb3-warm-reset-on-resume-quirk;
4140162d8c3SFrank Wang			status = "disabled";
4150162d8c3SFrank Wang		};
4160162d8c3SFrank Wang	};
417fa5e2d16SMengDongyang
4180162d8c3SFrank Wang	usbdrd3_1: usb1 {
4190162d8c3SFrank Wang		compatible = "rockchip,rk3399-dwc3";
4200162d8c3SFrank Wang		clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>,
4210162d8c3SFrank Wang			 <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_GRF>;
4220162d8c3SFrank Wang		clock-names = "ref_clk", "suspend_clk",
4230162d8c3SFrank Wang			      "bus_clk", "grf_clk";
4240162d8c3SFrank Wang		power-domains = <&power RK3399_PD_USB3>;
4250162d8c3SFrank Wang		resets = <&cru SRST_A_USB3_OTG1>;
4260162d8c3SFrank Wang		reset-names = "usb3-otg";
427fa5e2d16SMengDongyang		#address-cells = <2>;
428fa5e2d16SMengDongyang		#size-cells = <2>;
4290162d8c3SFrank Wang		ranges;
4300162d8c3SFrank Wang		status = "disabled";
431fa5e2d16SMengDongyang
4320162d8c3SFrank Wang		usbdrd_dwc3_1: dwc3@fe900000 {
4330162d8c3SFrank Wang			compatible = "snps,dwc3";
434fa5e2d16SMengDongyang			reg = <0x0 0xfe900000 0x0 0x100000>;
4350162d8c3SFrank Wang			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
4360162d8c3SFrank Wang			dr_mode = "host";
4370162d8c3SFrank Wang			phys = <&u2phy1_otg>, <&tcphy1_usb3>;
4380162d8c3SFrank Wang			phy-names = "usb2-phy", "usb3-phy";
4390162d8c3SFrank Wang			phy_type = "utmi_wide";
4400162d8c3SFrank Wang			snps,dis_enblslpm_quirk;
441fa5e2d16SMengDongyang			snps,dis-u2-freeclk-exists-quirk;
4420162d8c3SFrank Wang			snps,dis_u2_susphy_quirk;
4430162d8c3SFrank Wang			snps,dis-del-phy-power-chg-quirk;
4440162d8c3SFrank Wang			snps,tx-ipgap-linecheck-dis-quirk;
4450162d8c3SFrank Wang			snps,xhci-slow-suspend-quirk;
4460162d8c3SFrank Wang			snps,xhci-trb-ent-quirk;
4470162d8c3SFrank Wang			snps,usb3-warm-reset-on-resume-quirk;
4480162d8c3SFrank Wang			status = "disabled";
449fa5e2d16SMengDongyang		};
450fa5e2d16SMengDongyang	};
451fa5e2d16SMengDongyang
452777c834fSKever Yang	gic: interrupt-controller@fee00000 {
453777c834fSKever Yang		compatible = "arm,gic-v3";
454dde22233SKever Yang		#interrupt-cells = <4>;
455777c834fSKever Yang		#address-cells = <2>;
456777c834fSKever Yang		#size-cells = <2>;
457777c834fSKever Yang		ranges;
458777c834fSKever Yang		interrupt-controller;
459777c834fSKever Yang
460777c834fSKever Yang		reg = <0x0 0xfee00000 0 0x10000>, /* GICD */
461777c834fSKever Yang		      <0x0 0xfef00000 0 0xc0000>, /* GICR */
462777c834fSKever Yang		      <0x0 0xfff00000 0 0x10000>, /* GICC */
463777c834fSKever Yang		      <0x0 0xfff10000 0 0x10000>, /* GICH */
464777c834fSKever Yang		      <0x0 0xfff20000 0 0x10000>; /* GICV */
465dde22233SKever Yang		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
466777c834fSKever Yang		its: interrupt-controller@fee20000 {
467777c834fSKever Yang			compatible = "arm,gic-v3-its";
468777c834fSKever Yang			msi-controller;
469777c834fSKever Yang			reg = <0x0 0xfee20000 0x0 0x20000>;
470777c834fSKever Yang		};
471dde22233SKever Yang
472dde22233SKever Yang		ppi-partitions {
473dde22233SKever Yang			ppi_cluster0: interrupt-partition-0 {
474dde22233SKever Yang				affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
475dde22233SKever Yang			};
476dde22233SKever Yang
477dde22233SKever Yang			ppi_cluster1: interrupt-partition-1 {
478dde22233SKever Yang				affinity = <&cpu_b0 &cpu_b1>;
479dde22233SKever Yang			};
480dde22233SKever Yang		};
481dde22233SKever Yang	};
482dde22233SKever Yang
483dde22233SKever Yang	saradc: saradc@ff100000 {
484dde22233SKever Yang		compatible = "rockchip,rk3399-saradc";
485dde22233SKever Yang		reg = <0x0 0xff100000 0x0 0x100>;
486dde22233SKever Yang		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH 0>;
487dde22233SKever Yang		#io-channel-cells = <1>;
488dde22233SKever Yang		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
489dde22233SKever Yang		clock-names = "saradc", "apb_pclk";
490dde22233SKever Yang		resets = <&cru SRST_P_SARADC>;
491dde22233SKever Yang		reset-names = "saradc-apb";
492dde22233SKever Yang		status = "disabled";
493dde22233SKever Yang	};
494dde22233SKever Yang
495dde22233SKever Yang	i2c1: i2c@ff110000 {
496dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
497dde22233SKever Yang		reg = <0x0 0xff110000 0x0 0x1000>;
498dde22233SKever Yang		assigned-clocks = <&cru SCLK_I2C1>;
499dde22233SKever Yang		assigned-clock-rates = <200000000>;
500dde22233SKever Yang		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
501dde22233SKever Yang		clock-names = "i2c", "pclk";
502dde22233SKever Yang		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 0>;
503dde22233SKever Yang		pinctrl-names = "default";
504dde22233SKever Yang		pinctrl-0 = <&i2c1_xfer>;
505dde22233SKever Yang		#address-cells = <1>;
506dde22233SKever Yang		#size-cells = <0>;
507dde22233SKever Yang		status = "disabled";
508dde22233SKever Yang	};
509dde22233SKever Yang
510dde22233SKever Yang	i2c2: i2c@ff120000 {
511dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
512dde22233SKever Yang		reg = <0x0 0xff120000 0x0 0x1000>;
513dde22233SKever Yang		assigned-clocks = <&cru SCLK_I2C2>;
514dde22233SKever Yang		assigned-clock-rates = <200000000>;
515dde22233SKever Yang		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
516dde22233SKever Yang		clock-names = "i2c", "pclk";
517dde22233SKever Yang		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH 0>;
518dde22233SKever Yang		pinctrl-names = "default";
519dde22233SKever Yang		pinctrl-0 = <&i2c2_xfer>;
520dde22233SKever Yang		#address-cells = <1>;
521dde22233SKever Yang		#size-cells = <0>;
522dde22233SKever Yang		status = "disabled";
523dde22233SKever Yang	};
524dde22233SKever Yang
525dde22233SKever Yang	i2c3: i2c@ff130000 {
526dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
527dde22233SKever Yang		reg = <0x0 0xff130000 0x0 0x1000>;
528dde22233SKever Yang		assigned-clocks = <&cru SCLK_I2C3>;
529dde22233SKever Yang		assigned-clock-rates = <200000000>;
530dde22233SKever Yang		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
531dde22233SKever Yang		clock-names = "i2c", "pclk";
532dde22233SKever Yang		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH 0>;
533dde22233SKever Yang		pinctrl-names = "default";
534dde22233SKever Yang		pinctrl-0 = <&i2c3_xfer>;
535dde22233SKever Yang		#address-cells = <1>;
536dde22233SKever Yang		#size-cells = <0>;
537dde22233SKever Yang		status = "disabled";
538dde22233SKever Yang	};
539dde22233SKever Yang
540dde22233SKever Yang	i2c5: i2c@ff140000 {
541dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
542dde22233SKever Yang		reg = <0x0 0xff140000 0x0 0x1000>;
543dde22233SKever Yang		assigned-clocks = <&cru SCLK_I2C5>;
544dde22233SKever Yang		assigned-clock-rates = <200000000>;
545dde22233SKever Yang		clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>;
546dde22233SKever Yang		clock-names = "i2c", "pclk";
547dde22233SKever Yang		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>;
548dde22233SKever Yang		pinctrl-names = "default";
549dde22233SKever Yang		pinctrl-0 = <&i2c5_xfer>;
550dde22233SKever Yang		#address-cells = <1>;
551dde22233SKever Yang		#size-cells = <0>;
552dde22233SKever Yang		status = "disabled";
553dde22233SKever Yang	};
554dde22233SKever Yang
555dde22233SKever Yang	i2c6: i2c@ff150000 {
556dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
557dde22233SKever Yang		reg = <0x0 0xff150000 0x0 0x1000>;
558dde22233SKever Yang		assigned-clocks = <&cru SCLK_I2C6>;
559dde22233SKever Yang		assigned-clock-rates = <200000000>;
560dde22233SKever Yang		clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>;
561dde22233SKever Yang		clock-names = "i2c", "pclk";
562dde22233SKever Yang		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH 0>;
563dde22233SKever Yang		pinctrl-names = "default";
564dde22233SKever Yang		pinctrl-0 = <&i2c6_xfer>;
565dde22233SKever Yang		#address-cells = <1>;
566dde22233SKever Yang		#size-cells = <0>;
567dde22233SKever Yang		status = "disabled";
568dde22233SKever Yang	};
569dde22233SKever Yang
570dde22233SKever Yang	i2c7: i2c@ff160000 {
571dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
572dde22233SKever Yang		reg = <0x0 0xff160000 0x0 0x1000>;
573dde22233SKever Yang		assigned-clocks = <&cru SCLK_I2C7>;
574dde22233SKever Yang		assigned-clock-rates = <200000000>;
575dde22233SKever Yang		clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>;
576dde22233SKever Yang		clock-names = "i2c", "pclk";
577dde22233SKever Yang		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>;
578dde22233SKever Yang		pinctrl-names = "default";
579dde22233SKever Yang		pinctrl-0 = <&i2c7_xfer>;
580dde22233SKever Yang		#address-cells = <1>;
581dde22233SKever Yang		#size-cells = <0>;
582dde22233SKever Yang		status = "disabled";
583777c834fSKever Yang	};
584777c834fSKever Yang
585777c834fSKever Yang	uart0: serial@ff180000 {
586777c834fSKever Yang		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
587777c834fSKever Yang		reg = <0x0 0xff180000 0x0 0x100>;
588777c834fSKever Yang		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
589777c834fSKever Yang		clock-names = "baudclk", "apb_pclk";
590dde22233SKever Yang		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
591777c834fSKever Yang		reg-shift = <2>;
592777c834fSKever Yang		reg-io-width = <4>;
593777c834fSKever Yang		pinctrl-names = "default";
594777c834fSKever Yang		pinctrl-0 = <&uart0_xfer>;
595777c834fSKever Yang		status = "disabled";
596777c834fSKever Yang	};
597777c834fSKever Yang
598777c834fSKever Yang	uart1: serial@ff190000 {
599777c834fSKever Yang		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
600777c834fSKever Yang		reg = <0x0 0xff190000 0x0 0x100>;
601777c834fSKever Yang		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
602777c834fSKever Yang		clock-names = "baudclk", "apb_pclk";
603dde22233SKever Yang		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>;
604777c834fSKever Yang		reg-shift = <2>;
605777c834fSKever Yang		reg-io-width = <4>;
606777c834fSKever Yang		pinctrl-names = "default";
607777c834fSKever Yang		pinctrl-0 = <&uart1_xfer>;
608777c834fSKever Yang		status = "disabled";
609777c834fSKever Yang	};
610777c834fSKever Yang
611777c834fSKever Yang	uart2: serial@ff1a0000 {
612777c834fSKever Yang		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
613777c834fSKever Yang		reg = <0x0 0xff1a0000 0x0 0x100>;
614777c834fSKever Yang		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
615777c834fSKever Yang		clock-names = "baudclk", "apb_pclk";
616dde22233SKever Yang		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>;
617777c834fSKever Yang		clock-frequency = <24000000>;
618777c834fSKever Yang		reg-shift = <2>;
619777c834fSKever Yang		reg-io-width = <4>;
620777c834fSKever Yang		pinctrl-names = "default";
621777c834fSKever Yang		pinctrl-0 = <&uart2c_xfer>;
622777c834fSKever Yang		status = "disabled";
623777c834fSKever Yang	};
624777c834fSKever Yang
625777c834fSKever Yang	uart3: serial@ff1b0000 {
626777c834fSKever Yang		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
627777c834fSKever Yang		reg = <0x0 0xff1b0000 0x0 0x100>;
628777c834fSKever Yang		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
629777c834fSKever Yang		clock-names = "baudclk", "apb_pclk";
630dde22233SKever Yang		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>;
631777c834fSKever Yang		reg-shift = <2>;
632777c834fSKever Yang		reg-io-width = <4>;
633777c834fSKever Yang		pinctrl-names = "default";
634777c834fSKever Yang		pinctrl-0 = <&uart3_xfer>;
635777c834fSKever Yang		status = "disabled";
636777c834fSKever Yang	};
637777c834fSKever Yang
638777c834fSKever Yang	spi0: spi@ff1c0000 {
639777c834fSKever Yang		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
640777c834fSKever Yang		reg = <0x0 0xff1c0000 0x0 0x1000>;
641777c834fSKever Yang		clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
642777c834fSKever Yang		clock-names = "spiclk", "apb_pclk";
643dde22233SKever Yang		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH 0>;
644777c834fSKever Yang		pinctrl-names = "default";
645777c834fSKever Yang		pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
646777c834fSKever Yang		#address-cells = <1>;
647777c834fSKever Yang		#size-cells = <0>;
648777c834fSKever Yang		status = "disabled";
649777c834fSKever Yang	};
650777c834fSKever Yang
651777c834fSKever Yang	spi1: spi@ff1d0000 {
652777c834fSKever Yang		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
653777c834fSKever Yang		reg = <0x0 0xff1d0000 0x0 0x1000>;
654777c834fSKever Yang		clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
655777c834fSKever Yang		clock-names = "spiclk", "apb_pclk";
656dde22233SKever Yang		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>;
657777c834fSKever Yang		pinctrl-names = "default";
658777c834fSKever Yang		pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
659777c834fSKever Yang		#address-cells = <1>;
660777c834fSKever Yang		#size-cells = <0>;
661777c834fSKever Yang		status = "disabled";
662777c834fSKever Yang	};
663777c834fSKever Yang
664777c834fSKever Yang	spi2: spi@ff1e0000 {
665777c834fSKever Yang		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
666777c834fSKever Yang		reg = <0x0 0xff1e0000 0x0 0x1000>;
667777c834fSKever Yang		clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
668777c834fSKever Yang		clock-names = "spiclk", "apb_pclk";
669dde22233SKever Yang		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>;
670777c834fSKever Yang		pinctrl-names = "default";
671777c834fSKever Yang		pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
672777c834fSKever Yang		#address-cells = <1>;
673777c834fSKever Yang		#size-cells = <0>;
674777c834fSKever Yang		status = "disabled";
675777c834fSKever Yang	};
676777c834fSKever Yang
677777c834fSKever Yang	spi4: spi@ff1f0000 {
678777c834fSKever Yang		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
679777c834fSKever Yang		reg = <0x0 0xff1f0000 0x0 0x1000>;
680777c834fSKever Yang		clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>;
681777c834fSKever Yang		clock-names = "spiclk", "apb_pclk";
682dde22233SKever Yang		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH 0>;
683777c834fSKever Yang		pinctrl-names = "default";
684777c834fSKever Yang		pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>;
685777c834fSKever Yang		#address-cells = <1>;
686777c834fSKever Yang		#size-cells = <0>;
687777c834fSKever Yang		status = "disabled";
688777c834fSKever Yang	};
689777c834fSKever Yang
690777c834fSKever Yang	spi5: spi@ff200000 {
691777c834fSKever Yang		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
692777c834fSKever Yang		reg = <0x0 0xff200000 0x0 0x1000>;
693777c834fSKever Yang		clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>;
694777c834fSKever Yang		clock-names = "spiclk", "apb_pclk";
695dde22233SKever Yang		interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH 0>;
696777c834fSKever Yang		pinctrl-names = "default";
697777c834fSKever Yang		pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
698777c834fSKever Yang		#address-cells = <1>;
699777c834fSKever Yang		#size-cells = <0>;
700777c834fSKever Yang		status = "disabled";
701777c834fSKever Yang	};
702777c834fSKever Yang
703dde22233SKever Yang	thermal_zones: thermal-zones {
704dde22233SKever Yang		cpu_thermal: cpu {
705dde22233SKever Yang			polling-delay-passive = <100>;
706dde22233SKever Yang			polling-delay = <1000>;
707dde22233SKever Yang
708dde22233SKever Yang			thermal-sensors = <&tsadc 0>;
709dde22233SKever Yang
710dde22233SKever Yang			trips {
711dde22233SKever Yang				cpu_alert0: cpu_alert0 {
712dde22233SKever Yang					temperature = <70000>;
713dde22233SKever Yang					hysteresis = <2000>;
714dde22233SKever Yang					type = "passive";
715dde22233SKever Yang				};
716dde22233SKever Yang				cpu_alert1: cpu_alert1 {
717dde22233SKever Yang					temperature = <75000>;
718dde22233SKever Yang					hysteresis = <2000>;
719dde22233SKever Yang					type = "passive";
720dde22233SKever Yang				};
721dde22233SKever Yang				cpu_crit: cpu_crit {
722dde22233SKever Yang					temperature = <95000>;
723dde22233SKever Yang					hysteresis = <2000>;
724dde22233SKever Yang					type = "critical";
725dde22233SKever Yang				};
726dde22233SKever Yang			};
727dde22233SKever Yang
728dde22233SKever Yang			cooling-maps {
729dde22233SKever Yang				map0 {
730dde22233SKever Yang					trip = <&cpu_alert0>;
731dde22233SKever Yang					cooling-device =
732dde22233SKever Yang						<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
733dde22233SKever Yang				};
734dde22233SKever Yang				map1 {
735dde22233SKever Yang					trip = <&cpu_alert1>;
736dde22233SKever Yang					cooling-device =
737dde22233SKever Yang						<&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
738dde22233SKever Yang						<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
739dde22233SKever Yang				};
740dde22233SKever Yang			};
741dde22233SKever Yang		};
742dde22233SKever Yang
743dde22233SKever Yang		gpu_thermal: gpu {
744dde22233SKever Yang			polling-delay-passive = <100>;
745dde22233SKever Yang			polling-delay = <1000>;
746dde22233SKever Yang
747dde22233SKever Yang			thermal-sensors = <&tsadc 1>;
748dde22233SKever Yang
749dde22233SKever Yang			trips {
750dde22233SKever Yang				gpu_alert0: gpu_alert0 {
751dde22233SKever Yang					temperature = <75000>;
752dde22233SKever Yang					hysteresis = <2000>;
753dde22233SKever Yang					type = "passive";
754dde22233SKever Yang				};
755dde22233SKever Yang				gpu_crit: gpu_crit {
756dde22233SKever Yang					temperature = <95000>;
757dde22233SKever Yang					hysteresis = <2000>;
758dde22233SKever Yang					type = "critical";
759dde22233SKever Yang				};
760dde22233SKever Yang			};
761dde22233SKever Yang
762dde22233SKever Yang			cooling-maps {
763dde22233SKever Yang				map0 {
764dde22233SKever Yang					trip = <&gpu_alert0>;
765dde22233SKever Yang					cooling-device =
766dde22233SKever Yang						<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
767dde22233SKever Yang				};
768dde22233SKever Yang			};
769dde22233SKever Yang		};
770dde22233SKever Yang	};
771dde22233SKever Yang
772dde22233SKever Yang	tsadc: tsadc@ff260000 {
773dde22233SKever Yang		compatible = "rockchip,rk3399-tsadc";
774dde22233SKever Yang		reg = <0x0 0xff260000 0x0 0x100>;
775dde22233SKever Yang		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
776dde22233SKever Yang		assigned-clocks = <&cru SCLK_TSADC>;
777dde22233SKever Yang		assigned-clock-rates = <750000>;
778dde22233SKever Yang		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
779dde22233SKever Yang		clock-names = "tsadc", "apb_pclk";
780dde22233SKever Yang		resets = <&cru SRST_TSADC>;
781dde22233SKever Yang		reset-names = "tsadc-apb";
782dde22233SKever Yang		rockchip,grf = <&grf>;
783dde22233SKever Yang		rockchip,hw-tshut-temp = <95000>;
784dde22233SKever Yang		pinctrl-names = "init", "default", "sleep";
785dde22233SKever Yang		pinctrl-0 = <&otp_gpio>;
786dde22233SKever Yang		pinctrl-1 = <&otp_out>;
787dde22233SKever Yang		pinctrl-2 = <&otp_gpio>;
788dde22233SKever Yang		#thermal-sensor-cells = <1>;
789dde22233SKever Yang		status = "disabled";
790dde22233SKever Yang	};
791dde22233SKever Yang
792dde22233SKever Yang	qos_emmc: qos@ffa58000 {
793dde22233SKever Yang		compatible = "syscon";
794dde22233SKever Yang		reg = <0x0 0xffa58000 0x0 0x20>;
795dde22233SKever Yang	};
796dde22233SKever Yang
797dde22233SKever Yang	qos_gmac: qos@ffa5c000 {
798dde22233SKever Yang		compatible = "syscon";
799dde22233SKever Yang		reg = <0x0 0xffa5c000 0x0 0x20>;
800dde22233SKever Yang	};
801dde22233SKever Yang
802dde22233SKever Yang	qos_pcie: qos@ffa60080 {
803dde22233SKever Yang		compatible = "syscon";
804dde22233SKever Yang		reg = <0x0 0xffa60080 0x0 0x20>;
805dde22233SKever Yang	};
806dde22233SKever Yang
807dde22233SKever Yang	qos_usb_host0: qos@ffa60100 {
808dde22233SKever Yang		compatible = "syscon";
809dde22233SKever Yang		reg = <0x0 0xffa60100 0x0 0x20>;
810dde22233SKever Yang	};
811dde22233SKever Yang
812dde22233SKever Yang	qos_usb_host1: qos@ffa60180 {
813dde22233SKever Yang		compatible = "syscon";
814dde22233SKever Yang		reg = <0x0 0xffa60180 0x0 0x20>;
815dde22233SKever Yang	};
816dde22233SKever Yang
817dde22233SKever Yang	qos_usb_otg0: qos@ffa70000 {
818dde22233SKever Yang		compatible = "syscon";
819dde22233SKever Yang		reg = <0x0 0xffa70000 0x0 0x20>;
820dde22233SKever Yang	};
821dde22233SKever Yang
822dde22233SKever Yang	qos_usb_otg1: qos@ffa70080 {
823dde22233SKever Yang		compatible = "syscon";
824dde22233SKever Yang		reg = <0x0 0xffa70080 0x0 0x20>;
825dde22233SKever Yang	};
826dde22233SKever Yang
827dde22233SKever Yang	qos_sd: qos@ffa74000 {
828dde22233SKever Yang		compatible = "syscon";
829dde22233SKever Yang		reg = <0x0 0xffa74000 0x0 0x20>;
830dde22233SKever Yang	};
831dde22233SKever Yang
832dde22233SKever Yang	qos_sdioaudio: qos@ffa76000 {
833dde22233SKever Yang		compatible = "syscon";
834dde22233SKever Yang		reg = <0x0 0xffa76000 0x0 0x20>;
835dde22233SKever Yang	};
836dde22233SKever Yang
837dde22233SKever Yang	qos_hdcp: qos@ffa90000 {
838dde22233SKever Yang		compatible = "syscon";
839dde22233SKever Yang		reg = <0x0 0xffa90000 0x0 0x20>;
840dde22233SKever Yang	};
841dde22233SKever Yang
842dde22233SKever Yang	qos_iep: qos@ffa98000 {
843dde22233SKever Yang		compatible = "syscon";
844dde22233SKever Yang		reg = <0x0 0xffa98000 0x0 0x20>;
845dde22233SKever Yang	};
846dde22233SKever Yang
847dde22233SKever Yang	qos_isp0_m0: qos@ffaa0000 {
848dde22233SKever Yang		compatible = "syscon";
849dde22233SKever Yang		reg = <0x0 0xffaa0000 0x0 0x20>;
850dde22233SKever Yang	};
851dde22233SKever Yang
852dde22233SKever Yang	qos_isp0_m1: qos@ffaa0080 {
853dde22233SKever Yang		compatible = "syscon";
854dde22233SKever Yang		reg = <0x0 0xffaa0080 0x0 0x20>;
855dde22233SKever Yang	};
856dde22233SKever Yang
857dde22233SKever Yang	qos_isp1_m0: qos@ffaa8000 {
858dde22233SKever Yang		compatible = "syscon";
859dde22233SKever Yang		reg = <0x0 0xffaa8000 0x0 0x20>;
860dde22233SKever Yang	};
861dde22233SKever Yang
862dde22233SKever Yang	qos_isp1_m1: qos@ffaa8080 {
863dde22233SKever Yang		compatible = "syscon";
864dde22233SKever Yang		reg = <0x0 0xffaa8080 0x0 0x20>;
865dde22233SKever Yang	};
866dde22233SKever Yang
867dde22233SKever Yang	qos_rga_r: qos@ffab0000 {
868dde22233SKever Yang		compatible = "syscon";
869dde22233SKever Yang		reg = <0x0 0xffab0000 0x0 0x20>;
870dde22233SKever Yang	};
871dde22233SKever Yang
872dde22233SKever Yang	qos_rga_w: qos@ffab0080 {
873dde22233SKever Yang		compatible = "syscon";
874dde22233SKever Yang		reg = <0x0 0xffab0080 0x0 0x20>;
875dde22233SKever Yang	};
876dde22233SKever Yang
877dde22233SKever Yang	qos_video_m0: qos@ffab8000 {
878dde22233SKever Yang		compatible = "syscon";
879dde22233SKever Yang		reg = <0x0 0xffab8000 0x0 0x20>;
880dde22233SKever Yang	};
881dde22233SKever Yang
882dde22233SKever Yang	qos_video_m1_r: qos@ffac0000 {
883dde22233SKever Yang		compatible = "syscon";
884dde22233SKever Yang		reg = <0x0 0xffac0000 0x0 0x20>;
885dde22233SKever Yang	};
886dde22233SKever Yang
887dde22233SKever Yang	qos_video_m1_w: qos@ffac0080 {
888dde22233SKever Yang		compatible = "syscon";
889dde22233SKever Yang		reg = <0x0 0xffac0080 0x0 0x20>;
890dde22233SKever Yang	};
891dde22233SKever Yang
892dde22233SKever Yang	qos_vop_big_r: qos@ffac8000 {
893dde22233SKever Yang		compatible = "syscon";
894dde22233SKever Yang		reg = <0x0 0xffac8000 0x0 0x20>;
895dde22233SKever Yang	};
896dde22233SKever Yang
897dde22233SKever Yang	qos_vop_big_w: qos@ffac8080 {
898dde22233SKever Yang		compatible = "syscon";
899dde22233SKever Yang		reg = <0x0 0xffac8080 0x0 0x20>;
900dde22233SKever Yang	};
901dde22233SKever Yang
902dde22233SKever Yang	qos_vop_little: qos@ffad0000 {
903dde22233SKever Yang		compatible = "syscon";
904dde22233SKever Yang		reg = <0x0 0xffad0000 0x0 0x20>;
905dde22233SKever Yang	};
906dde22233SKever Yang
907dde22233SKever Yang	qos_perihp: qos@ffad8080 {
908dde22233SKever Yang		compatible = "syscon";
909dde22233SKever Yang		reg = <0x0 0xffad8080 0x0 0x20>;
910dde22233SKever Yang	};
911dde22233SKever Yang
912dde22233SKever Yang	qos_gpu: qos@ffae0000 {
913dde22233SKever Yang		compatible = "syscon";
914dde22233SKever Yang		reg = <0x0 0xffae0000 0x0 0x20>;
915dde22233SKever Yang	};
916dde22233SKever Yang
917dde22233SKever Yang	pmu: power-management@ff310000 {
918dde22233SKever Yang		compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
919dde22233SKever Yang		reg = <0x0 0xff310000 0x0 0x1000>;
920dde22233SKever Yang
921dde22233SKever Yang		/*
922dde22233SKever Yang		 * Note: RK3399 supports 6 voltage domains including VD_CORE_L,
923dde22233SKever Yang		 * VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU.
924dde22233SKever Yang		 * Some of the power domains are grouped together for every
925dde22233SKever Yang		 * voltage domain.
926dde22233SKever Yang		 * The detail contents as below.
927dde22233SKever Yang		 */
928dde22233SKever Yang		power: power-controller {
929dde22233SKever Yang			compatible = "rockchip,rk3399-power-controller";
930dde22233SKever Yang			#power-domain-cells = <1>;
931dde22233SKever Yang			#address-cells = <1>;
932dde22233SKever Yang			#size-cells = <0>;
933dde22233SKever Yang
934dde22233SKever Yang			/* These power domains are grouped by VD_CENTER */
935dde22233SKever Yang			pd_iep@RK3399_PD_IEP {
936dde22233SKever Yang				reg = <RK3399_PD_IEP>;
937dde22233SKever Yang				clocks = <&cru ACLK_IEP>,
938dde22233SKever Yang					 <&cru HCLK_IEP>;
939dde22233SKever Yang				pm_qos = <&qos_iep>;
940dde22233SKever Yang			};
941dde22233SKever Yang			pd_rga@RK3399_PD_RGA {
942dde22233SKever Yang				reg = <RK3399_PD_RGA>;
943dde22233SKever Yang				clocks = <&cru ACLK_RGA>,
944dde22233SKever Yang					 <&cru HCLK_RGA>;
945dde22233SKever Yang				pm_qos = <&qos_rga_r>,
946dde22233SKever Yang					 <&qos_rga_w>;
947dde22233SKever Yang			};
948dde22233SKever Yang			pd_vcodec@RK3399_PD_VCODEC {
949dde22233SKever Yang				reg = <RK3399_PD_VCODEC>;
950dde22233SKever Yang				clocks = <&cru ACLK_VCODEC>,
951dde22233SKever Yang					 <&cru HCLK_VCODEC>;
952dde22233SKever Yang				pm_qos = <&qos_video_m0>;
953dde22233SKever Yang			};
954dde22233SKever Yang			pd_vdu@RK3399_PD_VDU {
955dde22233SKever Yang				reg = <RK3399_PD_VDU>;
956dde22233SKever Yang				clocks = <&cru ACLK_VDU>,
957dde22233SKever Yang					 <&cru HCLK_VDU>;
958dde22233SKever Yang				pm_qos = <&qos_video_m1_r>,
959dde22233SKever Yang					 <&qos_video_m1_w>;
960dde22233SKever Yang			};
961dde22233SKever Yang
962dde22233SKever Yang			/* These power domains are grouped by VD_GPU */
963dde22233SKever Yang			pd_gpu@RK3399_PD_GPU {
964dde22233SKever Yang				reg = <RK3399_PD_GPU>;
965dde22233SKever Yang				clocks = <&cru ACLK_GPU>;
966dde22233SKever Yang				pm_qos = <&qos_gpu>;
967dde22233SKever Yang			};
968dde22233SKever Yang
969dde22233SKever Yang			/* These power domains are grouped by VD_LOGIC */
970dde22233SKever Yang			pd_edp@RK3399_PD_EDP {
971dde22233SKever Yang				reg = <RK3399_PD_EDP>;
972dde22233SKever Yang				clocks = <&cru PCLK_EDP_CTRL>;
973dde22233SKever Yang			};
974dde22233SKever Yang			pd_emmc@RK3399_PD_EMMC {
975dde22233SKever Yang				reg = <RK3399_PD_EMMC>;
976dde22233SKever Yang				clocks = <&cru ACLK_EMMC>;
977dde22233SKever Yang				pm_qos = <&qos_emmc>;
978dde22233SKever Yang			};
979dde22233SKever Yang			pd_gmac@RK3399_PD_GMAC {
980dde22233SKever Yang				reg = <RK3399_PD_GMAC>;
981dde22233SKever Yang				clocks = <&cru ACLK_GMAC>,
982dde22233SKever Yang					 <&cru PCLK_GMAC>;
983dde22233SKever Yang				pm_qos = <&qos_gmac>;
984dde22233SKever Yang			};
985dde22233SKever Yang			pd_perihp@RK3399_PD_PERIHP {
986dde22233SKever Yang				reg = <RK3399_PD_PERIHP>;
987dde22233SKever Yang				#address-cells = <1>;
988dde22233SKever Yang				#size-cells = <0>;
989dde22233SKever Yang				clocks = <&cru ACLK_PERIHP>;
990dde22233SKever Yang				pm_qos = <&qos_perihp>,
991dde22233SKever Yang					 <&qos_pcie>,
992dde22233SKever Yang					 <&qos_usb_host0>,
993dde22233SKever Yang					 <&qos_usb_host1>;
994dde22233SKever Yang
995dde22233SKever Yang				pd_sd@RK3399_PD_SD {
996dde22233SKever Yang					reg = <RK3399_PD_SD>;
997dde22233SKever Yang					clocks = <&cru HCLK_SDMMC>,
998dde22233SKever Yang						 <&cru SCLK_SDMMC>;
999dde22233SKever Yang					pm_qos = <&qos_sd>;
1000dde22233SKever Yang				};
1001dde22233SKever Yang			};
1002dde22233SKever Yang			pd_sdioaudio@RK3399_PD_SDIOAUDIO {
1003dde22233SKever Yang				reg = <RK3399_PD_SDIOAUDIO>;
1004dde22233SKever Yang				clocks = <&cru HCLK_SDIO>;
1005dde22233SKever Yang				pm_qos = <&qos_sdioaudio>;
1006dde22233SKever Yang			};
1007dde22233SKever Yang			pd_usb3@RK3399_PD_USB3 {
1008dde22233SKever Yang				reg = <RK3399_PD_USB3>;
1009dde22233SKever Yang				clocks = <&cru ACLK_USB3>;
1010dde22233SKever Yang				pm_qos = <&qos_usb_otg0>,
1011dde22233SKever Yang					 <&qos_usb_otg1>;
1012dde22233SKever Yang			};
1013dde22233SKever Yang			pd_vio@RK3399_PD_VIO {
1014dde22233SKever Yang				reg = <RK3399_PD_VIO>;
1015dde22233SKever Yang				#address-cells = <1>;
1016dde22233SKever Yang				#size-cells = <0>;
1017dde22233SKever Yang
1018dde22233SKever Yang				pd_hdcp@RK3399_PD_HDCP {
1019dde22233SKever Yang					reg = <RK3399_PD_HDCP>;
1020dde22233SKever Yang					clocks = <&cru ACLK_HDCP>,
1021dde22233SKever Yang						 <&cru HCLK_HDCP>,
1022dde22233SKever Yang						 <&cru PCLK_HDCP>;
1023dde22233SKever Yang					pm_qos = <&qos_hdcp>;
1024dde22233SKever Yang				};
1025dde22233SKever Yang				pd_isp0@RK3399_PD_ISP0 {
1026dde22233SKever Yang					reg = <RK3399_PD_ISP0>;
1027dde22233SKever Yang					clocks = <&cru ACLK_ISP0>,
1028dde22233SKever Yang						 <&cru HCLK_ISP0>;
1029dde22233SKever Yang					pm_qos = <&qos_isp0_m0>,
1030dde22233SKever Yang						 <&qos_isp0_m1>;
1031dde22233SKever Yang				};
1032dde22233SKever Yang				pd_isp1@RK3399_PD_ISP1 {
1033dde22233SKever Yang					reg = <RK3399_PD_ISP1>;
1034dde22233SKever Yang					clocks = <&cru ACLK_ISP1>,
1035dde22233SKever Yang						 <&cru HCLK_ISP1>;
1036dde22233SKever Yang					pm_qos = <&qos_isp1_m0>,
1037dde22233SKever Yang						 <&qos_isp1_m1>;
1038dde22233SKever Yang				};
1039dde22233SKever Yang				pd_tcpc0@RK3399_PD_TCPC0 {
1040dde22233SKever Yang					reg = <RK3399_PD_TCPD0>;
1041dde22233SKever Yang					clocks = <&cru SCLK_UPHY0_TCPDCORE>,
1042dde22233SKever Yang						 <&cru SCLK_UPHY0_TCPDPHY_REF>;
1043dde22233SKever Yang				};
1044dde22233SKever Yang				pd_tcpc1@RK3399_PD_TCPC1 {
1045dde22233SKever Yang					reg = <RK3399_PD_TCPD1>;
1046dde22233SKever Yang					clocks = <&cru SCLK_UPHY1_TCPDCORE>,
1047dde22233SKever Yang						 <&cru SCLK_UPHY1_TCPDPHY_REF>;
1048dde22233SKever Yang				};
1049dde22233SKever Yang				pd_vo@RK3399_PD_VO {
1050dde22233SKever Yang					reg = <RK3399_PD_VO>;
1051dde22233SKever Yang					#address-cells = <1>;
1052dde22233SKever Yang					#size-cells = <0>;
1053dde22233SKever Yang
1054dde22233SKever Yang					pd_vopb@RK3399_PD_VOPB {
1055dde22233SKever Yang						reg = <RK3399_PD_VOPB>;
1056dde22233SKever Yang						clocks = <&cru ACLK_VOP0>,
1057dde22233SKever Yang							 <&cru HCLK_VOP0>;
1058dde22233SKever Yang						pm_qos = <&qos_vop_big_r>,
1059dde22233SKever Yang							 <&qos_vop_big_w>;
1060dde22233SKever Yang					};
1061dde22233SKever Yang					pd_vopl@RK3399_PD_VOPL {
1062dde22233SKever Yang						reg = <RK3399_PD_VOPL>;
1063dde22233SKever Yang						clocks = <&cru ACLK_VOP1>,
1064dde22233SKever Yang							 <&cru HCLK_VOP1>;
1065dde22233SKever Yang						pm_qos = <&qos_vop_little>;
1066dde22233SKever Yang					};
1067dde22233SKever Yang				};
1068dde22233SKever Yang			};
1069dde22233SKever Yang		};
1070dde22233SKever Yang	};
1071dde22233SKever Yang
1072777c834fSKever Yang	pmugrf: syscon@ff320000 {
1073777c834fSKever Yang		compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
1074777c834fSKever Yang		reg = <0x0 0xff320000 0x0 0x1000>;
1075777c834fSKever Yang		#address-cells = <1>;
1076777c834fSKever Yang		#size-cells = <1>;
1077777c834fSKever Yang
1078777c834fSKever Yang		pmu_io_domains: io-domains {
1079777c834fSKever Yang			compatible = "rockchip,rk3399-pmu-io-voltage-domain";
1080777c834fSKever Yang			status = "disabled";
1081777c834fSKever Yang		};
1082777c834fSKever Yang	};
1083777c834fSKever Yang
1084a82426e0SKever Yang	pmusgrf: syscon@ff330000 {
1085a82426e0SKever Yang		compatible = "rockchip,rk3399-pmusgrf", "syscon";
1086a82426e0SKever Yang		reg = <0x0 0xff330000 0x0 0xe3d4>;
1087a82426e0SKever Yang	};
1088a82426e0SKever Yang
1089777c834fSKever Yang	spi3: spi@ff350000 {
1090777c834fSKever Yang		compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
1091777c834fSKever Yang		reg = <0x0 0xff350000 0x0 0x1000>;
1092777c834fSKever Yang		clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>;
1093777c834fSKever Yang		clock-names = "spiclk", "apb_pclk";
1094dde22233SKever Yang		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH 0>;
1095777c834fSKever Yang		pinctrl-names = "default";
1096777c834fSKever Yang		pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>;
1097777c834fSKever Yang		#address-cells = <1>;
1098777c834fSKever Yang		#size-cells = <0>;
1099777c834fSKever Yang		status = "disabled";
1100777c834fSKever Yang	};
1101777c834fSKever Yang
1102777c834fSKever Yang	uart4: serial@ff370000 {
1103777c834fSKever Yang		compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
1104777c834fSKever Yang		reg = <0x0 0xff370000 0x0 0x100>;
1105777c834fSKever Yang		clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>;
1106777c834fSKever Yang		clock-names = "baudclk", "apb_pclk";
1107dde22233SKever Yang		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>;
1108777c834fSKever Yang		reg-shift = <2>;
1109777c834fSKever Yang		reg-io-width = <4>;
1110777c834fSKever Yang		pinctrl-names = "default";
1111777c834fSKever Yang		pinctrl-0 = <&uart4_xfer>;
1112777c834fSKever Yang		status = "disabled";
1113777c834fSKever Yang	};
1114777c834fSKever Yang
1115dde22233SKever Yang	i2c4: i2c@ff3d0000 {
1116dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
1117dde22233SKever Yang		reg = <0x0 0xff3d0000 0x0 0x1000>;
1118dde22233SKever Yang		assigned-clocks = <&pmucru SCLK_I2C4_PMU>;
1119dde22233SKever Yang		assigned-clock-rates = <200000000>;
1120dde22233SKever Yang		clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>;
1121dde22233SKever Yang		clock-names = "i2c", "pclk";
1122dde22233SKever Yang		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH 0>;
1123dde22233SKever Yang		pinctrl-names = "default";
1124dde22233SKever Yang		pinctrl-0 = <&i2c4_xfer>;
1125dde22233SKever Yang		#address-cells = <1>;
1126dde22233SKever Yang		#size-cells = <0>;
1127dde22233SKever Yang		status = "disabled";
1128dde22233SKever Yang	};
1129dde22233SKever Yang
1130dde22233SKever Yang	i2c8: i2c@ff3e0000 {
1131dde22233SKever Yang		compatible = "rockchip,rk3399-i2c";
1132dde22233SKever Yang		reg = <0x0 0xff3e0000 0x0 0x1000>;
1133dde22233SKever Yang		assigned-clocks = <&pmucru SCLK_I2C8_PMU>;
1134dde22233SKever Yang		assigned-clock-rates = <200000000>;
1135dde22233SKever Yang		clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>;
1136dde22233SKever Yang		clock-names = "i2c", "pclk";
1137dde22233SKever Yang		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
1138dde22233SKever Yang		pinctrl-names = "default";
1139dde22233SKever Yang		pinctrl-0 = <&i2c8_xfer>;
1140dde22233SKever Yang		#address-cells = <1>;
1141dde22233SKever Yang		#size-cells = <0>;
1142dde22233SKever Yang		status = "disabled";
1143dde22233SKever Yang	};
1144dde22233SKever Yang
1145777c834fSKever Yang	pwm0: pwm@ff420000 {
1146777c834fSKever Yang		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1147777c834fSKever Yang		reg = <0x0 0xff420000 0x0 0x10>;
1148777c834fSKever Yang		#pwm-cells = <3>;
1149bab0c55cSDavid Wu		pinctrl-names = "active";
1150777c834fSKever Yang		pinctrl-0 = <&pwm0_pin>;
1151777c834fSKever Yang		clocks = <&pmucru PCLK_RKPWM_PMU>;
1152777c834fSKever Yang		clock-names = "pwm";
1153777c834fSKever Yang		status = "disabled";
1154777c834fSKever Yang	};
1155777c834fSKever Yang
1156777c834fSKever Yang	pwm1: pwm@ff420010 {
1157777c834fSKever Yang		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1158777c834fSKever Yang		reg = <0x0 0xff420010 0x0 0x10>;
1159777c834fSKever Yang		#pwm-cells = <3>;
1160bab0c55cSDavid Wu		pinctrl-names = "active";
1161777c834fSKever Yang		pinctrl-0 = <&pwm1_pin>;
1162777c834fSKever Yang		clocks = <&pmucru PCLK_RKPWM_PMU>;
1163777c834fSKever Yang		clock-names = "pwm";
1164777c834fSKever Yang		status = "disabled";
1165777c834fSKever Yang	};
1166777c834fSKever Yang
1167777c834fSKever Yang	pwm2: pwm@ff420020 {
1168777c834fSKever Yang		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1169777c834fSKever Yang		reg = <0x0 0xff420020 0x0 0x10>;
1170777c834fSKever Yang		#pwm-cells = <3>;
1171bab0c55cSDavid Wu		pinctrl-names = "active";
1172777c834fSKever Yang		pinctrl-0 = <&pwm2_pin>;
1173777c834fSKever Yang		clocks = <&pmucru PCLK_RKPWM_PMU>;
1174777c834fSKever Yang		clock-names = "pwm";
1175777c834fSKever Yang		status = "disabled";
1176777c834fSKever Yang	};
1177777c834fSKever Yang
1178777c834fSKever Yang	pwm3: pwm@ff420030 {
1179777c834fSKever Yang		compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1180777c834fSKever Yang		reg = <0x0 0xff420030 0x0 0x10>;
1181777c834fSKever Yang		#pwm-cells = <3>;
1182bab0c55cSDavid Wu		pinctrl-names = "active";
1183777c834fSKever Yang		pinctrl-0 = <&pwm3a_pin>;
1184777c834fSKever Yang		clocks = <&pmucru PCLK_RKPWM_PMU>;
1185777c834fSKever Yang		clock-names = "pwm";
1186777c834fSKever Yang		status = "disabled";
1187777c834fSKever Yang	};
1188777c834fSKever Yang
1189a82426e0SKever Yang	cic: syscon@ff620000 {
1190a82426e0SKever Yang		compatible = "rockchip,rk3399-cic", "syscon";
1191a82426e0SKever Yang		reg = <0x0 0xff620000 0x0 0x100>;
1192a82426e0SKever Yang	};
1193a82426e0SKever Yang
1194a82426e0SKever Yang	dfi: dfi@ff630000 {
1195a82426e0SKever Yang		reg = <0x00 0xff630000 0x00 0x4000>;
1196a82426e0SKever Yang		compatible = "rockchip,rk3399-dfi";
1197a82426e0SKever Yang		rockchip,pmu = <&pmugrf>;
1198a82426e0SKever Yang		clocks = <&cru PCLK_DDR_MON>;
1199a82426e0SKever Yang		clock-names = "pclk_ddr_mon";
1200a82426e0SKever Yang		status = "disabled";
1201a82426e0SKever Yang	};
1202a82426e0SKever Yang
1203a82426e0SKever Yang	dmc: dmc {
1204a82426e0SKever Yang		compatible = "rockchip,rk3399-dmc";
1205a82426e0SKever Yang		devfreq-events = <&dfi>;
1206a82426e0SKever Yang		interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 0>;
1207a82426e0SKever Yang		clocks = <&cru SCLK_DDRCLK>;
1208a82426e0SKever Yang		clock-names = "dmc_clk";
1209a82426e0SKever Yang		reg = <0x0 0xffa80000 0x0 0x0800
1210a82426e0SKever Yang		       0x0 0xffa80800 0x0 0x1800
1211a82426e0SKever Yang		       0x0 0xffa82000 0x0 0x2000
1212a82426e0SKever Yang		       0x0 0xffa84000 0x0 0x1000
1213a82426e0SKever Yang		       0x0 0xffa88000 0x0 0x0800
1214a82426e0SKever Yang		       0x0 0xffa88800 0x0 0x1800
1215a82426e0SKever Yang		       0x0 0xffa8a000 0x0 0x2000
1216a82426e0SKever Yang		       0x0 0xffa8c000 0x0 0x1000>;
1217a82426e0SKever Yang	};
1218a82426e0SKever Yang
1219dde22233SKever Yang	efuse0: efuse@ff690000 {
1220dde22233SKever Yang		compatible = "rockchip,rk3399-efuse";
1221dde22233SKever Yang		reg = <0x0 0xff690000 0x0 0x80>;
1222dde22233SKever Yang		#address-cells = <1>;
1223dde22233SKever Yang		#size-cells = <1>;
1224dde22233SKever Yang		clocks = <&cru PCLK_EFUSE1024NS>;
1225dde22233SKever Yang		clock-names = "pclk_efuse";
1226dde22233SKever Yang
1227dde22233SKever Yang		/* Data cells */
1228dde22233SKever Yang		cpu_id: cpu-id@7 {
1229dde22233SKever Yang			reg = <0x07 0x10>;
1230dde22233SKever Yang		};
1231dde22233SKever Yang		cpub_leakage: cpu-leakage@17 {
1232dde22233SKever Yang			reg = <0x17 0x1>;
1233dde22233SKever Yang		};
1234dde22233SKever Yang		gpu_leakage: gpu-leakage@18 {
1235dde22233SKever Yang			reg = <0x18 0x1>;
1236dde22233SKever Yang		};
1237dde22233SKever Yang		center_leakage: center-leakage@19 {
1238dde22233SKever Yang			reg = <0x19 0x1>;
1239dde22233SKever Yang		};
1240dde22233SKever Yang		cpul_leakage: cpu-leakage@1a {
1241dde22233SKever Yang			reg = <0x1a 0x1>;
1242dde22233SKever Yang		};
1243dde22233SKever Yang		logic_leakage: logic-leakage@1b {
1244dde22233SKever Yang			reg = <0x1b 0x1>;
1245dde22233SKever Yang		};
1246dde22233SKever Yang		wafer_info: wafer-info@1c {
1247dde22233SKever Yang			reg = <0x1c 0x1>;
1248dde22233SKever Yang		};
1249dde22233SKever Yang	};
1250dde22233SKever Yang
1251777c834fSKever Yang	pmucru: pmu-clock-controller@ff750000 {
1252777c834fSKever Yang		compatible = "rockchip,rk3399-pmucru";
1253777c834fSKever Yang		reg = <0x0 0xff750000 0x0 0x1000>;
1254dde22233SKever Yang		rockchip,grf = <&pmugrf>;
1255777c834fSKever Yang		#clock-cells = <1>;
1256777c834fSKever Yang		#reset-cells = <1>;
1257777c834fSKever Yang		assigned-clocks = <&pmucru PLL_PPLL>;
1258777c834fSKever Yang		assigned-clock-rates = <676000000>;
1259777c834fSKever Yang	};
1260777c834fSKever Yang
1261777c834fSKever Yang	cru: clock-controller@ff760000 {
1262777c834fSKever Yang		compatible = "rockchip,rk3399-cru";
1263777c834fSKever Yang		reg = <0x0 0xff760000 0x0 0x1000>;
1264dde22233SKever Yang		rockchip,grf = <&grf>;
1265777c834fSKever Yang		#clock-cells = <1>;
1266777c834fSKever Yang		#reset-cells = <1>;
1267777c834fSKever Yang		assigned-clocks =
1268777c834fSKever Yang			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
1269777c834fSKever Yang			<&cru PLL_NPLL>,
1270777c834fSKever Yang			<&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
1271777c834fSKever Yang			<&cru PCLK_PERIHP>,
1272777c834fSKever Yang			<&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
1273dde22233SKever Yang			<&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
1274777c834fSKever Yang			<&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>;
1275777c834fSKever Yang		assigned-clock-rates =
1276777c834fSKever Yang			 <594000000>,  <800000000>,
1277777c834fSKever Yang			<1000000000>,
1278777c834fSKever Yang			 <150000000>,   <75000000>,
1279777c834fSKever Yang			  <37500000>,
1280777c834fSKever Yang			 <100000000>,  <100000000>,
1281dde22233SKever Yang			  <50000000>, <600000000>,
1282777c834fSKever Yang			 <100000000>,   <50000000>;
1283777c834fSKever Yang	};
1284777c834fSKever Yang
1285777c834fSKever Yang	grf: syscon@ff770000 {
1286777c834fSKever Yang		compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
1287777c834fSKever Yang		reg = <0x0 0xff770000 0x0 0x10000>;
1288777c834fSKever Yang		#address-cells = <1>;
1289777c834fSKever Yang		#size-cells = <1>;
1290777c834fSKever Yang
1291777c834fSKever Yang		io_domains: io-domains {
1292777c834fSKever Yang			compatible = "rockchip,rk3399-io-voltage-domain";
1293777c834fSKever Yang			status = "disabled";
1294777c834fSKever Yang		};
1295777c834fSKever Yang
1296dde22233SKever Yang		u2phy0: usb2-phy@e450 {
1297dde22233SKever Yang			compatible = "rockchip,rk3399-usb2phy";
1298dde22233SKever Yang			reg = <0xe450 0x10>;
1299dde22233SKever Yang			clocks = <&cru SCLK_USB2PHY0_REF>;
1300dde22233SKever Yang			clock-names = "phyclk";
1301dde22233SKever Yang			#clock-cells = <0>;
1302dde22233SKever Yang			clock-output-names = "clk_usbphy0_480m";
1303dde22233SKever Yang			status = "disabled";
1304dde22233SKever Yang
1305dde22233SKever Yang			u2phy0_host: host-port {
1306dde22233SKever Yang				#phy-cells = <0>;
1307dde22233SKever Yang				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
1308dde22233SKever Yang				interrupt-names = "linestate";
1309dde22233SKever Yang				status = "disabled";
1310dde22233SKever Yang			};
1311dde22233SKever Yang
1312dde22233SKever Yang			u2phy0_otg: otg-port {
1313dde22233SKever Yang				#phy-cells = <0>;
1314dde22233SKever Yang				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
1315dde22233SKever Yang					     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
1316dde22233SKever Yang					     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
1317dde22233SKever Yang				interrupt-names = "otg-bvalid", "otg-id",
1318dde22233SKever Yang						  "linestate";
1319dde22233SKever Yang				status = "disabled";
1320dde22233SKever Yang			};
1321dde22233SKever Yang		};
1322dde22233SKever Yang
1323dde22233SKever Yang		u2phy1: usb2-phy@e460 {
1324dde22233SKever Yang			compatible = "rockchip,rk3399-usb2phy";
1325dde22233SKever Yang			reg = <0xe460 0x10>;
1326dde22233SKever Yang			clocks = <&cru SCLK_USB2PHY1_REF>;
1327dde22233SKever Yang			clock-names = "phyclk";
1328dde22233SKever Yang			#clock-cells = <0>;
1329dde22233SKever Yang			clock-output-names = "clk_usbphy1_480m";
1330dde22233SKever Yang			status = "disabled";
1331dde22233SKever Yang
1332dde22233SKever Yang			u2phy1_host: host-port {
1333dde22233SKever Yang				#phy-cells = <0>;
1334dde22233SKever Yang				interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>;
1335dde22233SKever Yang				interrupt-names = "linestate";
1336dde22233SKever Yang				status = "disabled";
1337dde22233SKever Yang			};
1338dde22233SKever Yang
1339dde22233SKever Yang			u2phy1_otg: otg-port {
1340dde22233SKever Yang				#phy-cells = <0>;
1341dde22233SKever Yang				interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>,
1342dde22233SKever Yang					     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>,
1343dde22233SKever Yang					     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>;
1344dde22233SKever Yang				interrupt-names = "otg-bvalid", "otg-id",
1345dde22233SKever Yang						  "linestate";
1346dde22233SKever Yang				status = "disabled";
1347dde22233SKever Yang			};
1348dde22233SKever Yang		};
1349dde22233SKever Yang
1350777c834fSKever Yang		emmc_phy: phy@f780 {
1351777c834fSKever Yang			compatible = "rockchip,rk3399-emmc-phy";
1352777c834fSKever Yang			reg = <0xf780 0x24>;
1353dde22233SKever Yang			clocks = <&sdhci>;
1354dde22233SKever Yang			clock-names = "emmcclk";
1355777c834fSKever Yang			#phy-cells = <0>;
1356777c834fSKever Yang			status = "disabled";
1357777c834fSKever Yang		};
1358777c834fSKever Yang
1359dde22233SKever Yang		pcie_phy: pcie-phy {
1360dde22233SKever Yang			compatible = "rockchip,rk3399-pcie-phy";
1361dde22233SKever Yang			clocks = <&cru SCLK_PCIEPHY_REF>;
1362dde22233SKever Yang			clock-names = "refclk";
1363dde22233SKever Yang			#phy-cells = <0>;
1364dde22233SKever Yang			resets = <&cru SRST_PCIEPHY>;
1365dde22233SKever Yang			reset-names = "phy";
1366ca0ab273SPhilipp Tomsich			status = "disabled";
1367ca0ab273SPhilipp Tomsich		};
1368dde22233SKever Yang	};
1369dde22233SKever Yang
13700162d8c3SFrank Wang	tcphy0: phy@ff7c0000 {
13710162d8c3SFrank Wang		compatible = "rockchip,rk3399-typec-phy";
13720162d8c3SFrank Wang		reg = <0x0 0xff7c0000 0x0 0x40000>;
13730162d8c3SFrank Wang		#phy-cells = <1>;
13740162d8c3SFrank Wang		clocks = <&cru SCLK_UPHY0_TCPDCORE>,
13750162d8c3SFrank Wang			 <&cru SCLK_UPHY0_TCPDPHY_REF>;
13760162d8c3SFrank Wang		clock-names = "tcpdcore", "tcpdphy-ref";
13770162d8c3SFrank Wang		assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>;
13780162d8c3SFrank Wang		assigned-clock-rates = <50000000>;
13790162d8c3SFrank Wang		power-domains = <&power RK3399_PD_TCPD0>;
13800162d8c3SFrank Wang		resets = <&cru SRST_UPHY0>,
13810162d8c3SFrank Wang			 <&cru SRST_UPHY0_PIPE_L00>,
13820162d8c3SFrank Wang			 <&cru SRST_P_UPHY0_TCPHY>;
13830162d8c3SFrank Wang		reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
13840162d8c3SFrank Wang		rockchip,grf = <&grf>;
13850162d8c3SFrank Wang		rockchip,typec-conn-dir = <0xe580 0 16>;
13860162d8c3SFrank Wang		rockchip,usb3tousb2-en = <0xe580 3 19>;
13870162d8c3SFrank Wang		rockchip,usb3-host-disable = <0x2434 0 16>;
13880162d8c3SFrank Wang		rockchip,usb3-host-port = <0x2434 12 28>;
13890162d8c3SFrank Wang		rockchip,external-psm = <0xe588 14 30>;
13900162d8c3SFrank Wang		rockchip,pipe-status = <0xe5c0 0 0>;
13910162d8c3SFrank Wang		rockchip,uphy-dp-sel = <0x6268 19 19>;
13920162d8c3SFrank Wang		status = "disabled";
13930162d8c3SFrank Wang
13940162d8c3SFrank Wang		tcphy0_dp: dp-port {
13950162d8c3SFrank Wang			#phy-cells = <0>;
13960162d8c3SFrank Wang		};
13970162d8c3SFrank Wang
13980162d8c3SFrank Wang		tcphy0_usb3: usb3-port {
13990162d8c3SFrank Wang			#phy-cells = <0>;
14000162d8c3SFrank Wang		};
14010162d8c3SFrank Wang	};
14020162d8c3SFrank Wang
14030162d8c3SFrank Wang	tcphy1: phy@ff800000 {
14040162d8c3SFrank Wang		compatible = "rockchip,rk3399-typec-phy";
14050162d8c3SFrank Wang		reg = <0x0 0xff800000 0x0 0x40000>;
14060162d8c3SFrank Wang		#phy-cells = <1>;
14070162d8c3SFrank Wang		clocks = <&cru SCLK_UPHY1_TCPDCORE>,
14080162d8c3SFrank Wang			 <&cru SCLK_UPHY1_TCPDPHY_REF>;
14090162d8c3SFrank Wang		clock-names = "tcpdcore", "tcpdphy-ref";
14100162d8c3SFrank Wang		assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>;
14110162d8c3SFrank Wang		assigned-clock-rates = <50000000>;
14120162d8c3SFrank Wang		power-domains = <&power RK3399_PD_TCPD1>;
14130162d8c3SFrank Wang		resets = <&cru SRST_UPHY1>,
14140162d8c3SFrank Wang			 <&cru SRST_UPHY1_PIPE_L00>,
14150162d8c3SFrank Wang			 <&cru SRST_P_UPHY1_TCPHY>;
14160162d8c3SFrank Wang		reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
14170162d8c3SFrank Wang		rockchip,grf = <&grf>;
14180162d8c3SFrank Wang		rockchip,typec-conn-dir = <0xe58c 0 16>;
14190162d8c3SFrank Wang		rockchip,usb3tousb2-en = <0xe58c 3 19>;
14200162d8c3SFrank Wang		rockchip,usb3-host-disable = <0x2444 0 16>;
14210162d8c3SFrank Wang		rockchip,usb3-host-port = <0x2444 12 28>;
14220162d8c3SFrank Wang		rockchip,external-psm = <0xe594 14 30>;
14230162d8c3SFrank Wang		rockchip,pipe-status = <0xe5c0 16 16>;
14240162d8c3SFrank Wang		rockchip,uphy-dp-sel = <0x6268 3 19>;
14250162d8c3SFrank Wang		status = "disabled";
14260162d8c3SFrank Wang
14270162d8c3SFrank Wang		tcphy1_dp: dp-port {
14280162d8c3SFrank Wang			#phy-cells = <0>;
14290162d8c3SFrank Wang		};
14300162d8c3SFrank Wang
14310162d8c3SFrank Wang		tcphy1_usb3: usb3-port {
14320162d8c3SFrank Wang			#phy-cells = <0>;
14330162d8c3SFrank Wang		};
14340162d8c3SFrank Wang	};
14350162d8c3SFrank Wang
1436dde22233SKever Yang	watchdog@ff848000 {
1437dde22233SKever Yang		compatible = "snps,dw-wdt";
1438dde22233SKever Yang		reg = <0x0 0xff848000 0x0 0x100>;
1439dde22233SKever Yang		clocks = <&cru PCLK_WDT>;
1440dde22233SKever Yang		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
1441dde22233SKever Yang	};
1442dde22233SKever Yang
1443dde22233SKever Yang	rktimer: rktimer@ff850000 {
1444dde22233SKever Yang		compatible = "rockchip,rk3399-timer";
1445dde22233SKever Yang		reg = <0x0 0xff850000 0x0 0x1000>;
1446dde22233SKever Yang		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0>;
1447dde22233SKever Yang		clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>;
1448dde22233SKever Yang		clock-names = "pclk", "timer";
1449dde22233SKever Yang	};
1450ca0ab273SPhilipp Tomsich
1451777c834fSKever Yang	spdif: spdif@ff870000 {
1452777c834fSKever Yang		compatible = "rockchip,rk3399-spdif";
1453777c834fSKever Yang		reg = <0x0 0xff870000 0x0 0x1000>;
1454dde22233SKever Yang		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH 0>;
1455777c834fSKever Yang		dmas = <&dmac_bus 7>;
1456777c834fSKever Yang		dma-names = "tx";
1457777c834fSKever Yang		clock-names = "mclk", "hclk";
1458777c834fSKever Yang		clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>;
1459777c834fSKever Yang		pinctrl-names = "default";
1460777c834fSKever Yang		pinctrl-0 = <&spdif_bus>;
1461dde22233SKever Yang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
1462777c834fSKever Yang		status = "disabled";
1463777c834fSKever Yang	};
1464777c834fSKever Yang
1465777c834fSKever Yang	i2s0: i2s@ff880000 {
1466777c834fSKever Yang		compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1467777c834fSKever Yang		reg = <0x0 0xff880000 0x0 0x1000>;
1468777c834fSKever Yang		rockchip,grf = <&grf>;
1469dde22233SKever Yang		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH 0>;
1470777c834fSKever Yang		dmas = <&dmac_bus 0>, <&dmac_bus 1>;
1471777c834fSKever Yang		dma-names = "tx", "rx";
1472777c834fSKever Yang		clock-names = "i2s_clk", "i2s_hclk";
1473777c834fSKever Yang		clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>;
1474777c834fSKever Yang		pinctrl-names = "default";
1475777c834fSKever Yang		pinctrl-0 = <&i2s0_8ch_bus>;
1476dde22233SKever Yang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
1477777c834fSKever Yang		status = "disabled";
1478777c834fSKever Yang	};
1479777c834fSKever Yang
1480777c834fSKever Yang	i2s1: i2s@ff890000 {
1481777c834fSKever Yang		compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1482777c834fSKever Yang		reg = <0x0 0xff890000 0x0 0x1000>;
1483dde22233SKever Yang		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH 0>;
1484777c834fSKever Yang		dmas = <&dmac_bus 2>, <&dmac_bus 3>;
1485777c834fSKever Yang		dma-names = "tx", "rx";
1486777c834fSKever Yang		clock-names = "i2s_clk", "i2s_hclk";
1487777c834fSKever Yang		clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>;
1488777c834fSKever Yang		pinctrl-names = "default";
1489777c834fSKever Yang		pinctrl-0 = <&i2s1_2ch_bus>;
1490dde22233SKever Yang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
1491777c834fSKever Yang		status = "disabled";
1492777c834fSKever Yang	};
1493777c834fSKever Yang
1494777c834fSKever Yang	i2s2: i2s@ff8a0000 {
1495777c834fSKever Yang		compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1496777c834fSKever Yang		reg = <0x0 0xff8a0000 0x0 0x1000>;
1497dde22233SKever Yang		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH 0>;
1498777c834fSKever Yang		dmas = <&dmac_bus 4>, <&dmac_bus 5>;
1499777c834fSKever Yang		dma-names = "tx", "rx";
1500777c834fSKever Yang		clock-names = "i2s_clk", "i2s_hclk";
1501777c834fSKever Yang		clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>;
1502dde22233SKever Yang		power-domains = <&power RK3399_PD_SDIOAUDIO>;
1503777c834fSKever Yang		status = "disabled";
1504777c834fSKever Yang	};
1505777c834fSKever Yang
1506b644354aSeric.gao@rock-chips.com	i2c0: i2c@ff3c0000 {
1507b644354aSeric.gao@rock-chips.com		compatible = "rockchip,rk3399-i2c";
1508b644354aSeric.gao@rock-chips.com		reg = <0x0 0xff3c0000 0x0 0x1000>;
1509b644354aSeric.gao@rock-chips.com		assigned-clocks = <&pmucru SCLK_I2C0_PMU>;
1510b644354aSeric.gao@rock-chips.com		assigned-clock-rates = <200000000>;
1511b644354aSeric.gao@rock-chips.com		clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>;
1512b644354aSeric.gao@rock-chips.com		clock-names = "i2c", "pclk";
1513b644354aSeric.gao@rock-chips.com		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>;
1514b644354aSeric.gao@rock-chips.com		pinctrl-names = "default";
1515b644354aSeric.gao@rock-chips.com		pinctrl-0 = <&i2c0_xfer>;
1516b644354aSeric.gao@rock-chips.com		#address-cells = <1>;
1517b644354aSeric.gao@rock-chips.com		#size-cells = <0>;
1518b644354aSeric.gao@rock-chips.com		status = "disabled";
1519b644354aSeric.gao@rock-chips.com	};
1520b644354aSeric.gao@rock-chips.com
1521df8fe99cSEric Gao	vopl: vop@ff8f0000 {
1522df8fe99cSEric Gao		compatible = "rockchip,rk3399-vop-lit";
1523df8fe99cSEric Gao		reg = <0x0 0xff8f0000 0x0 0x3efc>;
1524df8fe99cSEric Gao		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
1525df8fe99cSEric Gao		clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
1526df8fe99cSEric Gao		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1527df8fe99cSEric Gao		resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>;
1528df8fe99cSEric Gao		reset-names = "axi", "ahb", "dclk";
1529df8fe99cSEric Gao		status = "disabled";
1530df8fe99cSEric Gao		vopl_out: port {
1531df8fe99cSEric Gao			#address-cells = <1>;
1532df8fe99cSEric Gao			#size-cells = <0>;
1533df8fe99cSEric Gao			vopl_out_mipi: endpoint@0 {
15340313794bSKever Yang				reg = <0>;
1535df8fe99cSEric Gao				remote-endpoint = <&mipi_in_vopl>;
1536df8fe99cSEric Gao			};
1537876c1d0fSPhilipp Tomsich
1538876c1d0fSPhilipp Tomsich			vopl_out_hdmi: endpoint@1 {
1539876c1d0fSPhilipp Tomsich				reg = <1>;
1540876c1d0fSPhilipp Tomsich				remote-endpoint = <&hdmi_in_vopl>;
1541876c1d0fSPhilipp Tomsich			};
15420313794bSKever Yang
15430313794bSKever Yang			vopl_out_edp: endpoint@2 {
15440313794bSKever Yang				reg = <2>;
15450313794bSKever Yang				remote-endpoint = <&edp_in_vopl>;
15460313794bSKever Yang			};
1547df8fe99cSEric Gao		};
1548df8fe99cSEric Gao	};
1549df8fe99cSEric Gao
1550df8fe99cSEric Gao	vopb: vop@ff900000 {
1551df8fe99cSEric Gao		compatible = "rockchip,rk3399-vop-big";
1552df8fe99cSEric Gao		reg = <0x0 0xff900000 0x0 0x3efc>;
1553df8fe99cSEric Gao		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
1554df8fe99cSEric Gao		clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
1555df8fe99cSEric Gao		#clock-cells = <0>;
1556df8fe99cSEric Gao		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1557df8fe99cSEric Gao		resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>;
1558df8fe99cSEric Gao		reset-names = "axi", "ahb", "dclk";
1559df8fe99cSEric Gao		status = "disabled";
1560df8fe99cSEric Gao		vopb_out: port {
1561df8fe99cSEric Gao			#address-cells = <1>;
1562df8fe99cSEric Gao			#size-cells = <0>;
1563df8fe99cSEric Gao			vopb_out_mipi: endpoint@0 {
15640313794bSKever Yang				reg = <0>;
1565df8fe99cSEric Gao				remote-endpoint = <&mipi_in_vopb>;
1566df8fe99cSEric Gao			};
1567876c1d0fSPhilipp Tomsich
1568876c1d0fSPhilipp Tomsich			vopb_out_hdmi: endpoint@1 {
1569876c1d0fSPhilipp Tomsich				reg = <1>;
1570876c1d0fSPhilipp Tomsich				remote-endpoint = <&hdmi_in_vopb>;
1571876c1d0fSPhilipp Tomsich			};
15720313794bSKever Yang
15730313794bSKever Yang			vopb_out_edp: endpoint@2 {
15740313794bSKever Yang				reg = <2>;
15750313794bSKever Yang				remote-endpoint = <&edp_in_vopb>;
15760313794bSKever Yang			};
1577876c1d0fSPhilipp Tomsich		};
1578876c1d0fSPhilipp Tomsich	};
1579876c1d0fSPhilipp Tomsich
1580876c1d0fSPhilipp Tomsich	hdmi: hdmi@ff940000 {
1581876c1d0fSPhilipp Tomsich		compatible = "rockchip,rk3399-dw-hdmi";
1582876c1d0fSPhilipp Tomsich		reg = <0x0 0xff940000 0x0 0x20000>;
1583876c1d0fSPhilipp Tomsich		reg-io-width = <4>;
1584876c1d0fSPhilipp Tomsich		rockchip,grf = <&grf>;
1585876c1d0fSPhilipp Tomsich		pinctrl-names = "default";
1586876c1d0fSPhilipp Tomsich		pinctrl-0 = <&hdmi_i2c_xfer>;
1587876c1d0fSPhilipp Tomsich		power-domains = <&power RK3399_PD_HDCP>;
1588876c1d0fSPhilipp Tomsich		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>;
1589876c1d0fSPhilipp Tomsich		clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_SFR>, <&cru PLL_VPLL>, <&cru PCLK_VIO_GRF>;
1590876c1d0fSPhilipp Tomsich		clock-names = "iahb", "isfr", "vpll", "grf";
15910313794bSKever Yang		status = "okay";
1592876c1d0fSPhilipp Tomsich
1593876c1d0fSPhilipp Tomsich		ports {
1594876c1d0fSPhilipp Tomsich			hdmi_in: port {
1595876c1d0fSPhilipp Tomsich				#address-cells = <1>;
1596876c1d0fSPhilipp Tomsich				#size-cells = <0>;
1597876c1d0fSPhilipp Tomsich				hdmi_in_vopb: endpoint@0 {
1598876c1d0fSPhilipp Tomsich					reg = <0>;
1599876c1d0fSPhilipp Tomsich					remote-endpoint = <&vopb_out_hdmi>;
1600876c1d0fSPhilipp Tomsich				};
1601876c1d0fSPhilipp Tomsich				hdmi_in_vopl: endpoint@1 {
1602876c1d0fSPhilipp Tomsich					reg = <1>;
1603876c1d0fSPhilipp Tomsich					remote-endpoint = <&vopl_out_hdmi>;
1604876c1d0fSPhilipp Tomsich				};
1605876c1d0fSPhilipp Tomsich			};
1606df8fe99cSEric Gao		};
1607df8fe99cSEric Gao	};
1608df8fe99cSEric Gao
1609df8fe99cSEric Gao	mipi_dsi: mipi@ff960000 {
1610df8fe99cSEric Gao		compatible = "rockchip,rk3399_mipi_dsi";
1611df8fe99cSEric Gao		reg = <0x0 0xff960000 0x0 0x8000>;
1612df8fe99cSEric Gao		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH 0>;
1613df8fe99cSEric Gao		clocks = <&cru SCLK_MIPIDPHY_REF>, <&cru PCLK_MIPI_DSI0>,
1614df8fe99cSEric Gao		         <&cru SCLK_DPHY_TX0_CFG>;
1615df8fe99cSEric Gao		clock-names = "ref", "pclk", "phy_cfg";
1616df8fe99cSEric Gao		rockchip,grf = <&grf>;
1617df8fe99cSEric Gao		#address-cells = <1>;
1618df8fe99cSEric Gao		#size-cells = <0>;
1619df8fe99cSEric Gao		status = "disabled";
1620df8fe99cSEric Gao		ports {
1621df8fe99cSEric Gao			#address-cells = <1>;
1622df8fe99cSEric Gao			#size-cells = <0>;
1623df8fe99cSEric Gao			reg = <1>;
1624df8fe99cSEric Gao			mipi_in: port {
1625df8fe99cSEric Gao				#address-cells = <1>;
1626df8fe99cSEric Gao				#size-cells = <0>;
1627df8fe99cSEric Gao				mipi_in_vopb: endpoint@0 {
1628df8fe99cSEric Gao					reg = <0>;
1629df8fe99cSEric Gao					remote-endpoint = <&vopb_out_mipi>;
1630df8fe99cSEric Gao				};
1631df8fe99cSEric Gao				mipi_in_vopl: endpoint@1 {
1632df8fe99cSEric Gao					reg = <1>;
1633df8fe99cSEric Gao					remote-endpoint = <&vopl_out_mipi>;
1634df8fe99cSEric Gao				};
1635df8fe99cSEric Gao			};
1636df8fe99cSEric Gao		};
1637df8fe99cSEric Gao	};
1638df8fe99cSEric Gao
16390313794bSKever Yang	edp: edp@ff970000 {
16400313794bSKever Yang		compatible = "rockchip,rk3399-edp";
16410313794bSKever Yang		reg = <0x0 0xff970000 0x0 0x8000>;
16420313794bSKever Yang		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
16430313794bSKever Yang		clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>;
16440313794bSKever Yang		clock-names = "dp", "pclk";
16450313794bSKever Yang		power-domains = <&power RK3399_PD_EDP>;
16460313794bSKever Yang		resets = <&cru SRST_P_EDP_CTRL>;
16470313794bSKever Yang		reset-names = "dp";
16480313794bSKever Yang		rockchip,grf = <&grf>;
16490313794bSKever Yang		status = "disabled";
16500313794bSKever Yang		pinctrl-names = "default";
16510313794bSKever Yang		pinctrl-0 = <&edp_hpd>;
16520313794bSKever Yang
16530313794bSKever Yang		ports {
16540313794bSKever Yang			#address-cells = <1>;
16550313794bSKever Yang			#size-cells = <0>;
16560313794bSKever Yang
16570313794bSKever Yang			edp_in: port@0 {
16580313794bSKever Yang				reg = <0>;
16590313794bSKever Yang				#address-cells = <1>;
16600313794bSKever Yang				#size-cells = <0>;
16610313794bSKever Yang
16620313794bSKever Yang				edp_in_vopb: endpoint@0 {
16630313794bSKever Yang					reg = <0>;
16640313794bSKever Yang					remote-endpoint = <&vopb_out_edp>;
16650313794bSKever Yang				};
16660313794bSKever Yang
16670313794bSKever Yang				edp_in_vopl: endpoint@1 {
16680313794bSKever Yang					reg = <1>;
16690313794bSKever Yang					remote-endpoint = <&vopl_out_edp>;
16700313794bSKever Yang				};
16710313794bSKever Yang			};
16720313794bSKever Yang		};
16730313794bSKever Yang	};
16740313794bSKever Yang
1675777c834fSKever Yang	pinctrl: pinctrl {
1676777c834fSKever Yang		compatible = "rockchip,rk3399-pinctrl";
1677777c834fSKever Yang		rockchip,grf = <&grf>;
1678777c834fSKever Yang		rockchip,pmu = <&pmugrf>;
1679777c834fSKever Yang		#address-cells = <2>;
1680777c834fSKever Yang		#size-cells = <2>;
1681777c834fSKever Yang		ranges;
1682777c834fSKever Yang
1683777c834fSKever Yang		gpio0: gpio0@ff720000 {
1684777c834fSKever Yang			compatible = "rockchip,gpio-bank";
1685777c834fSKever Yang			reg = <0x0 0xff720000 0x0 0x100>;
1686777c834fSKever Yang			clocks = <&pmucru PCLK_GPIO0_PMU>;
1687dde22233SKever Yang			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>;
1688777c834fSKever Yang
1689777c834fSKever Yang			gpio-controller;
1690777c834fSKever Yang			#gpio-cells = <0x2>;
1691777c834fSKever Yang
1692777c834fSKever Yang			interrupt-controller;
1693777c834fSKever Yang			#interrupt-cells = <0x2>;
1694777c834fSKever Yang		};
1695777c834fSKever Yang
1696777c834fSKever Yang		gpio1: gpio1@ff730000 {
1697777c834fSKever Yang			compatible = "rockchip,gpio-bank";
1698777c834fSKever Yang			reg = <0x0 0xff730000 0x0 0x100>;
1699777c834fSKever Yang			clocks = <&pmucru PCLK_GPIO1_PMU>;
1700dde22233SKever Yang			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH 0>;
1701777c834fSKever Yang
1702777c834fSKever Yang			gpio-controller;
1703777c834fSKever Yang			#gpio-cells = <0x2>;
1704777c834fSKever Yang
1705777c834fSKever Yang			interrupt-controller;
1706777c834fSKever Yang			#interrupt-cells = <0x2>;
1707777c834fSKever Yang		};
1708777c834fSKever Yang
1709777c834fSKever Yang		gpio2: gpio2@ff780000 {
1710777c834fSKever Yang			compatible = "rockchip,gpio-bank";
1711777c834fSKever Yang			reg = <0x0 0xff780000 0x0 0x100>;
1712777c834fSKever Yang			clocks = <&cru PCLK_GPIO2>;
1713dde22233SKever Yang			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH 0>;
1714777c834fSKever Yang
1715777c834fSKever Yang			gpio-controller;
1716777c834fSKever Yang			#gpio-cells = <0x2>;
1717777c834fSKever Yang
1718777c834fSKever Yang			interrupt-controller;
1719777c834fSKever Yang			#interrupt-cells = <0x2>;
1720777c834fSKever Yang		};
1721777c834fSKever Yang
1722777c834fSKever Yang		gpio3: gpio3@ff788000 {
1723777c834fSKever Yang			compatible = "rockchip,gpio-bank";
1724777c834fSKever Yang			reg = <0x0 0xff788000 0x0 0x100>;
1725777c834fSKever Yang			clocks = <&cru PCLK_GPIO3>;
1726dde22233SKever Yang			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH 0>;
1727777c834fSKever Yang
1728777c834fSKever Yang			gpio-controller;
1729777c834fSKever Yang			#gpio-cells = <0x2>;
1730777c834fSKever Yang
1731777c834fSKever Yang			interrupt-controller;
1732777c834fSKever Yang			#interrupt-cells = <0x2>;
1733777c834fSKever Yang		};
1734777c834fSKever Yang
1735777c834fSKever Yang		gpio4: gpio4@ff790000 {
1736777c834fSKever Yang			compatible = "rockchip,gpio-bank";
1737777c834fSKever Yang			reg = <0x0 0xff790000 0x0 0x100>;
1738777c834fSKever Yang			clocks = <&cru PCLK_GPIO4>;
1739dde22233SKever Yang			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
1740777c834fSKever Yang
1741777c834fSKever Yang			gpio-controller;
1742777c834fSKever Yang			#gpio-cells = <0x2>;
1743777c834fSKever Yang
1744777c834fSKever Yang			interrupt-controller;
1745777c834fSKever Yang			#interrupt-cells = <0x2>;
1746777c834fSKever Yang		};
1747777c834fSKever Yang
1748777c834fSKever Yang		pcfg_pull_up: pcfg-pull-up {
1749777c834fSKever Yang			bias-pull-up;
1750777c834fSKever Yang		};
1751777c834fSKever Yang
1752777c834fSKever Yang		pcfg_pull_down: pcfg-pull-down {
1753777c834fSKever Yang			bias-pull-down;
1754777c834fSKever Yang		};
1755777c834fSKever Yang
1756777c834fSKever Yang		pcfg_pull_none: pcfg-pull-none {
1757777c834fSKever Yang			bias-disable;
1758777c834fSKever Yang		};
1759777c834fSKever Yang
1760777c834fSKever Yang		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1761777c834fSKever Yang			bias-disable;
1762777c834fSKever Yang			drive-strength = <12>;
1763777c834fSKever Yang		};
1764777c834fSKever Yang
1765777c834fSKever Yang		pcfg_pull_up_8ma: pcfg-pull-up-8ma {
1766777c834fSKever Yang			bias-pull-up;
1767777c834fSKever Yang			drive-strength = <8>;
1768777c834fSKever Yang		};
1769777c834fSKever Yang
1770777c834fSKever Yang		pcfg_pull_down_4ma: pcfg-pull-down-4ma {
1771777c834fSKever Yang			bias-pull-down;
1772777c834fSKever Yang			drive-strength = <4>;
1773777c834fSKever Yang		};
1774777c834fSKever Yang
1775777c834fSKever Yang		pcfg_pull_up_2ma: pcfg-pull-up-2ma {
1776777c834fSKever Yang			bias-pull-up;
1777777c834fSKever Yang			drive-strength = <2>;
1778777c834fSKever Yang		};
1779777c834fSKever Yang
1780777c834fSKever Yang		pcfg_pull_down_12ma: pcfg-pull-down-12ma {
1781777c834fSKever Yang			bias-pull-down;
1782777c834fSKever Yang			drive-strength = <12>;
1783777c834fSKever Yang		};
1784777c834fSKever Yang
1785777c834fSKever Yang		pcfg_pull_none_13ma: pcfg-pull-none-13ma {
1786777c834fSKever Yang			bias-disable;
1787777c834fSKever Yang			drive-strength = <13>;
1788777c834fSKever Yang		};
1789777c834fSKever Yang
1790dde22233SKever Yang		clock {
1791dde22233SKever Yang			clk_32k: clk-32k {
1792dde22233SKever Yang				rockchip,pins = <0 RK_PA0 RK_FUNC_2 &pcfg_pull_none>;
1793777c834fSKever Yang			};
1794777c834fSKever Yang		};
1795777c834fSKever Yang
1796dde22233SKever Yang		edp {
1797dde22233SKever Yang			edp_hpd: edp-hpd {
1798777c834fSKever Yang				rockchip,pins =
1799dde22233SKever Yang					<4 RK_PC7 RK_FUNC_2 &pcfg_pull_none>;
1800777c834fSKever Yang			};
1801777c834fSKever Yang		};
1802777c834fSKever Yang
1803ca0ab273SPhilipp Tomsich		gmac {
1804ca0ab273SPhilipp Tomsich			rgmii_pins: rgmii-pins {
1805ca0ab273SPhilipp Tomsich				rockchip,pins =
1806ca0ab273SPhilipp Tomsich					/* mac_txclk */
1807dde22233SKever Yang					<3 RK_PC1 RK_FUNC_1 &pcfg_pull_none_13ma>,
1808ca0ab273SPhilipp Tomsich					/* mac_rxclk */
1809dde22233SKever Yang					<3 RK_PB6 RK_FUNC_1 &pcfg_pull_none>,
1810ca0ab273SPhilipp Tomsich					/* mac_mdio */
1811dde22233SKever Yang					<3 RK_PB5 RK_FUNC_1 &pcfg_pull_none>,
1812ca0ab273SPhilipp Tomsich					/* mac_txen */
1813dde22233SKever Yang					<3 RK_PB4 RK_FUNC_1 &pcfg_pull_none_13ma>,
1814ca0ab273SPhilipp Tomsich					/* mac_clk */
1815dde22233SKever Yang					<3 RK_PB3 RK_FUNC_1 &pcfg_pull_none>,
1816ca0ab273SPhilipp Tomsich					/* mac_rxdv */
1817dde22233SKever Yang					<3 RK_PB1 RK_FUNC_1 &pcfg_pull_none>,
1818ca0ab273SPhilipp Tomsich					/* mac_mdc */
1819dde22233SKever Yang					<3 RK_PB0 RK_FUNC_1 &pcfg_pull_none>,
1820ca0ab273SPhilipp Tomsich					/* mac_rxd1 */
1821dde22233SKever Yang					<3 RK_PA7 RK_FUNC_1 &pcfg_pull_none>,
1822ca0ab273SPhilipp Tomsich					/* mac_rxd0 */
1823dde22233SKever Yang					<3 RK_PA6 RK_FUNC_1 &pcfg_pull_none>,
1824ca0ab273SPhilipp Tomsich					/* mac_txd1 */
1825dde22233SKever Yang					<3 RK_PA5 RK_FUNC_1 &pcfg_pull_none_13ma>,
1826ca0ab273SPhilipp Tomsich					/* mac_txd0 */
1827dde22233SKever Yang					<3 RK_PA4 RK_FUNC_1 &pcfg_pull_none_13ma>,
1828ca0ab273SPhilipp Tomsich					/* mac_rxd3 */
1829dde22233SKever Yang					<3 RK_PA3 RK_FUNC_1 &pcfg_pull_none>,
1830ca0ab273SPhilipp Tomsich					/* mac_rxd2 */
1831dde22233SKever Yang					<3 RK_PA2 RK_FUNC_1 &pcfg_pull_none>,
1832ca0ab273SPhilipp Tomsich					/* mac_txd3 */
1833dde22233SKever Yang					<3 RK_PA1 RK_FUNC_1 &pcfg_pull_none_13ma>,
1834ca0ab273SPhilipp Tomsich					/* mac_txd2 */
1835dde22233SKever Yang					<3 RK_PA0 RK_FUNC_1 &pcfg_pull_none_13ma>;
1836dde22233SKever Yang			};
1837dde22233SKever Yang
1838dde22233SKever Yang			rmii_pins: rmii-pins {
1839dde22233SKever Yang				rockchip,pins =
1840dde22233SKever Yang					/* mac_mdio */
1841dde22233SKever Yang					<3 RK_PB5 RK_FUNC_1 &pcfg_pull_none>,
1842dde22233SKever Yang					/* mac_txen */
1843dde22233SKever Yang					<3 RK_PB4 RK_FUNC_1 &pcfg_pull_none_13ma>,
1844dde22233SKever Yang					/* mac_clk */
1845dde22233SKever Yang					<3 RK_PB3 RK_FUNC_1 &pcfg_pull_none>,
1846dde22233SKever Yang					/* mac_rxer */
1847dde22233SKever Yang					<3 RK_PB2 RK_FUNC_1 &pcfg_pull_none>,
1848dde22233SKever Yang					/* mac_rxdv */
1849dde22233SKever Yang					<3 RK_PB1 RK_FUNC_1 &pcfg_pull_none>,
1850dde22233SKever Yang					/* mac_mdc */
1851dde22233SKever Yang					<3 RK_PB0 RK_FUNC_1 &pcfg_pull_none>,
1852dde22233SKever Yang					/* mac_rxd1 */
1853dde22233SKever Yang					<3 RK_PA7 RK_FUNC_1 &pcfg_pull_none>,
1854dde22233SKever Yang					/* mac_rxd0 */
1855dde22233SKever Yang					<3 RK_PA6 RK_FUNC_1 &pcfg_pull_none>,
1856dde22233SKever Yang					/* mac_txd1 */
1857dde22233SKever Yang					<3 RK_PA5 RK_FUNC_1 &pcfg_pull_none_13ma>,
1858dde22233SKever Yang					/* mac_txd0 */
1859dde22233SKever Yang					<3 RK_PA4 RK_FUNC_1 &pcfg_pull_none_13ma>;
1860dde22233SKever Yang			};
1861dde22233SKever Yang		};
1862dde22233SKever Yang
1863dde22233SKever Yang		i2c0 {
1864dde22233SKever Yang			i2c0_xfer: i2c0-xfer {
1865dde22233SKever Yang				rockchip,pins =
1866dde22233SKever Yang					<1 RK_PB7 RK_FUNC_2 &pcfg_pull_none>,
1867dde22233SKever Yang					<1 RK_PC0 RK_FUNC_2 &pcfg_pull_none>;
1868dde22233SKever Yang			};
1869dde22233SKever Yang		};
1870dde22233SKever Yang
1871dde22233SKever Yang		i2c1 {
1872dde22233SKever Yang			i2c1_xfer: i2c1-xfer {
1873dde22233SKever Yang				rockchip,pins =
1874dde22233SKever Yang					<4 RK_PA2 RK_FUNC_1 &pcfg_pull_none>,
1875dde22233SKever Yang					<4 RK_PA1 RK_FUNC_1 &pcfg_pull_none>;
1876dde22233SKever Yang			};
1877dde22233SKever Yang		};
1878dde22233SKever Yang
1879dde22233SKever Yang		i2c2 {
1880dde22233SKever Yang			i2c2_xfer: i2c2-xfer {
1881dde22233SKever Yang				rockchip,pins =
1882dde22233SKever Yang					<2 RK_PA1 RK_FUNC_2 &pcfg_pull_none_12ma>,
1883dde22233SKever Yang					<2 RK_PA0 RK_FUNC_2 &pcfg_pull_none_12ma>;
1884dde22233SKever Yang			};
1885dde22233SKever Yang		};
1886dde22233SKever Yang
1887dde22233SKever Yang		i2c3 {
1888dde22233SKever Yang			i2c3_xfer: i2c3-xfer {
1889dde22233SKever Yang				rockchip,pins =
1890dde22233SKever Yang					<4 RK_PC1 RK_FUNC_1 &pcfg_pull_none>,
1891dde22233SKever Yang					<4 RK_PC0 RK_FUNC_1 &pcfg_pull_none>;
1892dde22233SKever Yang			};
1893dde22233SKever Yang		};
1894dde22233SKever Yang
1895dde22233SKever Yang		i2c4 {
1896dde22233SKever Yang			i2c4_xfer: i2c4-xfer {
1897dde22233SKever Yang				rockchip,pins =
1898dde22233SKever Yang					<1 RK_PB4 RK_FUNC_1 &pcfg_pull_none>,
1899dde22233SKever Yang					<1 RK_PB3 RK_FUNC_1 &pcfg_pull_none>;
1900dde22233SKever Yang			};
1901dde22233SKever Yang		};
1902dde22233SKever Yang
1903dde22233SKever Yang		i2c5 {
1904dde22233SKever Yang			i2c5_xfer: i2c5-xfer {
1905dde22233SKever Yang				rockchip,pins =
1906dde22233SKever Yang					<3 RK_PB3 RK_FUNC_2 &pcfg_pull_none>,
1907dde22233SKever Yang					<3 RK_PB2 RK_FUNC_2 &pcfg_pull_none>;
1908dde22233SKever Yang			};
1909dde22233SKever Yang		};
1910dde22233SKever Yang
1911dde22233SKever Yang		i2c6 {
1912dde22233SKever Yang			i2c6_xfer: i2c6-xfer {
1913dde22233SKever Yang				rockchip,pins =
1914dde22233SKever Yang					<2 RK_PB2 RK_FUNC_2 &pcfg_pull_none>,
1915dde22233SKever Yang					<2 RK_PB1 RK_FUNC_2 &pcfg_pull_none>;
1916dde22233SKever Yang			};
1917dde22233SKever Yang		};
1918dde22233SKever Yang
1919dde22233SKever Yang		i2c7 {
1920dde22233SKever Yang			i2c7_xfer: i2c7-xfer {
1921dde22233SKever Yang				rockchip,pins =
1922dde22233SKever Yang					<2 RK_PB0 RK_FUNC_2 &pcfg_pull_none>,
1923dde22233SKever Yang					<2 RK_PA7 RK_FUNC_2 &pcfg_pull_none>;
1924dde22233SKever Yang			};
1925dde22233SKever Yang		};
1926dde22233SKever Yang
1927dde22233SKever Yang		i2c8 {
1928dde22233SKever Yang			i2c8_xfer: i2c8-xfer {
1929dde22233SKever Yang				rockchip,pins =
1930dde22233SKever Yang					<1 RK_PC5 RK_FUNC_1 &pcfg_pull_none>,
1931dde22233SKever Yang					<1 RK_PC4 RK_FUNC_1 &pcfg_pull_none>;
1932dde22233SKever Yang			};
1933dde22233SKever Yang		};
1934dde22233SKever Yang
1935dde22233SKever Yang		i2s0 {
1936dde22233SKever Yang			i2s0_8ch_bus: i2s0-8ch-bus {
1937dde22233SKever Yang				rockchip,pins =
1938dde22233SKever Yang					<3 RK_PD0 RK_FUNC_1 &pcfg_pull_none>,
1939dde22233SKever Yang					<3 RK_PD1 RK_FUNC_1 &pcfg_pull_none>,
1940dde22233SKever Yang					<3 RK_PD2 RK_FUNC_1 &pcfg_pull_none>,
1941dde22233SKever Yang					<3 RK_PD3 RK_FUNC_1 &pcfg_pull_none>,
1942dde22233SKever Yang					<3 RK_PD4 RK_FUNC_1 &pcfg_pull_none>,
1943dde22233SKever Yang					<3 RK_PD5 RK_FUNC_1 &pcfg_pull_none>,
1944dde22233SKever Yang					<3 RK_PD6 RK_FUNC_1 &pcfg_pull_none>,
1945dde22233SKever Yang					<3 RK_PD7 RK_FUNC_1 &pcfg_pull_none>,
1946dde22233SKever Yang					<4 RK_PA0 RK_FUNC_1 &pcfg_pull_none>;
1947dde22233SKever Yang			};
1948dde22233SKever Yang		};
1949dde22233SKever Yang
1950dde22233SKever Yang		i2s1 {
1951dde22233SKever Yang			i2s1_2ch_bus: i2s1-2ch-bus {
1952dde22233SKever Yang				rockchip,pins =
1953dde22233SKever Yang					<4 RK_PA3 RK_FUNC_1 &pcfg_pull_none>,
1954dde22233SKever Yang					<4 RK_PA4 RK_FUNC_1 &pcfg_pull_none>,
1955dde22233SKever Yang					<4 RK_PA5 RK_FUNC_1 &pcfg_pull_none>,
1956dde22233SKever Yang					<4 RK_PA6 RK_FUNC_1 &pcfg_pull_none>,
1957dde22233SKever Yang					<4 RK_PA7 RK_FUNC_1 &pcfg_pull_none>;
1958dde22233SKever Yang			};
1959dde22233SKever Yang		};
1960dde22233SKever Yang
1961dde22233SKever Yang		sdio0 {
1962dde22233SKever Yang			sdio0_bus1: sdio0-bus1 {
1963dde22233SKever Yang				rockchip,pins =
1964dde22233SKever Yang					<2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>;
1965dde22233SKever Yang			};
1966dde22233SKever Yang
1967dde22233SKever Yang			sdio0_bus4: sdio0-bus4 {
1968dde22233SKever Yang				rockchip,pins =
1969dde22233SKever Yang					<2 RK_PC4 RK_FUNC_1 &pcfg_pull_up>,
1970dde22233SKever Yang					<2 RK_PC5 RK_FUNC_1 &pcfg_pull_up>,
1971dde22233SKever Yang					<2 RK_PC6 RK_FUNC_1 &pcfg_pull_up>,
1972dde22233SKever Yang					<2 RK_PC7 RK_FUNC_1 &pcfg_pull_up>;
1973dde22233SKever Yang			};
1974dde22233SKever Yang
1975dde22233SKever Yang			sdio0_cmd: sdio0-cmd {
1976dde22233SKever Yang				rockchip,pins =
1977dde22233SKever Yang					<2 RK_PD0 RK_FUNC_1 &pcfg_pull_up>;
1978dde22233SKever Yang			};
1979dde22233SKever Yang
1980dde22233SKever Yang			sdio0_clk: sdio0-clk {
1981dde22233SKever Yang				rockchip,pins =
1982dde22233SKever Yang					<2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>;
1983dde22233SKever Yang			};
1984dde22233SKever Yang
1985dde22233SKever Yang			sdio0_cd: sdio0-cd {
1986dde22233SKever Yang				rockchip,pins =
1987dde22233SKever Yang					<2 RK_PD2 RK_FUNC_1 &pcfg_pull_up>;
1988dde22233SKever Yang			};
1989dde22233SKever Yang
1990dde22233SKever Yang			sdio0_pwr: sdio0-pwr {
1991dde22233SKever Yang				rockchip,pins =
1992dde22233SKever Yang					<2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>;
1993dde22233SKever Yang			};
1994dde22233SKever Yang
1995dde22233SKever Yang			sdio0_bkpwr: sdio0-bkpwr {
1996dde22233SKever Yang				rockchip,pins =
1997dde22233SKever Yang					<2 RK_PD4 RK_FUNC_1 &pcfg_pull_up>;
1998dde22233SKever Yang			};
1999dde22233SKever Yang
2000dde22233SKever Yang			sdio0_wp: sdio0-wp {
2001dde22233SKever Yang				rockchip,pins =
2002dde22233SKever Yang					<0 RK_PA3 RK_FUNC_1 &pcfg_pull_up>;
2003dde22233SKever Yang			};
2004dde22233SKever Yang
2005dde22233SKever Yang			sdio0_int: sdio0-int {
2006dde22233SKever Yang				rockchip,pins =
2007dde22233SKever Yang					<0 RK_PA4 RK_FUNC_1 &pcfg_pull_up>;
2008ca0ab273SPhilipp Tomsich			};
2009ca0ab273SPhilipp Tomsich		};
2010ca0ab273SPhilipp Tomsich
2011bd218ab8SKever Yang		sdmmc {
2012bd218ab8SKever Yang			sdmmc_bus1: sdmmc-bus1 {
2013bd218ab8SKever Yang				rockchip,pins =
2014dde22233SKever Yang					<4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>;
2015bd218ab8SKever Yang			};
2016bd218ab8SKever Yang
2017bd218ab8SKever Yang			sdmmc_bus4: sdmmc-bus4 {
2018bd218ab8SKever Yang				rockchip,pins =
2019dde22233SKever Yang					<4 RK_PB0 RK_FUNC_1 &pcfg_pull_up>,
2020dde22233SKever Yang					<4 RK_PB1 RK_FUNC_1 &pcfg_pull_up>,
2021dde22233SKever Yang					<4 RK_PB2 RK_FUNC_1 &pcfg_pull_up>,
2022dde22233SKever Yang					<4 RK_PB3 RK_FUNC_1 &pcfg_pull_up>;
2023bd218ab8SKever Yang			};
2024bd218ab8SKever Yang
2025bd218ab8SKever Yang			sdmmc_clk: sdmmc-clk {
2026bd218ab8SKever Yang				rockchip,pins =
2027dde22233SKever Yang					<4 RK_PB4 RK_FUNC_1 &pcfg_pull_none>;
2028bd218ab8SKever Yang			};
2029bd218ab8SKever Yang
2030bd218ab8SKever Yang			sdmmc_cmd: sdmmc-cmd {
2031bd218ab8SKever Yang				rockchip,pins =
2032dde22233SKever Yang					<4 RK_PB5 RK_FUNC_1 &pcfg_pull_up>;
2033bd218ab8SKever Yang			};
2034bd218ab8SKever Yang
2035bd218ab8SKever Yang			sdmmc_cd: sdmcc-cd {
2036bd218ab8SKever Yang				rockchip,pins =
2037dde22233SKever Yang					<0 RK_PA7 RK_FUNC_1 &pcfg_pull_up>;
2038bd218ab8SKever Yang			};
2039bd218ab8SKever Yang
2040bd218ab8SKever Yang			sdmmc_wp: sdmmc-wp {
2041bd218ab8SKever Yang				rockchip,pins =
2042dde22233SKever Yang					<0 RK_PB0 RK_FUNC_1 &pcfg_pull_up>;
2043dde22233SKever Yang			};
2044dde22233SKever Yang		};
2045dde22233SKever Yang
2046dde22233SKever Yang		sleep {
2047dde22233SKever Yang			ap_pwroff: ap-pwroff {
2048dde22233SKever Yang				rockchip,pins = <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>;
2049dde22233SKever Yang			};
2050dde22233SKever Yang
2051dde22233SKever Yang			ddrio_pwroff: ddrio-pwroff {
2052dde22233SKever Yang				rockchip,pins = <0 RK_PA1 RK_FUNC_1 &pcfg_pull_none>;
2053bd218ab8SKever Yang			};
2054bd218ab8SKever Yang		};
2055bd218ab8SKever Yang
2056777c834fSKever Yang		spdif {
2057777c834fSKever Yang			spdif_bus: spdif-bus {
2058777c834fSKever Yang				rockchip,pins =
2059dde22233SKever Yang					<4 RK_PC5 RK_FUNC_1 &pcfg_pull_none>;
2060dde22233SKever Yang			};
2061dde22233SKever Yang
2062dde22233SKever Yang			spdif_bus_1: spdif-bus-1 {
2063dde22233SKever Yang				rockchip,pins =
2064dde22233SKever Yang					<3 RK_PC0 RK_FUNC_3 &pcfg_pull_none>;
2065777c834fSKever Yang			};
2066777c834fSKever Yang		};
2067777c834fSKever Yang
2068777c834fSKever Yang		spi0 {
2069777c834fSKever Yang			spi0_clk: spi0-clk {
2070777c834fSKever Yang				rockchip,pins =
2071dde22233SKever Yang					<3 RK_PA6 RK_FUNC_2 &pcfg_pull_up>;
2072777c834fSKever Yang			};
2073777c834fSKever Yang			spi0_cs0: spi0-cs0 {
2074777c834fSKever Yang				rockchip,pins =
2075dde22233SKever Yang					<3 RK_PA7 RK_FUNC_2 &pcfg_pull_up>;
2076777c834fSKever Yang			};
2077777c834fSKever Yang			spi0_cs1: spi0-cs1 {
2078777c834fSKever Yang				rockchip,pins =
2079dde22233SKever Yang					<3 RK_PB0 RK_FUNC_2 &pcfg_pull_up>;
2080777c834fSKever Yang			};
2081777c834fSKever Yang			spi0_tx: spi0-tx {
2082777c834fSKever Yang				rockchip,pins =
2083dde22233SKever Yang					<3 RK_PA5 RK_FUNC_2 &pcfg_pull_up>;
2084777c834fSKever Yang			};
2085777c834fSKever Yang			spi0_rx: spi0-rx {
2086777c834fSKever Yang				rockchip,pins =
2087dde22233SKever Yang					<3 RK_PA4 RK_FUNC_2 &pcfg_pull_up>;
2088777c834fSKever Yang			};
2089777c834fSKever Yang		};
2090777c834fSKever Yang
2091777c834fSKever Yang		spi1 {
2092777c834fSKever Yang			spi1_clk: spi1-clk {
2093777c834fSKever Yang				rockchip,pins =
2094dde22233SKever Yang					<1 RK_PB1 RK_FUNC_2 &pcfg_pull_up>;
2095777c834fSKever Yang			};
2096777c834fSKever Yang			spi1_cs0: spi1-cs0 {
2097777c834fSKever Yang				rockchip,pins =
2098dde22233SKever Yang					<1 RK_PB2 RK_FUNC_2 &pcfg_pull_up>;
2099777c834fSKever Yang			};
2100777c834fSKever Yang			spi1_rx: spi1-rx {
2101777c834fSKever Yang				rockchip,pins =
2102dde22233SKever Yang					<1 RK_PA7 RK_FUNC_2 &pcfg_pull_up>;
2103777c834fSKever Yang			};
2104777c834fSKever Yang			spi1_tx: spi1-tx {
2105777c834fSKever Yang				rockchip,pins =
2106dde22233SKever Yang					<1 RK_PB0 RK_FUNC_2 &pcfg_pull_up>;
2107777c834fSKever Yang			};
2108777c834fSKever Yang		};
2109777c834fSKever Yang
2110777c834fSKever Yang		spi2 {
2111777c834fSKever Yang			spi2_clk: spi2-clk {
2112777c834fSKever Yang				rockchip,pins =
2113dde22233SKever Yang					<2 RK_PB3 RK_FUNC_1 &pcfg_pull_up>;
2114777c834fSKever Yang			};
2115777c834fSKever Yang			spi2_cs0: spi2-cs0 {
2116777c834fSKever Yang				rockchip,pins =
2117dde22233SKever Yang					<2 RK_PB4 RK_FUNC_1 &pcfg_pull_up>;
2118777c834fSKever Yang			};
2119777c834fSKever Yang			spi2_rx: spi2-rx {
2120777c834fSKever Yang				rockchip,pins =
2121dde22233SKever Yang					<2 RK_PB1 RK_FUNC_1 &pcfg_pull_up>;
2122777c834fSKever Yang			};
2123777c834fSKever Yang			spi2_tx: spi2-tx {
2124777c834fSKever Yang				rockchip,pins =
2125dde22233SKever Yang					<2 RK_PB2 RK_FUNC_1 &pcfg_pull_up>;
2126777c834fSKever Yang			};
2127777c834fSKever Yang		};
2128777c834fSKever Yang
2129777c834fSKever Yang		spi3 {
2130777c834fSKever Yang			spi3_clk: spi3-clk {
2131777c834fSKever Yang				rockchip,pins =
2132dde22233SKever Yang					<1 RK_PC1 RK_FUNC_1 &pcfg_pull_up>;
2133777c834fSKever Yang			};
2134777c834fSKever Yang			spi3_cs0: spi3-cs0 {
2135777c834fSKever Yang				rockchip,pins =
2136dde22233SKever Yang					<1 RK_PC2 RK_FUNC_1 &pcfg_pull_up>;
2137777c834fSKever Yang			};
2138777c834fSKever Yang			spi3_rx: spi3-rx {
2139777c834fSKever Yang				rockchip,pins =
2140dde22233SKever Yang					<1 RK_PB7 RK_FUNC_1 &pcfg_pull_up>;
2141777c834fSKever Yang			};
2142777c834fSKever Yang			spi3_tx: spi3-tx {
2143777c834fSKever Yang				rockchip,pins =
2144dde22233SKever Yang					<1 RK_PC0 RK_FUNC_1 &pcfg_pull_up>;
2145777c834fSKever Yang			};
2146777c834fSKever Yang		};
2147777c834fSKever Yang
2148777c834fSKever Yang		spi4 {
2149777c834fSKever Yang			spi4_clk: spi4-clk {
2150777c834fSKever Yang				rockchip,pins =
2151dde22233SKever Yang					<3 RK_PA2 RK_FUNC_2 &pcfg_pull_up>;
2152777c834fSKever Yang			};
2153777c834fSKever Yang			spi4_cs0: spi4-cs0 {
2154777c834fSKever Yang				rockchip,pins =
2155dde22233SKever Yang					<3 RK_PA3 RK_FUNC_2 &pcfg_pull_up>;
2156777c834fSKever Yang			};
2157777c834fSKever Yang			spi4_rx: spi4-rx {
2158777c834fSKever Yang				rockchip,pins =
2159dde22233SKever Yang					<3 RK_PA0 RK_FUNC_2 &pcfg_pull_up>;
2160777c834fSKever Yang			};
2161777c834fSKever Yang			spi4_tx: spi4-tx {
2162777c834fSKever Yang				rockchip,pins =
2163dde22233SKever Yang					<3 RK_PA1 RK_FUNC_2 &pcfg_pull_up>;
2164777c834fSKever Yang			};
2165777c834fSKever Yang		};
2166777c834fSKever Yang
2167777c834fSKever Yang		spi5 {
2168777c834fSKever Yang			spi5_clk: spi5-clk {
2169777c834fSKever Yang				rockchip,pins =
2170dde22233SKever Yang					<2 RK_PC6 RK_FUNC_2 &pcfg_pull_up>;
2171777c834fSKever Yang			};
2172777c834fSKever Yang			spi5_cs0: spi5-cs0 {
2173777c834fSKever Yang				rockchip,pins =
2174dde22233SKever Yang					<2 RK_PC7 RK_FUNC_2 &pcfg_pull_up>;
2175777c834fSKever Yang			};
2176777c834fSKever Yang			spi5_rx: spi5-rx {
2177777c834fSKever Yang				rockchip,pins =
2178dde22233SKever Yang					<2 RK_PC4 RK_FUNC_2 &pcfg_pull_up>;
2179777c834fSKever Yang			};
2180777c834fSKever Yang			spi5_tx: spi5-tx {
2181777c834fSKever Yang				rockchip,pins =
2182dde22233SKever Yang					<2 RK_PC5 RK_FUNC_2 &pcfg_pull_up>;
2183dde22233SKever Yang			};
2184dde22233SKever Yang		};
2185dde22233SKever Yang
2186dde22233SKever Yang		tsadc {
2187dde22233SKever Yang			otp_gpio: otp-gpio {
2188dde22233SKever Yang				rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
2189dde22233SKever Yang			};
2190dde22233SKever Yang
2191dde22233SKever Yang			otp_out: otp-out {
2192dde22233SKever Yang				rockchip,pins = <1 RK_PA6 RK_FUNC_1 &pcfg_pull_none>;
2193777c834fSKever Yang			};
2194777c834fSKever Yang		};
2195777c834fSKever Yang
2196777c834fSKever Yang		uart0 {
2197777c834fSKever Yang			uart0_xfer: uart0-xfer {
2198777c834fSKever Yang				rockchip,pins =
2199dde22233SKever Yang					<2 RK_PC0 RK_FUNC_1 &pcfg_pull_up>,
2200dde22233SKever Yang					<2 RK_PC1 RK_FUNC_1 &pcfg_pull_none>;
2201777c834fSKever Yang			};
2202777c834fSKever Yang
2203777c834fSKever Yang			uart0_cts: uart0-cts {
2204777c834fSKever Yang				rockchip,pins =
2205dde22233SKever Yang					<2 RK_PC2 RK_FUNC_1 &pcfg_pull_none>;
2206777c834fSKever Yang			};
2207777c834fSKever Yang
2208777c834fSKever Yang			uart0_rts: uart0-rts {
2209777c834fSKever Yang				rockchip,pins =
2210dde22233SKever Yang					<2 RK_PC3 RK_FUNC_1 &pcfg_pull_none>;
2211777c834fSKever Yang			};
2212777c834fSKever Yang		};
2213777c834fSKever Yang
2214777c834fSKever Yang		uart1 {
2215777c834fSKever Yang			uart1_xfer: uart1-xfer {
2216777c834fSKever Yang				rockchip,pins =
2217dde22233SKever Yang					<3 RK_PB4 RK_FUNC_2 &pcfg_pull_up>,
2218dde22233SKever Yang					<3 RK_PB5 RK_FUNC_2 &pcfg_pull_none>;
2219777c834fSKever Yang			};
2220777c834fSKever Yang		};
2221777c834fSKever Yang
2222777c834fSKever Yang		uart2a {
2223777c834fSKever Yang			uart2a_xfer: uart2a-xfer {
2224777c834fSKever Yang				rockchip,pins =
2225dde22233SKever Yang					<4 RK_PB0 RK_FUNC_2 &pcfg_pull_up>,
2226dde22233SKever Yang					<4 RK_PB1 RK_FUNC_2 &pcfg_pull_none>;
2227777c834fSKever Yang			};
2228777c834fSKever Yang		};
2229777c834fSKever Yang
2230777c834fSKever Yang		uart2b {
2231777c834fSKever Yang			uart2b_xfer: uart2b-xfer {
2232777c834fSKever Yang				rockchip,pins =
2233dde22233SKever Yang					<4 RK_PC0 RK_FUNC_2 &pcfg_pull_up>,
2234dde22233SKever Yang					<4 RK_PC1 RK_FUNC_2 &pcfg_pull_none>;
2235777c834fSKever Yang			};
2236777c834fSKever Yang		};
2237777c834fSKever Yang
2238777c834fSKever Yang		uart2c {
2239777c834fSKever Yang			uart2c_xfer: uart2c-xfer {
2240777c834fSKever Yang				rockchip,pins =
2241dde22233SKever Yang					<4 RK_PC3 RK_FUNC_1 &pcfg_pull_up>,
2242dde22233SKever Yang					<4 RK_PC4 RK_FUNC_1 &pcfg_pull_none>;
2243777c834fSKever Yang			};
2244777c834fSKever Yang		};
2245777c834fSKever Yang
2246777c834fSKever Yang		uart3 {
2247777c834fSKever Yang			uart3_xfer: uart3-xfer {
2248777c834fSKever Yang				rockchip,pins =
2249dde22233SKever Yang					<3 RK_PB6 RK_FUNC_2 &pcfg_pull_up>,
2250dde22233SKever Yang					<3 RK_PB7 RK_FUNC_2 &pcfg_pull_none>;
2251777c834fSKever Yang			};
2252777c834fSKever Yang
2253777c834fSKever Yang			uart3_cts: uart3-cts {
2254777c834fSKever Yang				rockchip,pins =
2255dde22233SKever Yang					<3 RK_PC2 RK_FUNC_2 &pcfg_pull_none>;
2256777c834fSKever Yang			};
2257777c834fSKever Yang
2258777c834fSKever Yang			uart3_rts: uart3-rts {
2259777c834fSKever Yang				rockchip,pins =
2260dde22233SKever Yang					<3 RK_PC3 RK_FUNC_2 &pcfg_pull_none>;
2261777c834fSKever Yang			};
2262777c834fSKever Yang		};
2263777c834fSKever Yang
2264777c834fSKever Yang		uart4 {
2265777c834fSKever Yang			uart4_xfer: uart4-xfer {
2266777c834fSKever Yang				rockchip,pins =
2267dde22233SKever Yang					<1 RK_PA7 RK_FUNC_1 &pcfg_pull_up>,
2268dde22233SKever Yang					<1 RK_PB0 RK_FUNC_1 &pcfg_pull_none>;
2269777c834fSKever Yang			};
2270777c834fSKever Yang		};
2271777c834fSKever Yang
2272777c834fSKever Yang		uarthdcp {
2273777c834fSKever Yang			uarthdcp_xfer: uarthdcp-xfer {
2274777c834fSKever Yang				rockchip,pins =
2275dde22233SKever Yang					<4 RK_PC5 RK_FUNC_2 &pcfg_pull_up>,
2276dde22233SKever Yang					<4 RK_PC6 RK_FUNC_2 &pcfg_pull_none>;
2277777c834fSKever Yang			};
2278777c834fSKever Yang		};
2279777c834fSKever Yang
2280777c834fSKever Yang		pwm0 {
2281777c834fSKever Yang			pwm0_pin: pwm0-pin {
2282777c834fSKever Yang				rockchip,pins =
2283dde22233SKever Yang					<4 RK_PC2 RK_FUNC_1 &pcfg_pull_none>;
2284777c834fSKever Yang			};
2285777c834fSKever Yang
2286777c834fSKever Yang			vop0_pwm_pin: vop0-pwm-pin {
2287777c834fSKever Yang				rockchip,pins =
2288dde22233SKever Yang					<4 RK_PC2 RK_FUNC_2 &pcfg_pull_none>;
2289777c834fSKever Yang			};
2290777c834fSKever Yang		};
2291777c834fSKever Yang
2292777c834fSKever Yang		pwm1 {
2293777c834fSKever Yang			pwm1_pin: pwm1-pin {
2294777c834fSKever Yang				rockchip,pins =
2295dde22233SKever Yang					<4 RK_PC6 RK_FUNC_1 &pcfg_pull_none>;
2296777c834fSKever Yang			};
2297777c834fSKever Yang
2298777c834fSKever Yang			vop1_pwm_pin: vop1-pwm-pin {
2299777c834fSKever Yang				rockchip,pins =
2300dde22233SKever Yang					<4 RK_PC2 RK_FUNC_3 &pcfg_pull_none>;
2301777c834fSKever Yang			};
2302777c834fSKever Yang		};
2303777c834fSKever Yang
2304777c834fSKever Yang		pwm2 {
2305777c834fSKever Yang			pwm2_pin: pwm2-pin {
2306777c834fSKever Yang				rockchip,pins =
2307dde22233SKever Yang					<1 RK_PC3 RK_FUNC_1 &pcfg_pull_none>;
2308777c834fSKever Yang			};
2309777c834fSKever Yang		};
2310777c834fSKever Yang
2311777c834fSKever Yang		pwm3a {
2312777c834fSKever Yang			pwm3a_pin: pwm3a-pin {
2313777c834fSKever Yang				rockchip,pins =
2314dde22233SKever Yang					<0 RK_PA6 RK_FUNC_1 &pcfg_pull_none>;
2315777c834fSKever Yang			};
2316777c834fSKever Yang		};
2317777c834fSKever Yang
2318777c834fSKever Yang		pwm3b {
2319777c834fSKever Yang			pwm3b_pin: pwm3b-pin {
2320777c834fSKever Yang				rockchip,pins =
2321dde22233SKever Yang					<1 RK_PB6 RK_FUNC_1 &pcfg_pull_none>;
2322777c834fSKever Yang			};
2323777c834fSKever Yang		};
2324dde22233SKever Yang
2325dde22233SKever Yang		hdmi {
2326dde22233SKever Yang			hdmi_i2c_xfer: hdmi-i2c-xfer {
2327dde22233SKever Yang				rockchip,pins =
2328dde22233SKever Yang					<4 RK_PC1 RK_FUNC_3 &pcfg_pull_none>,
2329dde22233SKever Yang					<4 RK_PC0 RK_FUNC_3 &pcfg_pull_none>;
2330dde22233SKever Yang			};
2331dde22233SKever Yang
2332dde22233SKever Yang			hdmi_cec: hdmi-cec {
2333dde22233SKever Yang				rockchip,pins =
2334dde22233SKever Yang					<4 RK_PC7 RK_FUNC_1 &pcfg_pull_none>;
2335dde22233SKever Yang			};
2336dde22233SKever Yang		};
2337dde22233SKever Yang
2338dde22233SKever Yang		pcie {
2339dde22233SKever Yang			pcie_clkreqn: pci-clkreqn {
2340dde22233SKever Yang				rockchip,pins =
2341dde22233SKever Yang					<2 RK_PD2 RK_FUNC_2 &pcfg_pull_none>;
2342dde22233SKever Yang			};
2343dde22233SKever Yang
2344dde22233SKever Yang			pcie_clkreqnb: pci-clkreqnb {
2345dde22233SKever Yang				rockchip,pins =
2346dde22233SKever Yang					<4 RK_PD0 RK_FUNC_1 &pcfg_pull_none>;
2347dde22233SKever Yang			};
2348dde22233SKever Yang
2349dde22233SKever Yang			pcie_clkreqn_cpm: pci-clkreqn-cpm {
2350dde22233SKever Yang				rockchip,pins =
2351dde22233SKever Yang					<2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
2352dde22233SKever Yang			};
2353dde22233SKever Yang
2354dde22233SKever Yang			pcie_clkreqnb_cpm: pci-clkreqnb-cpm {
2355dde22233SKever Yang				rockchip,pins =
2356dde22233SKever Yang					<4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
2357dde22233SKever Yang			};
2358dde22233SKever Yang		};
2359dde22233SKever Yang
2360777c834fSKever Yang	};
2361777c834fSKever Yang};
2362