1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*724ba675SRob Herring
3*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
4*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
5*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h>
6*724ba675SRob Herring#include <dt-bindings/clock/rv1108-cru.h>
7*724ba675SRob Herring#include <dt-bindings/pinctrl/rockchip.h>
8*724ba675SRob Herring#include <dt-bindings/thermal/thermal.h>
9*724ba675SRob Herring/ {
10*724ba675SRob Herring	#address-cells = <1>;
11*724ba675SRob Herring	#size-cells = <1>;
12*724ba675SRob Herring
13*724ba675SRob Herring	compatible = "rockchip,rv1108";
14*724ba675SRob Herring
15*724ba675SRob Herring	interrupt-parent = <&gic>;
16*724ba675SRob Herring
17*724ba675SRob Herring	aliases {
18*724ba675SRob Herring		i2c0 = &i2c0;
19*724ba675SRob Herring		i2c1 = &i2c1;
20*724ba675SRob Herring		i2c2 = &i2c2;
21*724ba675SRob Herring		i2c3 = &i2c3;
22*724ba675SRob Herring		serial0 = &uart0;
23*724ba675SRob Herring		serial1 = &uart1;
24*724ba675SRob Herring		serial2 = &uart2;
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	cpus {
28*724ba675SRob Herring		#address-cells = <1>;
29*724ba675SRob Herring		#size-cells = <0>;
30*724ba675SRob Herring
31*724ba675SRob Herring		cpu0: cpu@f00 {
32*724ba675SRob Herring			device_type = "cpu";
33*724ba675SRob Herring			compatible = "arm,cortex-a7";
34*724ba675SRob Herring			reg = <0xf00>;
35*724ba675SRob Herring			clock-latency = <40000>;
36*724ba675SRob Herring			clocks = <&cru ARMCLK>;
37*724ba675SRob Herring			#cooling-cells = <2>; /* min followed by max */
38*724ba675SRob Herring			dynamic-power-coefficient = <75>;
39*724ba675SRob Herring			operating-points-v2 = <&cpu_opp_table>;
40*724ba675SRob Herring		};
41*724ba675SRob Herring	};
42*724ba675SRob Herring
43*724ba675SRob Herring	cpu_opp_table: opp-table-0 {
44*724ba675SRob Herring		compatible = "operating-points-v2";
45*724ba675SRob Herring
46*724ba675SRob Herring		opp-408000000 {
47*724ba675SRob Herring			opp-hz = /bits/ 64 <408000000>;
48*724ba675SRob Herring			opp-microvolt = <975000>;
49*724ba675SRob Herring			clock-latency-ns = <40000>;
50*724ba675SRob Herring		};
51*724ba675SRob Herring		opp-600000000 {
52*724ba675SRob Herring			opp-hz = /bits/ 64 <600000000>;
53*724ba675SRob Herring			opp-microvolt = <975000>;
54*724ba675SRob Herring			clock-latency-ns = <40000>;
55*724ba675SRob Herring		};
56*724ba675SRob Herring		opp-816000000 {
57*724ba675SRob Herring			opp-hz = /bits/ 64 <816000000>;
58*724ba675SRob Herring			opp-microvolt = <1025000>;
59*724ba675SRob Herring			clock-latency-ns = <40000>;
60*724ba675SRob Herring		};
61*724ba675SRob Herring		opp-1008000000 {
62*724ba675SRob Herring			opp-hz = /bits/ 64 <1008000000>;
63*724ba675SRob Herring			opp-microvolt = <1150000>;
64*724ba675SRob Herring			clock-latency-ns = <40000>;
65*724ba675SRob Herring		};
66*724ba675SRob Herring	};
67*724ba675SRob Herring
68*724ba675SRob Herring	arm-pmu {
69*724ba675SRob Herring		compatible = "arm,cortex-a7-pmu";
70*724ba675SRob Herring		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
71*724ba675SRob Herring	};
72*724ba675SRob Herring
73*724ba675SRob Herring	timer {
74*724ba675SRob Herring		compatible = "arm,armv7-timer";
75*724ba675SRob Herring		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>,
76*724ba675SRob Herring			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
77*724ba675SRob Herring		arm,cpu-registers-not-fw-configured;
78*724ba675SRob Herring		clock-frequency = <24000000>;
79*724ba675SRob Herring	};
80*724ba675SRob Herring
81*724ba675SRob Herring	xin24m: oscillator {
82*724ba675SRob Herring		compatible = "fixed-clock";
83*724ba675SRob Herring		clock-frequency = <24000000>;
84*724ba675SRob Herring		clock-output-names = "xin24m";
85*724ba675SRob Herring		#clock-cells = <0>;
86*724ba675SRob Herring	};
87*724ba675SRob Herring
88*724ba675SRob Herring	bus_intmem: sram@10080000 {
89*724ba675SRob Herring		compatible = "mmio-sram";
90*724ba675SRob Herring		reg = <0x10080000 0x2000>;
91*724ba675SRob Herring		#address-cells = <1>;
92*724ba675SRob Herring		#size-cells = <1>;
93*724ba675SRob Herring		ranges = <0 0x10080000 0x2000>;
94*724ba675SRob Herring	};
95*724ba675SRob Herring
96*724ba675SRob Herring	uart2: serial@10210000 {
97*724ba675SRob Herring		compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart";
98*724ba675SRob Herring		reg = <0x10210000 0x100>;
99*724ba675SRob Herring		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
100*724ba675SRob Herring		reg-shift = <2>;
101*724ba675SRob Herring		reg-io-width = <4>;
102*724ba675SRob Herring		clock-frequency = <24000000>;
103*724ba675SRob Herring		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
104*724ba675SRob Herring		clock-names = "baudclk", "apb_pclk";
105*724ba675SRob Herring		dmas = <&pdma 6>, <&pdma 7>;
106*724ba675SRob Herring		pinctrl-names = "default";
107*724ba675SRob Herring		pinctrl-0 = <&uart2m0_xfer>;
108*724ba675SRob Herring		status = "disabled";
109*724ba675SRob Herring	};
110*724ba675SRob Herring
111*724ba675SRob Herring	uart1: serial@10220000 {
112*724ba675SRob Herring		compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart";
113*724ba675SRob Herring		reg = <0x10220000 0x100>;
114*724ba675SRob Herring		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
115*724ba675SRob Herring		reg-shift = <2>;
116*724ba675SRob Herring		reg-io-width = <4>;
117*724ba675SRob Herring		clock-frequency = <24000000>;
118*724ba675SRob Herring		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
119*724ba675SRob Herring		clock-names = "baudclk", "apb_pclk";
120*724ba675SRob Herring		dmas = <&pdma 4>, <&pdma 5>;
121*724ba675SRob Herring		pinctrl-names = "default";
122*724ba675SRob Herring		pinctrl-0 = <&uart1_xfer>;
123*724ba675SRob Herring		status = "disabled";
124*724ba675SRob Herring	};
125*724ba675SRob Herring
126*724ba675SRob Herring	uart0: serial@10230000 {
127*724ba675SRob Herring		compatible = "rockchip,rv1108-uart", "snps,dw-apb-uart";
128*724ba675SRob Herring		reg = <0x10230000 0x100>;
129*724ba675SRob Herring		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
130*724ba675SRob Herring		reg-shift = <2>;
131*724ba675SRob Herring		reg-io-width = <4>;
132*724ba675SRob Herring		clock-frequency = <24000000>;
133*724ba675SRob Herring		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
134*724ba675SRob Herring		clock-names = "baudclk", "apb_pclk";
135*724ba675SRob Herring		dmas = <&pdma 2>, <&pdma 3>;
136*724ba675SRob Herring		pinctrl-names = "default";
137*724ba675SRob Herring		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
138*724ba675SRob Herring		status = "disabled";
139*724ba675SRob Herring	};
140*724ba675SRob Herring
141*724ba675SRob Herring	i2c1: i2c@10240000 {
142*724ba675SRob Herring		compatible = "rockchip,rv1108-i2c";
143*724ba675SRob Herring		reg = <0x10240000 0x1000>;
144*724ba675SRob Herring		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
145*724ba675SRob Herring		#address-cells = <1>;
146*724ba675SRob Herring		#size-cells = <0>;
147*724ba675SRob Herring		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
148*724ba675SRob Herring		clock-names = "i2c", "pclk";
149*724ba675SRob Herring		pinctrl-names = "default";
150*724ba675SRob Herring		pinctrl-0 = <&i2c1_xfer>;
151*724ba675SRob Herring		rockchip,grf = <&grf>;
152*724ba675SRob Herring		status = "disabled";
153*724ba675SRob Herring	};
154*724ba675SRob Herring
155*724ba675SRob Herring	i2c2: i2c@10250000 {
156*724ba675SRob Herring		compatible = "rockchip,rv1108-i2c";
157*724ba675SRob Herring		reg = <0x10250000 0x1000>;
158*724ba675SRob Herring		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
159*724ba675SRob Herring		#address-cells = <1>;
160*724ba675SRob Herring		#size-cells = <0>;
161*724ba675SRob Herring		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
162*724ba675SRob Herring		clock-names = "i2c", "pclk";
163*724ba675SRob Herring		pinctrl-names = "default";
164*724ba675SRob Herring		pinctrl-0 = <&i2c2m1_xfer>;
165*724ba675SRob Herring		rockchip,grf = <&grf>;
166*724ba675SRob Herring		status = "disabled";
167*724ba675SRob Herring	};
168*724ba675SRob Herring
169*724ba675SRob Herring	i2c3: i2c@10260000 {
170*724ba675SRob Herring		compatible = "rockchip,rv1108-i2c";
171*724ba675SRob Herring		reg = <0x10260000 0x1000>;
172*724ba675SRob Herring		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
173*724ba675SRob Herring		#address-cells = <1>;
174*724ba675SRob Herring		#size-cells = <0>;
175*724ba675SRob Herring		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
176*724ba675SRob Herring		clock-names = "i2c", "pclk";
177*724ba675SRob Herring		pinctrl-names = "default";
178*724ba675SRob Herring		pinctrl-0 = <&i2c3_xfer>;
179*724ba675SRob Herring		rockchip,grf = <&grf>;
180*724ba675SRob Herring		status = "disabled";
181*724ba675SRob Herring	};
182*724ba675SRob Herring
183*724ba675SRob Herring	spi: spi@10270000 {
184*724ba675SRob Herring		compatible = "rockchip,rv1108-spi";
185*724ba675SRob Herring		reg = <0x10270000 0x1000>;
186*724ba675SRob Herring		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
187*724ba675SRob Herring		clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
188*724ba675SRob Herring		clock-names = "spiclk", "apb_pclk";
189*724ba675SRob Herring		dmas = <&pdma 8>, <&pdma 9>;
190*724ba675SRob Herring		dma-names = "tx", "rx";
191*724ba675SRob Herring		#address-cells = <1>;
192*724ba675SRob Herring		#size-cells = <0>;
193*724ba675SRob Herring		status = "disabled";
194*724ba675SRob Herring	};
195*724ba675SRob Herring
196*724ba675SRob Herring	pwm4: pwm@10280000 {
197*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
198*724ba675SRob Herring		reg = <0x10280000 0x10>;
199*724ba675SRob Herring		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
200*724ba675SRob Herring		clock-names = "pwm", "pclk";
201*724ba675SRob Herring		pinctrl-names = "default";
202*724ba675SRob Herring		pinctrl-0 = <&pwm4_pin>;
203*724ba675SRob Herring		#pwm-cells = <3>;
204*724ba675SRob Herring		status = "disabled";
205*724ba675SRob Herring	};
206*724ba675SRob Herring
207*724ba675SRob Herring	pwm5: pwm@10280010 {
208*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
209*724ba675SRob Herring		reg = <0x10280010 0x10>;
210*724ba675SRob Herring		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
211*724ba675SRob Herring		clock-names = "pwm", "pclk";
212*724ba675SRob Herring		pinctrl-names = "default";
213*724ba675SRob Herring		pinctrl-0 = <&pwm5_pin>;
214*724ba675SRob Herring		#pwm-cells = <3>;
215*724ba675SRob Herring		status = "disabled";
216*724ba675SRob Herring	};
217*724ba675SRob Herring
218*724ba675SRob Herring	pwm6: pwm@10280020 {
219*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
220*724ba675SRob Herring		reg = <0x10280020 0x10>;
221*724ba675SRob Herring		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
222*724ba675SRob Herring		clock-names = "pwm", "pclk";
223*724ba675SRob Herring		pinctrl-names = "default";
224*724ba675SRob Herring		pinctrl-0 = <&pwm6_pin>;
225*724ba675SRob Herring		#pwm-cells = <3>;
226*724ba675SRob Herring		status = "disabled";
227*724ba675SRob Herring	};
228*724ba675SRob Herring
229*724ba675SRob Herring	pwm7: pwm@10280030 {
230*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
231*724ba675SRob Herring		reg = <0x10280030 0x10>;
232*724ba675SRob Herring		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
233*724ba675SRob Herring		clock-names = "pwm", "pclk";
234*724ba675SRob Herring		pinctrl-names = "default";
235*724ba675SRob Herring		pinctrl-0 = <&pwm7_pin>;
236*724ba675SRob Herring		#pwm-cells = <3>;
237*724ba675SRob Herring		status = "disabled";
238*724ba675SRob Herring	};
239*724ba675SRob Herring
240*724ba675SRob Herring	pdma: dma-controller@102a0000 {
241*724ba675SRob Herring		compatible = "arm,pl330", "arm,primecell";
242*724ba675SRob Herring		reg = <0x102a0000 0x4000>;
243*724ba675SRob Herring		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
244*724ba675SRob Herring		#dma-cells = <1>;
245*724ba675SRob Herring		arm,pl330-broken-no-flushp;
246*724ba675SRob Herring		arm,pl330-periph-burst;
247*724ba675SRob Herring		clocks = <&cru ACLK_DMAC>;
248*724ba675SRob Herring		clock-names = "apb_pclk";
249*724ba675SRob Herring	};
250*724ba675SRob Herring
251*724ba675SRob Herring	grf: syscon@10300000 {
252*724ba675SRob Herring		compatible = "rockchip,rv1108-grf", "syscon", "simple-mfd";
253*724ba675SRob Herring		reg = <0x10300000 0x1000>;
254*724ba675SRob Herring		#address-cells = <1>;
255*724ba675SRob Herring		#size-cells = <1>;
256*724ba675SRob Herring
257*724ba675SRob Herring		io_domains: io-domains {
258*724ba675SRob Herring			compatible = "rockchip,rv1108-io-voltage-domain";
259*724ba675SRob Herring			status = "disabled";
260*724ba675SRob Herring		};
261*724ba675SRob Herring
262*724ba675SRob Herring		u2phy: usb2phy@100 {
263*724ba675SRob Herring			compatible = "rockchip,rv1108-usb2phy";
264*724ba675SRob Herring			reg = <0x100 0x0c>;
265*724ba675SRob Herring			clocks = <&cru SCLK_USBPHY>;
266*724ba675SRob Herring			clock-names = "phyclk";
267*724ba675SRob Herring			#clock-cells = <0>;
268*724ba675SRob Herring			clock-output-names = "usbphy";
269*724ba675SRob Herring			rockchip,usbgrf = <&usbgrf>;
270*724ba675SRob Herring			status = "disabled";
271*724ba675SRob Herring
272*724ba675SRob Herring			u2phy_otg: otg-port {
273*724ba675SRob Herring				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
274*724ba675SRob Herring				interrupt-names = "otg-mux";
275*724ba675SRob Herring				#phy-cells = <0>;
276*724ba675SRob Herring				status = "disabled";
277*724ba675SRob Herring			};
278*724ba675SRob Herring
279*724ba675SRob Herring			u2phy_host: host-port {
280*724ba675SRob Herring				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
281*724ba675SRob Herring				interrupt-names = "linestate";
282*724ba675SRob Herring				#phy-cells = <0>;
283*724ba675SRob Herring				status = "disabled";
284*724ba675SRob Herring			};
285*724ba675SRob Herring		};
286*724ba675SRob Herring	};
287*724ba675SRob Herring
288*724ba675SRob Herring	timer: timer@10350000 {
289*724ba675SRob Herring		compatible = "rockchip,rv1108-timer", "rockchip,rk3288-timer";
290*724ba675SRob Herring		reg = <0x10350000 0x20>;
291*724ba675SRob Herring		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
292*724ba675SRob Herring		clocks = <&cru PCLK_TIMER>, <&xin24m>;
293*724ba675SRob Herring		clock-names = "pclk", "timer";
294*724ba675SRob Herring	};
295*724ba675SRob Herring
296*724ba675SRob Herring	watchdog: watchdog@10360000 {
297*724ba675SRob Herring		compatible = "rockchip,rv1108-wdt", "snps,dw-wdt";
298*724ba675SRob Herring		reg = <0x10360000 0x100>;
299*724ba675SRob Herring		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
300*724ba675SRob Herring		clocks = <&cru PCLK_WDT>;
301*724ba675SRob Herring		status = "disabled";
302*724ba675SRob Herring	};
303*724ba675SRob Herring
304*724ba675SRob Herring	thermal-zones {
305*724ba675SRob Herring		soc_thermal: soc-thermal {
306*724ba675SRob Herring			polling-delay-passive = <20>;
307*724ba675SRob Herring			polling-delay = <1000>;
308*724ba675SRob Herring			sustainable-power = <50>;
309*724ba675SRob Herring			thermal-sensors = <&tsadc 0>;
310*724ba675SRob Herring
311*724ba675SRob Herring			trips {
312*724ba675SRob Herring				threshold: trip-point0 {
313*724ba675SRob Herring					temperature = <70000>;
314*724ba675SRob Herring					hysteresis = <2000>;
315*724ba675SRob Herring					type = "passive";
316*724ba675SRob Herring				};
317*724ba675SRob Herring				target: trip-point1 {
318*724ba675SRob Herring					temperature = <85000>;
319*724ba675SRob Herring					hysteresis = <2000>;
320*724ba675SRob Herring					type = "passive";
321*724ba675SRob Herring				};
322*724ba675SRob Herring				soc_crit: soc-crit {
323*724ba675SRob Herring					temperature = <95000>;
324*724ba675SRob Herring					hysteresis = <2000>;
325*724ba675SRob Herring					type = "critical";
326*724ba675SRob Herring				};
327*724ba675SRob Herring			};
328*724ba675SRob Herring
329*724ba675SRob Herring			cooling-maps {
330*724ba675SRob Herring				map0 {
331*724ba675SRob Herring					trip = <&target>;
332*724ba675SRob Herring					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
333*724ba675SRob Herring					contribution = <4096>;
334*724ba675SRob Herring				};
335*724ba675SRob Herring			};
336*724ba675SRob Herring		};
337*724ba675SRob Herring	};
338*724ba675SRob Herring
339*724ba675SRob Herring	tsadc: tsadc@10370000 {
340*724ba675SRob Herring		compatible = "rockchip,rv1108-tsadc";
341*724ba675SRob Herring		reg = <0x10370000 0x100>;
342*724ba675SRob Herring		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
343*724ba675SRob Herring		assigned-clocks = <&cru SCLK_TSADC>;
344*724ba675SRob Herring		assigned-clock-rates = <750000>;
345*724ba675SRob Herring		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
346*724ba675SRob Herring		clock-names = "tsadc", "apb_pclk";
347*724ba675SRob Herring		pinctrl-names = "init", "default", "sleep";
348*724ba675SRob Herring		pinctrl-0 = <&otp_pin>;
349*724ba675SRob Herring		pinctrl-1 = <&otp_out>;
350*724ba675SRob Herring		pinctrl-2 = <&otp_pin>;
351*724ba675SRob Herring		resets = <&cru SRST_TSADC>;
352*724ba675SRob Herring		reset-names = "tsadc-apb";
353*724ba675SRob Herring		rockchip,hw-tshut-temp = <120000>;
354*724ba675SRob Herring		#thermal-sensor-cells = <1>;
355*724ba675SRob Herring		status = "disabled";
356*724ba675SRob Herring	};
357*724ba675SRob Herring
358*724ba675SRob Herring	adc: adc@1038c000 {
359*724ba675SRob Herring		compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc";
360*724ba675SRob Herring		reg = <0x1038c000 0x100>;
361*724ba675SRob Herring		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
362*724ba675SRob Herring		#io-channel-cells = <1>;
363*724ba675SRob Herring		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
364*724ba675SRob Herring		clock-names = "saradc", "apb_pclk";
365*724ba675SRob Herring		status = "disabled";
366*724ba675SRob Herring	};
367*724ba675SRob Herring
368*724ba675SRob Herring	i2c0: i2c@20000000 {
369*724ba675SRob Herring		compatible = "rockchip,rv1108-i2c";
370*724ba675SRob Herring		reg = <0x20000000 0x1000>;
371*724ba675SRob Herring		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
372*724ba675SRob Herring		#address-cells = <1>;
373*724ba675SRob Herring		#size-cells = <0>;
374*724ba675SRob Herring		clocks = <&cru SCLK_I2C0_PMU>, <&cru PCLK_I2C0_PMU>;
375*724ba675SRob Herring		clock-names = "i2c", "pclk";
376*724ba675SRob Herring		pinctrl-names = "default";
377*724ba675SRob Herring		pinctrl-0 = <&i2c0_xfer>;
378*724ba675SRob Herring		rockchip,grf = <&grf>;
379*724ba675SRob Herring		status = "disabled";
380*724ba675SRob Herring	};
381*724ba675SRob Herring
382*724ba675SRob Herring	pwm0: pwm@20040000 {
383*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
384*724ba675SRob Herring		reg = <0x20040000 0x10>;
385*724ba675SRob Herring		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
386*724ba675SRob Herring		clock-names = "pwm", "pclk";
387*724ba675SRob Herring		pinctrl-names = "default";
388*724ba675SRob Herring		pinctrl-0 = <&pwm0_pin>;
389*724ba675SRob Herring		#pwm-cells = <3>;
390*724ba675SRob Herring		status = "disabled";
391*724ba675SRob Herring	};
392*724ba675SRob Herring
393*724ba675SRob Herring	pwm1: pwm@20040010 {
394*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
395*724ba675SRob Herring		reg = <0x20040010 0x10>;
396*724ba675SRob Herring		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
397*724ba675SRob Herring		clock-names = "pwm", "pclk";
398*724ba675SRob Herring		pinctrl-names = "default";
399*724ba675SRob Herring		pinctrl-0 = <&pwm1_pin>;
400*724ba675SRob Herring		#pwm-cells = <3>;
401*724ba675SRob Herring		status = "disabled";
402*724ba675SRob Herring	};
403*724ba675SRob Herring
404*724ba675SRob Herring	pwm2: pwm@20040020 {
405*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
406*724ba675SRob Herring		reg = <0x20040020 0x10>;
407*724ba675SRob Herring		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
408*724ba675SRob Herring		clock-names = "pwm", "pclk";
409*724ba675SRob Herring		pinctrl-names = "default";
410*724ba675SRob Herring		pinctrl-0 = <&pwm2_pin>;
411*724ba675SRob Herring		#pwm-cells = <3>;
412*724ba675SRob Herring		status = "disabled";
413*724ba675SRob Herring	};
414*724ba675SRob Herring
415*724ba675SRob Herring	pwm3: pwm@20040030 {
416*724ba675SRob Herring		compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";
417*724ba675SRob Herring		reg = <0x20040030 0x10>;
418*724ba675SRob Herring		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
419*724ba675SRob Herring		clock-names = "pwm", "pclk";
420*724ba675SRob Herring		pinctrl-names = "default";
421*724ba675SRob Herring		pinctrl-0 = <&pwm3_pin>;
422*724ba675SRob Herring		#pwm-cells = <3>;
423*724ba675SRob Herring		status = "disabled";
424*724ba675SRob Herring	};
425*724ba675SRob Herring
426*724ba675SRob Herring	pmugrf: syscon@20060000 {
427*724ba675SRob Herring		compatible = "rockchip,rv1108-pmugrf", "syscon", "simple-mfd";
428*724ba675SRob Herring		reg = <0x20060000 0x1000>;
429*724ba675SRob Herring
430*724ba675SRob Herring		pmu_io_domains: io-domains {
431*724ba675SRob Herring			compatible = "rockchip,rv1108-pmu-io-voltage-domain";
432*724ba675SRob Herring			status = "disabled";
433*724ba675SRob Herring		};
434*724ba675SRob Herring	};
435*724ba675SRob Herring
436*724ba675SRob Herring	usbgrf: syscon@202a0000 {
437*724ba675SRob Herring		compatible = "rockchip,rv1108-usbgrf", "syscon";
438*724ba675SRob Herring		reg = <0x202a0000 0x1000>;
439*724ba675SRob Herring	};
440*724ba675SRob Herring
441*724ba675SRob Herring	cru: clock-controller@20200000 {
442*724ba675SRob Herring		compatible = "rockchip,rv1108-cru";
443*724ba675SRob Herring		reg = <0x20200000 0x1000>;
444*724ba675SRob Herring		clocks = <&xin24m>;
445*724ba675SRob Herring		clock-names = "xin24m";
446*724ba675SRob Herring		rockchip,grf = <&grf>;
447*724ba675SRob Herring		#clock-cells = <1>;
448*724ba675SRob Herring		#reset-cells = <1>;
449*724ba675SRob Herring	};
450*724ba675SRob Herring
451*724ba675SRob Herring	nfc: nand-controller@30100000 {
452*724ba675SRob Herring		compatible = "rockchip,rv1108-nfc";
453*724ba675SRob Herring		reg = <0x30100000  0x1000>;
454*724ba675SRob Herring		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
455*724ba675SRob Herring		clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
456*724ba675SRob Herring		clock-names = "ahb", "nfc";
457*724ba675SRob Herring		assigned-clocks = <&cru SCLK_NANDC>;
458*724ba675SRob Herring		assigned-clock-rates = <150000000>;
459*724ba675SRob Herring		status = "disabled";
460*724ba675SRob Herring	};
461*724ba675SRob Herring
462*724ba675SRob Herring	emmc: mmc@30110000 {
463*724ba675SRob Herring		compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc";
464*724ba675SRob Herring		reg = <0x30110000 0x4000>;
465*724ba675SRob Herring		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
466*724ba675SRob Herring		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
467*724ba675SRob Herring			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
468*724ba675SRob Herring		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
469*724ba675SRob Herring		fifo-depth = <0x100>;
470*724ba675SRob Herring		max-frequency = <150000000>;
471*724ba675SRob Herring		status = "disabled";
472*724ba675SRob Herring	};
473*724ba675SRob Herring
474*724ba675SRob Herring	sdio: mmc@30120000 {
475*724ba675SRob Herring		compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc";
476*724ba675SRob Herring		reg = <0x30120000 0x4000>;
477*724ba675SRob Herring		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
478*724ba675SRob Herring		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
479*724ba675SRob Herring			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
480*724ba675SRob Herring		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
481*724ba675SRob Herring		fifo-depth = <0x100>;
482*724ba675SRob Herring		max-frequency = <150000000>;
483*724ba675SRob Herring		status = "disabled";
484*724ba675SRob Herring	};
485*724ba675SRob Herring
486*724ba675SRob Herring	sdmmc: mmc@30130000 {
487*724ba675SRob Herring		compatible = "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc";
488*724ba675SRob Herring		reg = <0x30130000 0x4000>;
489*724ba675SRob Herring		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
490*724ba675SRob Herring		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
491*724ba675SRob Herring			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
492*724ba675SRob Herring		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
493*724ba675SRob Herring		fifo-depth = <0x100>;
494*724ba675SRob Herring		max-frequency = <100000000>;
495*724ba675SRob Herring		pinctrl-names = "default";
496*724ba675SRob Herring		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
497*724ba675SRob Herring		status = "disabled";
498*724ba675SRob Herring	};
499*724ba675SRob Herring
500*724ba675SRob Herring	usb_host_ehci: usb@30140000 {
501*724ba675SRob Herring		compatible = "generic-ehci";
502*724ba675SRob Herring		reg = <0x30140000 0x20000>;
503*724ba675SRob Herring		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
504*724ba675SRob Herring		clocks = <&cru HCLK_HOST0>, <&u2phy>;
505*724ba675SRob Herring		phys = <&u2phy_host>;
506*724ba675SRob Herring		phy-names = "usb";
507*724ba675SRob Herring		status = "disabled";
508*724ba675SRob Herring	};
509*724ba675SRob Herring
510*724ba675SRob Herring	usb_host_ohci: usb@30160000 {
511*724ba675SRob Herring		compatible = "generic-ohci";
512*724ba675SRob Herring		reg = <0x30160000 0x20000>;
513*724ba675SRob Herring		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
514*724ba675SRob Herring		clocks = <&cru HCLK_HOST0>, <&u2phy>;
515*724ba675SRob Herring		phys = <&u2phy_host>;
516*724ba675SRob Herring		phy-names = "usb";
517*724ba675SRob Herring		status = "disabled";
518*724ba675SRob Herring	};
519*724ba675SRob Herring
520*724ba675SRob Herring	usb_otg: usb@30180000 {
521*724ba675SRob Herring		compatible = "rockchip,rv1108-usb", "rockchip,rk3066-usb",
522*724ba675SRob Herring			     "snps,dwc2";
523*724ba675SRob Herring		reg = <0x30180000 0x40000>;
524*724ba675SRob Herring		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
525*724ba675SRob Herring		clocks = <&cru HCLK_OTG>;
526*724ba675SRob Herring		clock-names = "otg";
527*724ba675SRob Herring		dr_mode = "otg";
528*724ba675SRob Herring		g-np-tx-fifo-size = <16>;
529*724ba675SRob Herring		g-rx-fifo-size = <280>;
530*724ba675SRob Herring		g-tx-fifo-size = <256 128 128 64 32 16>;
531*724ba675SRob Herring		phys = <&u2phy_otg>;
532*724ba675SRob Herring		phy-names = "usb2-phy";
533*724ba675SRob Herring		status = "disabled";
534*724ba675SRob Herring	};
535*724ba675SRob Herring
536*724ba675SRob Herring	sfc: spi@301c0000 {
537*724ba675SRob Herring		compatible = "rockchip,sfc";
538*724ba675SRob Herring		reg = <0x301c0000 0x4000>;
539*724ba675SRob Herring		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
540*724ba675SRob Herring		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
541*724ba675SRob Herring		clock-names = "clk_sfc", "hclk_sfc";
542*724ba675SRob Herring		pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus4>;
543*724ba675SRob Herring		pinctrl-names = "default";
544*724ba675SRob Herring		status = "disabled";
545*724ba675SRob Herring	};
546*724ba675SRob Herring
547*724ba675SRob Herring	gmac: ethernet@30200000 {
548*724ba675SRob Herring		compatible = "rockchip,rv1108-gmac";
549*724ba675SRob Herring		reg = <0x30200000 0x10000>;
550*724ba675SRob Herring		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
551*724ba675SRob Herring			     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
552*724ba675SRob Herring		interrupt-names = "macirq", "eth_wake_irq";
553*724ba675SRob Herring		clocks = <&cru SCLK_MAC>,
554*724ba675SRob Herring			<&cru SCLK_MAC_RX>, <&cru SCLK_MAC_RX>,
555*724ba675SRob Herring			<&cru SCLK_MAC_REF>, <&cru SCLK_MAC_REFOUT>,
556*724ba675SRob Herring			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
557*724ba675SRob Herring		clock-names = "stmmaceth",
558*724ba675SRob Herring			"mac_clk_rx", "mac_clk_tx",
559*724ba675SRob Herring			"clk_mac_ref", "clk_mac_refout",
560*724ba675SRob Herring			"aclk_mac", "pclk_mac";
561*724ba675SRob Herring		/* rv1108 only supports an rmii interface */
562*724ba675SRob Herring		phy-mode = "rmii";
563*724ba675SRob Herring		pinctrl-names = "default";
564*724ba675SRob Herring		pinctrl-0 = <&rmii_pins>;
565*724ba675SRob Herring		rockchip,grf = <&grf>;
566*724ba675SRob Herring		status = "disabled";
567*724ba675SRob Herring	};
568*724ba675SRob Herring
569*724ba675SRob Herring	gic: interrupt-controller@32010000 {
570*724ba675SRob Herring		compatible = "arm,gic-400";
571*724ba675SRob Herring		interrupt-controller;
572*724ba675SRob Herring		#interrupt-cells = <3>;
573*724ba675SRob Herring		#address-cells = <0>;
574*724ba675SRob Herring
575*724ba675SRob Herring		reg = <0x32011000 0x1000>,
576*724ba675SRob Herring		      <0x32012000 0x2000>,
577*724ba675SRob Herring		      <0x32014000 0x2000>,
578*724ba675SRob Herring		      <0x32016000 0x2000>;
579*724ba675SRob Herring		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
580*724ba675SRob Herring	};
581*724ba675SRob Herring
582*724ba675SRob Herring	pinctrl: pinctrl {
583*724ba675SRob Herring		compatible = "rockchip,rv1108-pinctrl";
584*724ba675SRob Herring		rockchip,grf = <&grf>;
585*724ba675SRob Herring		rockchip,pmu = <&pmugrf>;
586*724ba675SRob Herring		#address-cells = <1>;
587*724ba675SRob Herring		#size-cells = <1>;
588*724ba675SRob Herring		ranges;
589*724ba675SRob Herring
590*724ba675SRob Herring		gpio0: gpio@20030000 {
591*724ba675SRob Herring			compatible = "rockchip,gpio-bank";
592*724ba675SRob Herring			reg = <0x20030000 0x100>;
593*724ba675SRob Herring			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
594*724ba675SRob Herring			clocks = <&cru PCLK_GPIO0_PMU>;
595*724ba675SRob Herring
596*724ba675SRob Herring			gpio-controller;
597*724ba675SRob Herring			#gpio-cells = <2>;
598*724ba675SRob Herring
599*724ba675SRob Herring			interrupt-controller;
600*724ba675SRob Herring			#interrupt-cells = <2>;
601*724ba675SRob Herring		};
602*724ba675SRob Herring
603*724ba675SRob Herring		gpio1: gpio@10310000 {
604*724ba675SRob Herring			compatible = "rockchip,gpio-bank";
605*724ba675SRob Herring			reg = <0x10310000 0x100>;
606*724ba675SRob Herring			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
607*724ba675SRob Herring			clocks = <&cru PCLK_GPIO1>;
608*724ba675SRob Herring
609*724ba675SRob Herring			gpio-controller;
610*724ba675SRob Herring			#gpio-cells = <2>;
611*724ba675SRob Herring
612*724ba675SRob Herring			interrupt-controller;
613*724ba675SRob Herring			#interrupt-cells = <2>;
614*724ba675SRob Herring		};
615*724ba675SRob Herring
616*724ba675SRob Herring		gpio2: gpio@10320000 {
617*724ba675SRob Herring			compatible = "rockchip,gpio-bank";
618*724ba675SRob Herring			reg = <0x10320000 0x100>;
619*724ba675SRob Herring			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
620*724ba675SRob Herring			clocks = <&cru PCLK_GPIO2>;
621*724ba675SRob Herring
622*724ba675SRob Herring			gpio-controller;
623*724ba675SRob Herring			#gpio-cells = <2>;
624*724ba675SRob Herring
625*724ba675SRob Herring			interrupt-controller;
626*724ba675SRob Herring			#interrupt-cells = <2>;
627*724ba675SRob Herring		};
628*724ba675SRob Herring
629*724ba675SRob Herring		gpio3: gpio@10330000 {
630*724ba675SRob Herring			compatible = "rockchip,gpio-bank";
631*724ba675SRob Herring			reg = <0x10330000 0x100>;
632*724ba675SRob Herring			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
633*724ba675SRob Herring			clocks = <&cru PCLK_GPIO3>;
634*724ba675SRob Herring
635*724ba675SRob Herring			gpio-controller;
636*724ba675SRob Herring			#gpio-cells = <2>;
637*724ba675SRob Herring
638*724ba675SRob Herring			interrupt-controller;
639*724ba675SRob Herring			#interrupt-cells = <2>;
640*724ba675SRob Herring		};
641*724ba675SRob Herring
642*724ba675SRob Herring		pcfg_pull_up: pcfg-pull-up {
643*724ba675SRob Herring			bias-pull-up;
644*724ba675SRob Herring		};
645*724ba675SRob Herring
646*724ba675SRob Herring		pcfg_pull_down: pcfg-pull-down {
647*724ba675SRob Herring			bias-pull-down;
648*724ba675SRob Herring		};
649*724ba675SRob Herring
650*724ba675SRob Herring		pcfg_pull_none: pcfg-pull-none {
651*724ba675SRob Herring			bias-disable;
652*724ba675SRob Herring		};
653*724ba675SRob Herring
654*724ba675SRob Herring		pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
655*724ba675SRob Herring			drive-strength = <8>;
656*724ba675SRob Herring		};
657*724ba675SRob Herring
658*724ba675SRob Herring		pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
659*724ba675SRob Herring			drive-strength = <12>;
660*724ba675SRob Herring		};
661*724ba675SRob Herring
662*724ba675SRob Herring		pcfg_pull_none_smt: pcfg-pull-none-smt {
663*724ba675SRob Herring			bias-disable;
664*724ba675SRob Herring			input-schmitt-enable;
665*724ba675SRob Herring		};
666*724ba675SRob Herring
667*724ba675SRob Herring		pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
668*724ba675SRob Herring			bias-pull-up;
669*724ba675SRob Herring			drive-strength = <8>;
670*724ba675SRob Herring		};
671*724ba675SRob Herring
672*724ba675SRob Herring		pcfg_pull_none_drv_4ma: pcfg-pull-none-drv-4ma {
673*724ba675SRob Herring			drive-strength = <4>;
674*724ba675SRob Herring		};
675*724ba675SRob Herring
676*724ba675SRob Herring		pcfg_pull_up_drv_4ma: pcfg-pull-up-drv-4ma {
677*724ba675SRob Herring			bias-pull-up;
678*724ba675SRob Herring			drive-strength = <4>;
679*724ba675SRob Herring		};
680*724ba675SRob Herring
681*724ba675SRob Herring		pcfg_output_high: pcfg-output-high {
682*724ba675SRob Herring			output-high;
683*724ba675SRob Herring		};
684*724ba675SRob Herring
685*724ba675SRob Herring		pcfg_output_low: pcfg-output-low {
686*724ba675SRob Herring			output-low;
687*724ba675SRob Herring		};
688*724ba675SRob Herring
689*724ba675SRob Herring		pcfg_input_high: pcfg-input-high {
690*724ba675SRob Herring			bias-pull-up;
691*724ba675SRob Herring			input-enable;
692*724ba675SRob Herring		};
693*724ba675SRob Herring
694*724ba675SRob Herring		emmc {
695*724ba675SRob Herring			emmc_bus8: emmc-bus8 {
696*724ba675SRob Herring				rockchip,pins = <2 RK_PA0 2 &pcfg_pull_up_drv_8ma>,
697*724ba675SRob Herring						<2 RK_PA1 2 &pcfg_pull_up_drv_8ma>,
698*724ba675SRob Herring						<2 RK_PA2 2 &pcfg_pull_up_drv_8ma>,
699*724ba675SRob Herring						<2 RK_PA3 2 &pcfg_pull_up_drv_8ma>,
700*724ba675SRob Herring						<2 RK_PA4 2 &pcfg_pull_up_drv_8ma>,
701*724ba675SRob Herring						<2 RK_PA5 2 &pcfg_pull_up_drv_8ma>,
702*724ba675SRob Herring						<2 RK_PA6 2 &pcfg_pull_up_drv_8ma>,
703*724ba675SRob Herring						<2 RK_PA7 2 &pcfg_pull_up_drv_8ma>;
704*724ba675SRob Herring			};
705*724ba675SRob Herring
706*724ba675SRob Herring			emmc_clk: emmc-clk {
707*724ba675SRob Herring				rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none_drv_8ma>;
708*724ba675SRob Herring			};
709*724ba675SRob Herring
710*724ba675SRob Herring			emmc_cmd: emmc-cmd {
711*724ba675SRob Herring				rockchip,pins = <2 RK_PB4 2 &pcfg_pull_up_drv_8ma>;
712*724ba675SRob Herring			};
713*724ba675SRob Herring		};
714*724ba675SRob Herring
715*724ba675SRob Herring		sfc {
716*724ba675SRob Herring			sfc_bus4: sfc-bus4 {
717*724ba675SRob Herring				rockchip,pins =
718*724ba675SRob Herring					<2 RK_PA0 3 &pcfg_pull_none>,
719*724ba675SRob Herring					<2 RK_PA1 3 &pcfg_pull_none>,
720*724ba675SRob Herring					<2 RK_PA2 3 &pcfg_pull_none>,
721*724ba675SRob Herring					<2 RK_PA3 3 &pcfg_pull_none>;
722*724ba675SRob Herring			};
723*724ba675SRob Herring
724*724ba675SRob Herring			sfc_bus2: sfc-bus2 {
725*724ba675SRob Herring				rockchip,pins =
726*724ba675SRob Herring					<2 RK_PA0 3 &pcfg_pull_none>,
727*724ba675SRob Herring					<2 RK_PA1 3 &pcfg_pull_none>;
728*724ba675SRob Herring			};
729*724ba675SRob Herring
730*724ba675SRob Herring			sfc_cs0: sfc-cs0 {
731*724ba675SRob Herring				rockchip,pins =
732*724ba675SRob Herring					<2 RK_PB4 3 &pcfg_pull_none>;
733*724ba675SRob Herring			};
734*724ba675SRob Herring
735*724ba675SRob Herring			sfc_clk: sfc-clk {
736*724ba675SRob Herring				rockchip,pins =
737*724ba675SRob Herring					<2 RK_PB7 2 &pcfg_pull_none>;
738*724ba675SRob Herring			};
739*724ba675SRob Herring		};
740*724ba675SRob Herring
741*724ba675SRob Herring		gmac {
742*724ba675SRob Herring			rmii_pins: rmii-pins {
743*724ba675SRob Herring				rockchip,pins = <1 RK_PC5 2 &pcfg_pull_none>,
744*724ba675SRob Herring						<1 RK_PC3 2 &pcfg_pull_none>,
745*724ba675SRob Herring						<1 RK_PC4 2 &pcfg_pull_none>,
746*724ba675SRob Herring						<1 RK_PB2 3 &pcfg_pull_none_drv_12ma>,
747*724ba675SRob Herring						<1 RK_PB3 3 &pcfg_pull_none_drv_12ma>,
748*724ba675SRob Herring						<1 RK_PB4 3 &pcfg_pull_none_drv_12ma>,
749*724ba675SRob Herring						<1 RK_PB5 3 &pcfg_pull_none>,
750*724ba675SRob Herring						<1 RK_PB6 3 &pcfg_pull_none>,
751*724ba675SRob Herring						<1 RK_PB7 3 &pcfg_pull_none>,
752*724ba675SRob Herring						<1 RK_PC2 3 &pcfg_pull_none>;
753*724ba675SRob Herring			};
754*724ba675SRob Herring		};
755*724ba675SRob Herring
756*724ba675SRob Herring		i2c0 {
757*724ba675SRob Herring			i2c0_xfer: i2c0-xfer {
758*724ba675SRob Herring				rockchip,pins = <0 RK_PB1 1 &pcfg_pull_none_smt>,
759*724ba675SRob Herring						<0 RK_PB2 1 &pcfg_pull_none_smt>;
760*724ba675SRob Herring			};
761*724ba675SRob Herring		};
762*724ba675SRob Herring
763*724ba675SRob Herring		i2c1 {
764*724ba675SRob Herring			i2c1_xfer: i2c1-xfer {
765*724ba675SRob Herring				rockchip,pins = <2 RK_PD3 1 &pcfg_pull_up>,
766*724ba675SRob Herring						<2 RK_PD4 1 &pcfg_pull_up>;
767*724ba675SRob Herring			};
768*724ba675SRob Herring		};
769*724ba675SRob Herring
770*724ba675SRob Herring		i2c2m1 {
771*724ba675SRob Herring			i2c2m1_xfer: i2c2m1-xfer {
772*724ba675SRob Herring				rockchip,pins = <0 RK_PC2 2 &pcfg_pull_none>,
773*724ba675SRob Herring						<0 RK_PC6 3 &pcfg_pull_none>;
774*724ba675SRob Herring			};
775*724ba675SRob Herring
776*724ba675SRob Herring			i2c2m1_pins: i2c2m1-pins {
777*724ba675SRob Herring				rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>,
778*724ba675SRob Herring						<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
779*724ba675SRob Herring			};
780*724ba675SRob Herring		};
781*724ba675SRob Herring
782*724ba675SRob Herring		i2c2m05v {
783*724ba675SRob Herring			i2c2m05v_xfer: i2c2m05v-xfer {
784*724ba675SRob Herring				rockchip,pins = <1 RK_PD5 2 &pcfg_pull_none>,
785*724ba675SRob Herring						<1 RK_PD4 2 &pcfg_pull_none>;
786*724ba675SRob Herring			};
787*724ba675SRob Herring
788*724ba675SRob Herring			i2c2m05v_pins: i2c2m05v-pins {
789*724ba675SRob Herring				rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>,
790*724ba675SRob Herring						<1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
791*724ba675SRob Herring			};
792*724ba675SRob Herring		};
793*724ba675SRob Herring
794*724ba675SRob Herring		i2c3 {
795*724ba675SRob Herring			i2c3_xfer: i2c3-xfer {
796*724ba675SRob Herring				rockchip,pins = <0 RK_PB6 1 &pcfg_pull_none>,
797*724ba675SRob Herring						<0 RK_PC4 2 &pcfg_pull_none>;
798*724ba675SRob Herring			};
799*724ba675SRob Herring		};
800*724ba675SRob Herring
801*724ba675SRob Herring		pwm0 {
802*724ba675SRob Herring			pwm0_pin: pwm0-pin {
803*724ba675SRob Herring				rockchip,pins = <0 RK_PC5 1 &pcfg_pull_none>;
804*724ba675SRob Herring			};
805*724ba675SRob Herring		};
806*724ba675SRob Herring
807*724ba675SRob Herring		pwm1 {
808*724ba675SRob Herring			pwm1_pin: pwm1-pin {
809*724ba675SRob Herring				rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>;
810*724ba675SRob Herring			};
811*724ba675SRob Herring		};
812*724ba675SRob Herring
813*724ba675SRob Herring		pwm2 {
814*724ba675SRob Herring			pwm2_pin: pwm2-pin {
815*724ba675SRob Herring				rockchip,pins = <0 RK_PC6 1 &pcfg_pull_none>;
816*724ba675SRob Herring			};
817*724ba675SRob Herring		};
818*724ba675SRob Herring
819*724ba675SRob Herring		pwm3 {
820*724ba675SRob Herring			pwm3_pin: pwm3-pin {
821*724ba675SRob Herring				rockchip,pins = <0 RK_PC0 1 &pcfg_pull_none>;
822*724ba675SRob Herring			};
823*724ba675SRob Herring		};
824*724ba675SRob Herring
825*724ba675SRob Herring		pwm4 {
826*724ba675SRob Herring			pwm4_pin: pwm4-pin {
827*724ba675SRob Herring				rockchip,pins = <1 RK_PC1 3 &pcfg_pull_none>;
828*724ba675SRob Herring			};
829*724ba675SRob Herring		};
830*724ba675SRob Herring
831*724ba675SRob Herring		pwm5 {
832*724ba675SRob Herring			pwm5_pin: pwm5-pin {
833*724ba675SRob Herring				rockchip,pins = <1 RK_PA7 2 &pcfg_pull_none>;
834*724ba675SRob Herring			};
835*724ba675SRob Herring		};
836*724ba675SRob Herring
837*724ba675SRob Herring		pwm6 {
838*724ba675SRob Herring			pwm6_pin: pwm6-pin {
839*724ba675SRob Herring				rockchip,pins = <1 RK_PB0 2 &pcfg_pull_none>;
840*724ba675SRob Herring			};
841*724ba675SRob Herring		};
842*724ba675SRob Herring
843*724ba675SRob Herring		pwm7 {
844*724ba675SRob Herring			pwm7_pin: pwm7-pin {
845*724ba675SRob Herring				rockchip,pins = <1 RK_PB1 2 &pcfg_pull_none>;
846*724ba675SRob Herring			};
847*724ba675SRob Herring		};
848*724ba675SRob Herring
849*724ba675SRob Herring		sdmmc {
850*724ba675SRob Herring			sdmmc_clk: sdmmc-clk {
851*724ba675SRob Herring				rockchip,pins = <3 RK_PC4 1 &pcfg_pull_none_drv_4ma>;
852*724ba675SRob Herring			};
853*724ba675SRob Herring
854*724ba675SRob Herring			sdmmc_cmd: sdmmc-cmd {
855*724ba675SRob Herring				rockchip,pins = <3 RK_PC5 1 &pcfg_pull_up_drv_4ma>;
856*724ba675SRob Herring			};
857*724ba675SRob Herring
858*724ba675SRob Herring			sdmmc_cd: sdmmc-cd {
859*724ba675SRob Herring				rockchip,pins = <0 RK_PA1 1 &pcfg_pull_up_drv_4ma>;
860*724ba675SRob Herring			};
861*724ba675SRob Herring
862*724ba675SRob Herring			sdmmc_bus1: sdmmc-bus1 {
863*724ba675SRob Herring				rockchip,pins = <3 RK_PC3 1 &pcfg_pull_up_drv_4ma>;
864*724ba675SRob Herring			};
865*724ba675SRob Herring
866*724ba675SRob Herring			sdmmc_bus4: sdmmc-bus4 {
867*724ba675SRob Herring				rockchip,pins = <3 RK_PC3 1 &pcfg_pull_up_drv_4ma>,
868*724ba675SRob Herring						<3 RK_PC2 1 &pcfg_pull_up_drv_4ma>,
869*724ba675SRob Herring						<3 RK_PC1 1 &pcfg_pull_up_drv_4ma>,
870*724ba675SRob Herring						<3 RK_PC0 1 &pcfg_pull_up_drv_4ma>;
871*724ba675SRob Herring			};
872*724ba675SRob Herring		};
873*724ba675SRob Herring
874*724ba675SRob Herring		spim0 {
875*724ba675SRob Herring			spim0_clk: spim0-clk {
876*724ba675SRob Herring				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_up>;
877*724ba675SRob Herring			};
878*724ba675SRob Herring
879*724ba675SRob Herring			spim0_cs0: spim0-cs0 {
880*724ba675SRob Herring				rockchip,pins = <1 RK_PD1 2 &pcfg_pull_up>;
881*724ba675SRob Herring			};
882*724ba675SRob Herring
883*724ba675SRob Herring			spim0_tx: spim0-tx {
884*724ba675SRob Herring				rockchip,pins = <1 RK_PD3 2 &pcfg_pull_up>;
885*724ba675SRob Herring			};
886*724ba675SRob Herring
887*724ba675SRob Herring			spim0_rx: spim0-rx {
888*724ba675SRob Herring				rockchip,pins = <1 RK_PD2 2 &pcfg_pull_up>;
889*724ba675SRob Herring			};
890*724ba675SRob Herring		};
891*724ba675SRob Herring
892*724ba675SRob Herring		spim1 {
893*724ba675SRob Herring			spim1_clk: spim1-clk {
894*724ba675SRob Herring				rockchip,pins = <0 RK_PA3 1 &pcfg_pull_up>;
895*724ba675SRob Herring			};
896*724ba675SRob Herring
897*724ba675SRob Herring			spim1_cs0: spim1-cs0 {
898*724ba675SRob Herring				rockchip,pins = <0 RK_PA4 1 &pcfg_pull_up>;
899*724ba675SRob Herring			};
900*724ba675SRob Herring
901*724ba675SRob Herring			spim1_rx: spim1-rx {
902*724ba675SRob Herring				rockchip,pins = <0 RK_PB0 1 &pcfg_pull_up>;
903*724ba675SRob Herring			};
904*724ba675SRob Herring
905*724ba675SRob Herring			spim1_tx: spim1-tx {
906*724ba675SRob Herring				rockchip,pins = <0 RK_PA7 1 &pcfg_pull_up>;
907*724ba675SRob Herring			};
908*724ba675SRob Herring		};
909*724ba675SRob Herring
910*724ba675SRob Herring		tsadc {
911*724ba675SRob Herring			otp_out: otp-out {
912*724ba675SRob Herring				rockchip,pins = <0 RK_PB7 1 &pcfg_pull_none>;
913*724ba675SRob Herring			};
914*724ba675SRob Herring
915*724ba675SRob Herring			otp_pin: otp-pin {
916*724ba675SRob Herring				rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
917*724ba675SRob Herring			};
918*724ba675SRob Herring		};
919*724ba675SRob Herring
920*724ba675SRob Herring		uart0 {
921*724ba675SRob Herring			uart0_xfer: uart0-xfer {
922*724ba675SRob Herring				rockchip,pins = <3 RK_PA6 1 &pcfg_pull_up>,
923*724ba675SRob Herring						<3 RK_PA5 1 &pcfg_pull_none>;
924*724ba675SRob Herring			};
925*724ba675SRob Herring
926*724ba675SRob Herring			uart0_cts: uart0-cts {
927*724ba675SRob Herring				rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>;
928*724ba675SRob Herring			};
929*724ba675SRob Herring
930*724ba675SRob Herring			uart0_rts: uart0-rts {
931*724ba675SRob Herring				rockchip,pins = <3 RK_PA3 1 &pcfg_pull_none>;
932*724ba675SRob Herring			};
933*724ba675SRob Herring
934*724ba675SRob Herring			uart0_rts_pin: uart0-rts-pin {
935*724ba675SRob Herring				rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
936*724ba675SRob Herring			};
937*724ba675SRob Herring		};
938*724ba675SRob Herring
939*724ba675SRob Herring		uart1 {
940*724ba675SRob Herring			uart1_xfer: uart1-xfer {
941*724ba675SRob Herring				rockchip,pins = <1 RK_PD3 1 &pcfg_pull_up>,
942*724ba675SRob Herring						<1 RK_PD2 1 &pcfg_pull_none>;
943*724ba675SRob Herring			};
944*724ba675SRob Herring
945*724ba675SRob Herring			uart1_cts: uart1-cts {
946*724ba675SRob Herring				rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>;
947*724ba675SRob Herring			};
948*724ba675SRob Herring
949*724ba675SRob Herring			uart1_rts: uart1-rts {
950*724ba675SRob Herring				rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>;
951*724ba675SRob Herring			};
952*724ba675SRob Herring		};
953*724ba675SRob Herring
954*724ba675SRob Herring		uart2m0 {
955*724ba675SRob Herring			uart2m0_xfer: uart2m0-xfer {
956*724ba675SRob Herring				rockchip,pins = <2 RK_PD2 1 &pcfg_pull_up>,
957*724ba675SRob Herring						<2 RK_PD1 1 &pcfg_pull_none>;
958*724ba675SRob Herring			};
959*724ba675SRob Herring		};
960*724ba675SRob Herring
961*724ba675SRob Herring		uart2m1 {
962*724ba675SRob Herring			uart2m1_xfer: uart2m1-xfer {
963*724ba675SRob Herring				rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up>,
964*724ba675SRob Herring						<3 RK_PC2 2 &pcfg_pull_none>;
965*724ba675SRob Herring			};
966*724ba675SRob Herring		};
967*724ba675SRob Herring
968*724ba675SRob Herring		uart2_5v {
969*724ba675SRob Herring			uart2_5v_cts: uart2_5v-cts {
970*724ba675SRob Herring				rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>;
971*724ba675SRob Herring			};
972*724ba675SRob Herring
973*724ba675SRob Herring			uart2_5v_rts: uart2_5v-rts {
974*724ba675SRob Herring				rockchip,pins = <1 RK_PD5 1 &pcfg_pull_none>;
975*724ba675SRob Herring			};
976*724ba675SRob Herring		};
977*724ba675SRob Herring	};
978*724ba675SRob Herring};
979