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