xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/rk3128.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * SPDX-License-Identifier:     GPL-2.0+
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
9*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
10*4882a593Smuzhiyun#include <dt-bindings/pinctrl/rockchip.h>
11*4882a593Smuzhiyun#include <dt-bindings/clock/rk3128-cru.h>
12*4882a593Smuzhiyun#include <dt-bindings/media/rockchip_mipi_dsi.h>
13*4882a593Smuzhiyun#include "skeleton.dtsi"
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/ {
16*4882a593Smuzhiyun	compatible = "rockchip,rk3128";
17*4882a593Smuzhiyun	rockchip,sram = <&sram>;
18*4882a593Smuzhiyun	interrupt-parent = <&gic>;
19*4882a593Smuzhiyun	#address-cells = <1>;
20*4882a593Smuzhiyun	#size-cells = <1>;
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	aliases {
23*4882a593Smuzhiyun		gpio0 = &gpio0;
24*4882a593Smuzhiyun		gpio1 = &gpio1;
25*4882a593Smuzhiyun		gpio2 = &gpio2;
26*4882a593Smuzhiyun		gpio3 = &gpio3;
27*4882a593Smuzhiyun		i2c0 = &i2c0;
28*4882a593Smuzhiyun		i2c1 = &i2c1;
29*4882a593Smuzhiyun		i2c2 = &i2c2;
30*4882a593Smuzhiyun		i2c3 = &i2c3;
31*4882a593Smuzhiyun		spi0 = &spi0;
32*4882a593Smuzhiyun		serial0 = &uart0;
33*4882a593Smuzhiyun		serial1 = &uart1;
34*4882a593Smuzhiyun		serial2 = &uart2;
35*4882a593Smuzhiyun		mmc0 = &emmc;
36*4882a593Smuzhiyun		mmc1 = &sdmmc;
37*4882a593Smuzhiyun	};
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	memory {
40*4882a593Smuzhiyun		device_type = "memory";
41*4882a593Smuzhiyun		reg = <0x60000000 0x40000000>;
42*4882a593Smuzhiyun	};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun        arm-pmu {
45*4882a593Smuzhiyun                compatible = "arm,cortex-a7-pmu";
46*4882a593Smuzhiyun                interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
47*4882a593Smuzhiyun                             <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
48*4882a593Smuzhiyun			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
49*4882a593Smuzhiyun			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
50*4882a593Smuzhiyun        };
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun	cpus {
53*4882a593Smuzhiyun		#address-cells = <1>;
54*4882a593Smuzhiyun		#size-cells = <0>;
55*4882a593Smuzhiyun		enable-method = "rockchip,rk3128-smp";
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		cpu0:cpu@0x000 {
58*4882a593Smuzhiyun			device_type = "cpu";
59*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
60*4882a593Smuzhiyun			reg = <0x000>;
61*4882a593Smuzhiyun			operating-points = <
62*4882a593Smuzhiyun				/* KHz    uV */
63*4882a593Smuzhiyun				 816000 1000000
64*4882a593Smuzhiyun			>;
65*4882a593Smuzhiyun			#cooling-cells = <2>; /* min followed by max */
66*4882a593Smuzhiyun			clock-latency = <40000>;
67*4882a593Smuzhiyun			clocks = <&cru ARMCLK>;
68*4882a593Smuzhiyun		};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		cpu1:cpu@0x001 {
71*4882a593Smuzhiyun			device_type = "cpu";
72*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
73*4882a593Smuzhiyun			reg = <0x001>;
74*4882a593Smuzhiyun		};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun		cpu2:cpu@0x002 {
77*4882a593Smuzhiyun			device_type = "cpu";
78*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
79*4882a593Smuzhiyun			reg = <0x002>;
80*4882a593Smuzhiyun		};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun		cpu3:cpu@0x003 {
83*4882a593Smuzhiyun			device_type = "cpu";
84*4882a593Smuzhiyun			compatible = "arm,cortex-a7";
85*4882a593Smuzhiyun			reg = <0x003>;
86*4882a593Smuzhiyun		};
87*4882a593Smuzhiyun	};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun	cpu_axi_bus: cpu_axi_bus {
90*4882a593Smuzhiyun		compatible = "rockchip,cpu_axi_bus";
91*4882a593Smuzhiyun		#address-cells = <1>;
92*4882a593Smuzhiyun		#size-cells = <1>;
93*4882a593Smuzhiyun		ranges;
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		qos {
96*4882a593Smuzhiyun			#address-cells = <1>;
97*4882a593Smuzhiyun			#size-cells = <1>;
98*4882a593Smuzhiyun			ranges;
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun			crypto {
101*4882a593Smuzhiyun				reg = <0x10128080 0x20>;
102*4882a593Smuzhiyun			};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun			core {
105*4882a593Smuzhiyun				reg = <0x1012a000 0x20>;
106*4882a593Smuzhiyun			};
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun			peri {
109*4882a593Smuzhiyun				reg = <0x1012c000 0x20>;
110*4882a593Smuzhiyun			};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun			gpu {
113*4882a593Smuzhiyun				reg = <0x1012d000 0x20>;
114*4882a593Smuzhiyun			};
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun			vpu {
117*4882a593Smuzhiyun				reg = <0x1012e000 0x20>;
118*4882a593Smuzhiyun			};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun			rga {
121*4882a593Smuzhiyun				reg = <0x1012f000 0x20>;
122*4882a593Smuzhiyun			};
123*4882a593Smuzhiyun			ebc {
124*4882a593Smuzhiyun				reg = <0x1012f080 0x20>;
125*4882a593Smuzhiyun			};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun			iep {
128*4882a593Smuzhiyun				reg = <0x1012f100 0x20>;
129*4882a593Smuzhiyun			};
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun			lcdc {
132*4882a593Smuzhiyun				reg = <0x1012f180 0x20>;
133*4882a593Smuzhiyun				rockchip,priority = <3 3>;
134*4882a593Smuzhiyun			};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun			vip {
137*4882a593Smuzhiyun				reg = <0x1012f200 0x20>;
138*4882a593Smuzhiyun				rockchip,priority = <3 3>;
139*4882a593Smuzhiyun			};
140*4882a593Smuzhiyun		};
141*4882a593Smuzhiyun
142*4882a593Smuzhiyun		msch {
143*4882a593Smuzhiyun			#address-cells = <1>;
144*4882a593Smuzhiyun			#size-cells = <1>;
145*4882a593Smuzhiyun			ranges;
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun			msch@10128000 {
148*4882a593Smuzhiyun				reg = <0x10128000 0x20>;
149*4882a593Smuzhiyun				rockchip,read-latency = <0x3f>;
150*4882a593Smuzhiyun			};
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun	};
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun	psci: psci {
155*4882a593Smuzhiyun		compatible      = "arm,psci-1.0";
156*4882a593Smuzhiyun		method          = "smc";
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	amba {
160*4882a593Smuzhiyun		compatible = "arm,amba-bus";
161*4882a593Smuzhiyun		#address-cells = <1>;
162*4882a593Smuzhiyun		#size-cells = <1>;
163*4882a593Smuzhiyun		interrupt-parent = <&gic>;
164*4882a593Smuzhiyun		ranges;
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun                pdma: pdma@20078000 {
167*4882a593Smuzhiyun                        compatible = "arm,pl330", "arm,primecell";
168*4882a593Smuzhiyun                        reg = <0x20078000 0x4000>;
169*4882a593Smuzhiyun                        arm,pl330-broken-no-flushp;//2
170*4882a593Smuzhiyun                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
171*4882a593Smuzhiyun                                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
172*4882a593Smuzhiyun                        #dma-cells = <1>;
173*4882a593Smuzhiyun			clocks = <&cru ACLK_DMAC>;
174*4882a593Smuzhiyun                        clock-names = "apb_pclk";
175*4882a593Smuzhiyun                };
176*4882a593Smuzhiyun	};
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun	xin24m: xin24m {
179*4882a593Smuzhiyun		compatible = "fixed-clock";
180*4882a593Smuzhiyun		clock-frequency = <24000000>;
181*4882a593Smuzhiyun		clock-output-names = "xin24m";
182*4882a593Smuzhiyun		#clock-cells = <0>;
183*4882a593Smuzhiyun	};
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun	xin12m: xin12m {
186*4882a593Smuzhiyun		compatible = "fixed-clock";
187*4882a593Smuzhiyun		clocks = <&xin24m>;
188*4882a593Smuzhiyun		clock-frequency = <12000000>;
189*4882a593Smuzhiyun		clock-output-names = "xin12m";
190*4882a593Smuzhiyun		#clock-cells = <0>;
191*4882a593Smuzhiyun	};
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun	timer {
195*4882a593Smuzhiyun		compatible = "arm,armv7-timer";
196*4882a593Smuzhiyun		arm,cpu-registers-not-fw-configured;
197*4882a593Smuzhiyun		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
198*4882a593Smuzhiyun			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
199*4882a593Smuzhiyun		clock-frequency = <24000000>;
200*4882a593Smuzhiyun	};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun	timer@20044000 {
203*4882a593Smuzhiyun		compatible = "arm,armv7-timer";
204*4882a593Smuzhiyun		reg = <0x20044000 0xb8>;
205*4882a593Smuzhiyun		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
206*4882a593Smuzhiyun		rockchip,broadcast = <1>;
207*4882a593Smuzhiyun	};
208*4882a593Smuzhiyun
209*4882a593Smuzhiyun	watchdog: wdt@2004c000 {
210*4882a593Smuzhiyun		compatible = "rockchip,watch dog";
211*4882a593Smuzhiyun		reg = <0x2004c000 0x100>;
212*4882a593Smuzhiyun		clock-names = "pclk_wdt";
213*4882a593Smuzhiyun		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
214*4882a593Smuzhiyun		rockchip,irq = <1>;
215*4882a593Smuzhiyun		rockchip,timeout = <60>;
216*4882a593Smuzhiyun		rockchip,atboot = <1>;
217*4882a593Smuzhiyun		rockchip,debug = <0>;
218*4882a593Smuzhiyun	};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun	reset: reset@20000110 {
221*4882a593Smuzhiyun		compatible = "rockchip,reset";
222*4882a593Smuzhiyun		reg = <0x20000110 0x24>;
223*4882a593Smuzhiyun		#reset-cells = <1>;
224*4882a593Smuzhiyun	};
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun	sfc: sfc@1020c000 {
227*4882a593Smuzhiyun		compatible ="rockchip,rksfc","rockchip,sfc";
228*4882a593Smuzhiyun		reg = <0x1020c000 0x8000>;
229*4882a593Smuzhiyun		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
230*4882a593Smuzhiyun		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
231*4882a593Smuzhiyun		clock-names = "clk_sfc", "hclk_sfc";
232*4882a593Smuzhiyun		assigned-clocks = <&cru SCLK_SFC>;
233*4882a593Smuzhiyun		assigned-clock-rates = <60000000>;
234*4882a593Smuzhiyun		status = "disabled";
235*4882a593Smuzhiyun	};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun	nandc: nandc@10500000 {
238*4882a593Smuzhiyun		compatible = "rockchip,rk-nandc";
239*4882a593Smuzhiyun		reg = <0x10500000 0x4000>;
240*4882a593Smuzhiyun		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
241*4882a593Smuzhiyun		nandc_id = <0>;
242*4882a593Smuzhiyun		clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>;
243*4882a593Smuzhiyun		clock-names = "clk_nandc", "hclk_nandc";
244*4882a593Smuzhiyun		status = "disabled";
245*4882a593Smuzhiyun	};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun	dmc: dmc@20004000 {
248*4882a593Smuzhiyun		compatible = "rockchip,rk3128-dmc", "syscon";
249*4882a593Smuzhiyun		reg = <0x0 0x20004000 0x0 0x1000>;
250*4882a593Smuzhiyun	};
251*4882a593Smuzhiyun
252*4882a593Smuzhiyun	cru: clock-controller@20000000 {
253*4882a593Smuzhiyun		compatible = "rockchip,rk3128-cru";
254*4882a593Smuzhiyun		reg = <0x20000000 0x1000>;
255*4882a593Smuzhiyun		rockchip,grf = <&grf>;
256*4882a593Smuzhiyun		#clock-cells = <1>;
257*4882a593Smuzhiyun		#reset-cells = <1>;
258*4882a593Smuzhiyun		assigned-clocks = <&cru PLL_GPLL>;
259*4882a593Smuzhiyun		assigned-clock-rates = <594000000>;
260*4882a593Smuzhiyun	};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun	uart0: serial0@20060000 {
263*4882a593Smuzhiyun		compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
264*4882a593Smuzhiyun		reg = <0x20060000 0x100>;
265*4882a593Smuzhiyun		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
266*4882a593Smuzhiyun		reg-shift = <2>;
267*4882a593Smuzhiyun		reg-io-width = <4>;
268*4882a593Smuzhiyun		clock-frequency = <24000000>;
269*4882a593Smuzhiyun		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
270*4882a593Smuzhiyun		clock-names = "baudclk", "apb_pclk";
271*4882a593Smuzhiyun		pinctrl-names = "default";
272*4882a593Smuzhiyun		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
273*4882a593Smuzhiyun		dmas = <&pdma 2>, <&pdma 3>;
274*4882a593Smuzhiyun		#dma-cells = <2>;
275*4882a593Smuzhiyun	};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun	uart1: serial1@20064000 {
278*4882a593Smuzhiyun		compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
279*4882a593Smuzhiyun		reg = <0x20064000 0x100>;
280*4882a593Smuzhiyun		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
281*4882a593Smuzhiyun		reg-shift = <2>;
282*4882a593Smuzhiyun		reg-io-width = <4>;
283*4882a593Smuzhiyun		clock-frequency = <24000000>;
284*4882a593Smuzhiyun		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
285*4882a593Smuzhiyun		clock-names = "baudclk", "apb_pclk";
286*4882a593Smuzhiyun		pinctrl-names = "default";
287*4882a593Smuzhiyun		pinctrl-0 = <&uart1_xfer>;
288*4882a593Smuzhiyun		dmas = <&pdma 4>, <&pdma 5>;
289*4882a593Smuzhiyun		#dma-cells = <2>;
290*4882a593Smuzhiyun	};
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun	uart2: serial2@20068000 {
293*4882a593Smuzhiyun		compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
294*4882a593Smuzhiyun		reg = <0x20068000 0x100>;
295*4882a593Smuzhiyun		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
296*4882a593Smuzhiyun		reg-shift = <2>;
297*4882a593Smuzhiyun		reg-io-width = <4>;
298*4882a593Smuzhiyun		clock-frequency = <24000000>;
299*4882a593Smuzhiyun		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
300*4882a593Smuzhiyun		clock-names = "baudclk", "apb_pclk";
301*4882a593Smuzhiyun		pinctrl-names = "default";
302*4882a593Smuzhiyun		pinctrl-0 = <&uart2_xfer>;
303*4882a593Smuzhiyun		dmas = <&pdma 6>, <&pdma 7>;
304*4882a593Smuzhiyun		#dma-cells = <2>;
305*4882a593Smuzhiyun	};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun	saradc: saradc@2006c000 {
308*4882a593Smuzhiyun		compatible = "rockchip,saradc";
309*4882a593Smuzhiyun		reg = <0x2006c000 0x100>;
310*4882a593Smuzhiyun		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
311*4882a593Smuzhiyun		#io-channel-cells = <1>;
312*4882a593Smuzhiyun		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
313*4882a593Smuzhiyun		clock-names = "saradc", "apb_pclk";
314*4882a593Smuzhiyun		resets = <&cru SRST_SARADC>;
315*4882a593Smuzhiyun		reset-names = "saradc-apb";
316*4882a593Smuzhiyun		status = "disabled";
317*4882a593Smuzhiyun	};
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun	pwm0: pwm0@20050000 {
320*4882a593Smuzhiyun		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
321*4882a593Smuzhiyun		reg = <0x20050000 0x10>;
322*4882a593Smuzhiyun		#pwm-cells = <3>;
323*4882a593Smuzhiyun		pinctrl-names = "active";
324*4882a593Smuzhiyun		pinctrl-0 = <&pwm0_pin>;
325*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
326*4882a593Smuzhiyun		clock-names = "pwm";
327*4882a593Smuzhiyun	};
328*4882a593Smuzhiyun
329*4882a593Smuzhiyun	pwm1: pwm1@20050010 {
330*4882a593Smuzhiyun		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
331*4882a593Smuzhiyun		reg = <0x20050010 0x10>;
332*4882a593Smuzhiyun		#pwm-cells = <2>;
333*4882a593Smuzhiyun		pinctrl-names = "active";
334*4882a593Smuzhiyun		pinctrl-0 = <&pwm1_pin>;
335*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
336*4882a593Smuzhiyun		clock-names = "pwm";
337*4882a593Smuzhiyun	};
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun	pwm2: pwm2@20050020 {
340*4882a593Smuzhiyun		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
341*4882a593Smuzhiyun		reg = <0x20050020 0x10>;
342*4882a593Smuzhiyun		#pwm-cells = <2>;
343*4882a593Smuzhiyun		pinctrl-names = "active";
344*4882a593Smuzhiyun		pinctrl-0 = <&pwm2_pin>;
345*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
346*4882a593Smuzhiyun		clock-names = "pwm";
347*4882a593Smuzhiyun	};
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun	pwm3: pwm3@20050030 {
350*4882a593Smuzhiyun		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
351*4882a593Smuzhiyun		reg = <0x20050030 0x10>;
352*4882a593Smuzhiyun		#pwm-cells = <2>;
353*4882a593Smuzhiyun		pinctrl-names = "active";
354*4882a593Smuzhiyun		pinctrl-0 = <&pwm3_pin>;
355*4882a593Smuzhiyun		clocks = <&cru PCLK_PWM>;
356*4882a593Smuzhiyun		clock-names = "pwm";
357*4882a593Smuzhiyun	};
358*4882a593Smuzhiyun
359*4882a593Smuzhiyun	sram: sram@10080400 {
360*4882a593Smuzhiyun		compatible = "rockchip,rk3128-smp-sram", "mmio-sram";
361*4882a593Smuzhiyun		reg = <0x10080400 0x1C00>;
362*4882a593Smuzhiyun		map-exec;
363*4882a593Smuzhiyun		map-cacheable;
364*4882a593Smuzhiyun	};
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun	pmu: syscon@100a0000 {
367*4882a593Smuzhiyun		compatible = "rockchip,rk3128-pmu", "syscon", "simple-mfd";
368*4882a593Smuzhiyun		reg = <0x100a0000 0x1000>;
369*4882a593Smuzhiyun		#address-cells = <1>;
370*4882a593Smuzhiyun		#size-cells = <1>;
371*4882a593Smuzhiyun	};
372*4882a593Smuzhiyun
373*4882a593Smuzhiyun	vop: vop@1010e000 {
374*4882a593Smuzhiyun		compatible = "rockchip,rk3126-vop";
375*4882a593Smuzhiyun		reg = <0x1010e000 0x100>, <0x1010ec00 0x400>;
376*4882a593Smuzhiyun		reg-names = "regs", "gamma_lut";
377*4882a593Smuzhiyun		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
378*4882a593Smuzhiyun		clocks = <&cru ACLK_LCDC0>, <&cru DCLK_VOP>, <&cru HCLK_LCDC0>;
379*4882a593Smuzhiyun		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
380*4882a593Smuzhiyun		status = "disabled";
381*4882a593Smuzhiyun
382*4882a593Smuzhiyun		vop_out: port {
383*4882a593Smuzhiyun			#address-cells = <1>;
384*4882a593Smuzhiyun			#size-cells = <0>;
385*4882a593Smuzhiyun
386*4882a593Smuzhiyun			vop_out_lvds: endpoint@0 {
387*4882a593Smuzhiyun				reg = <0>;
388*4882a593Smuzhiyun				remote-endpoint = <&lvds_in_vop>;
389*4882a593Smuzhiyun			};
390*4882a593Smuzhiyun
391*4882a593Smuzhiyun			vop_out_dsi: endpoint@1 {
392*4882a593Smuzhiyun				reg = <1>;
393*4882a593Smuzhiyun				remote-endpoint = <&dsi_in_vop>;
394*4882a593Smuzhiyun			};
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun			vop_out_rgb: endpoint@2 {
397*4882a593Smuzhiyun				reg = <2>;
398*4882a593Smuzhiyun				remote-endpoint = <&rgb_in_vop>;
399*4882a593Smuzhiyun			};
400*4882a593Smuzhiyun		};
401*4882a593Smuzhiyun	};
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun	dsi: dsi@10110000 {
404*4882a593Smuzhiyun		compatible = "rockchip,rk3128-mipi-dsi";
405*4882a593Smuzhiyun		reg = <0x10110000 0x4000>;
406*4882a593Smuzhiyun		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
407*4882a593Smuzhiyun		clocks = <&cru PCLK_MIPI>, <&cru HCLK_VIO_H2P>, <&video_phy>;
408*4882a593Smuzhiyun		clock-names = "pclk", "h2p", "hs_clk";
409*4882a593Smuzhiyun		resets = <&cru SRST_VIO_MIPI_DSI>;
410*4882a593Smuzhiyun		reset-names = "apb";
411*4882a593Smuzhiyun		phys = <&video_phy>;
412*4882a593Smuzhiyun		phy-names = "mipi_dphy";
413*4882a593Smuzhiyun		rockchip,grf = <&grf>;
414*4882a593Smuzhiyun		#address-cells = <1>;
415*4882a593Smuzhiyun		#size-cells = <0>;
416*4882a593Smuzhiyun		status = "disabled";
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun		ports {
419*4882a593Smuzhiyun			port {
420*4882a593Smuzhiyun				dsi_in_vop: endpoint {
421*4882a593Smuzhiyun					remote-endpoint = <&vop_out_dsi>;
422*4882a593Smuzhiyun				};
423*4882a593Smuzhiyun			};
424*4882a593Smuzhiyun		};
425*4882a593Smuzhiyun	};
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun	display_subsystem: display-subsystem {
428*4882a593Smuzhiyun		compatible = "rockchip,display-subsystem";
429*4882a593Smuzhiyun		ports = <&vop_out>;
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun		route {
432*4882a593Smuzhiyun			route_lvds: route-lvds {
433*4882a593Smuzhiyun				logo,uboot = "logo.bmp";
434*4882a593Smuzhiyun				logo,kernel = "logo_kernel.bmp";
435*4882a593Smuzhiyun				logo,mode = "fullscreen";
436*4882a593Smuzhiyun				charge_logo,mode = "center";
437*4882a593Smuzhiyun				connect = <&vop_out_lvds>;
438*4882a593Smuzhiyun			};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun			route_dsi: route-dsi {
441*4882a593Smuzhiyun				logo,uboot = "logo.bmp";
442*4882a593Smuzhiyun				logo,kernel = "logo_kernel.bmp";
443*4882a593Smuzhiyun				logo,mode = "fullscreen";
444*4882a593Smuzhiyun				charge_logo,mode = "center";
445*4882a593Smuzhiyun				connect = <&vop_out_dsi>;
446*4882a593Smuzhiyun			};
447*4882a593Smuzhiyun		};
448*4882a593Smuzhiyun	};
449*4882a593Smuzhiyun
450*4882a593Smuzhiyun	gic: interrupt-controller@10139000 {
451*4882a593Smuzhiyun		compatible = "arm,gic-400";
452*4882a593Smuzhiyun		interrupt-controller;
453*4882a593Smuzhiyun		#interrupt-cells = <3>;
454*4882a593Smuzhiyun		#address-cells = <0>;
455*4882a593Smuzhiyun		reg = <0x10139000 0x1000>,
456*4882a593Smuzhiyun		      <0x1013a000 0x1000>,
457*4882a593Smuzhiyun		      <0x1013c000 0x2000>,
458*4882a593Smuzhiyun		      <0x1013e000 0x2000>;
459*4882a593Smuzhiyun		interrupts = <GIC_PPI 9 0xf04>;
460*4882a593Smuzhiyun	};
461*4882a593Smuzhiyun
462*4882a593Smuzhiyun	usb_otg: usb@10180000 {
463*4882a593Smuzhiyun		compatible = "rockchip,rk3128-usb", "rockchip,rk3288-usb",
464*4882a593Smuzhiyun			     "snps,dwc2";
465*4882a593Smuzhiyun		reg = <0x10180000 0x40000>;
466*4882a593Smuzhiyun		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
467*4882a593Smuzhiyun		dr_mode = "otg";
468*4882a593Smuzhiyun		g-use-dma;
469*4882a593Smuzhiyun		hnp-srp-disable;
470*4882a593Smuzhiyun		phys = <&u2phy_otg>;
471*4882a593Smuzhiyun		phy-names = "usb";
472*4882a593Smuzhiyun		status = "disabled";
473*4882a593Smuzhiyun	};
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun	usb_host_ehci: usb@101c0000 {
476*4882a593Smuzhiyun		compatible = "generic-ehci";
477*4882a593Smuzhiyun		reg = <0x101c0000 0x20000>;
478*4882a593Smuzhiyun		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
479*4882a593Smuzhiyun		phys = <&u2phy_host>;
480*4882a593Smuzhiyun		phy-names = "usb";
481*4882a593Smuzhiyun		status = "disabled";
482*4882a593Smuzhiyun	};
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun	usb_host_ohci: usb@101e0000 {
485*4882a593Smuzhiyun		compatible = "generic-ohci";
486*4882a593Smuzhiyun		reg = <0x101e0000 0x20000>;
487*4882a593Smuzhiyun		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
488*4882a593Smuzhiyun		phys = <&u2phy_host>;
489*4882a593Smuzhiyun		phy-names = "usb";
490*4882a593Smuzhiyun		status = "disabled";
491*4882a593Smuzhiyun	};
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun	sdmmc: dwmmc@10214000 {
494*4882a593Smuzhiyun		compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc";
495*4882a593Smuzhiyun		reg = <0x10214000 0x4000>;
496*4882a593Smuzhiyun		max-frequency = <150000000>;
497*4882a593Smuzhiyun		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
498*4882a593Smuzhiyun		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
499*4882a593Smuzhiyun			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
500*4882a593Smuzhiyun		clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
501*4882a593Smuzhiyun		fifo-depth = <0x100>;
502*4882a593Smuzhiyun		pinctrl-names = "default";
503*4882a593Smuzhiyun		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
504*4882a593Smuzhiyun		bus-width = <4>;
505*4882a593Smuzhiyun		status = "disabled";
506*4882a593Smuzhiyun	};
507*4882a593Smuzhiyun
508*4882a593Smuzhiyun	emmc: dwmmc@1021c000 {
509*4882a593Smuzhiyun		compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
510*4882a593Smuzhiyun		reg = <0x1021c000 0x4000>;
511*4882a593Smuzhiyun		max-frequency = <150000000>;
512*4882a593Smuzhiyun		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
513*4882a593Smuzhiyun		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
514*4882a593Smuzhiyun			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
515*4882a593Smuzhiyun		clock-names = "biu", "ciu", "ciu-drv", "ciu-sample";
516*4882a593Smuzhiyun		bus-width = <8>;
517*4882a593Smuzhiyun		default-sample-phase = <158>;
518*4882a593Smuzhiyun		num-slots = <1>;
519*4882a593Smuzhiyun		fifo-depth = <0x100>;
520*4882a593Smuzhiyun		pinctrl-names = "default";
521*4882a593Smuzhiyun		pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
522*4882a593Smuzhiyun		resets = <&cru SRST_EMMC>;
523*4882a593Smuzhiyun		reset-names = "reset";
524*4882a593Smuzhiyun		status = "disabled";
525*4882a593Smuzhiyun	};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun	video_phy: video-phy@20038000 {
528*4882a593Smuzhiyun		compatible = "rockchip,rk3128-video-phy";
529*4882a593Smuzhiyun		reg = <0x20038000 0x4000>, <0x10110000 0x4000>;
530*4882a593Smuzhiyun		clocks = <&cru SCLK_MIPI_24M>, <&cru PCLK_MIPIPHY>,
531*4882a593Smuzhiyun			 <&cru PCLK_MIPI>;
532*4882a593Smuzhiyun		clock-names = "ref", "pclk_phy", "pclk_host";
533*4882a593Smuzhiyun		#clock-cells = <0>;
534*4882a593Smuzhiyun		resets = <&cru SRST_MIPIPHY_P>;
535*4882a593Smuzhiyun		reset-names = "rst";
536*4882a593Smuzhiyun		#phy-cells = <0>;
537*4882a593Smuzhiyun		status = "disabled";
538*4882a593Smuzhiyun	};
539*4882a593Smuzhiyun
540*4882a593Smuzhiyun	i2c0: i2c0@20072000 {
541*4882a593Smuzhiyun		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
542*4882a593Smuzhiyun		reg = <0x20072000 0x1000>;
543*4882a593Smuzhiyun		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
544*4882a593Smuzhiyun		#address-cells = <1>;
545*4882a593Smuzhiyun		#size-cells = <0>;
546*4882a593Smuzhiyun		clock-names = "i2c";
547*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C0>;
548*4882a593Smuzhiyun		pinctrl-names = "default";
549*4882a593Smuzhiyun		pinctrl-0 = <&i2c0_xfer>;
550*4882a593Smuzhiyun	};
551*4882a593Smuzhiyun
552*4882a593Smuzhiyun	i2c1: i2c1@20056000 {
553*4882a593Smuzhiyun		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
554*4882a593Smuzhiyun		reg = <0x20056000 0x1000>;
555*4882a593Smuzhiyun		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
556*4882a593Smuzhiyun		#address-cells = <1>;
557*4882a593Smuzhiyun		#size-cells = <0>;
558*4882a593Smuzhiyun		clock-names = "i2c";
559*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C1>;
560*4882a593Smuzhiyun		pinctrl-names = "default";
561*4882a593Smuzhiyun		pinctrl-0 = <&i2c1_xfer>;
562*4882a593Smuzhiyun	};
563*4882a593Smuzhiyun
564*4882a593Smuzhiyun	i2c2: i2c2@2005a000 {
565*4882a593Smuzhiyun		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
566*4882a593Smuzhiyun		reg = <0x2005a000 0x1000>;
567*4882a593Smuzhiyun		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
568*4882a593Smuzhiyun		#address-cells = <1>;
569*4882a593Smuzhiyun		#size-cells = <0>;
570*4882a593Smuzhiyun		clock-names = "i2c";
571*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C2>;
572*4882a593Smuzhiyun		pinctrl-names = "default";
573*4882a593Smuzhiyun		pinctrl-0 = <&i2c2_xfer>;
574*4882a593Smuzhiyun	};
575*4882a593Smuzhiyun
576*4882a593Smuzhiyun	i2c3: i2c3@2005e000 {
577*4882a593Smuzhiyun		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
578*4882a593Smuzhiyun		reg = <0x2005e000 0x1000>;
579*4882a593Smuzhiyun		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
580*4882a593Smuzhiyun		#address-cells = <1>;
581*4882a593Smuzhiyun		#size-cells = <0>;
582*4882a593Smuzhiyun		clock-names = "i2c";
583*4882a593Smuzhiyun		clocks = <&cru PCLK_I2C3>;
584*4882a593Smuzhiyun		pinctrl-names = "default";
585*4882a593Smuzhiyun		pinctrl-0 = <&i2c3_xfer>;
586*4882a593Smuzhiyun	};
587*4882a593Smuzhiyun
588*4882a593Smuzhiyun	spi0: spi@20074000 {
589*4882a593Smuzhiyun		compatible = "rockchip,rk3128-spi", "rockchip,rk3288-spi";
590*4882a593Smuzhiyun		reg = <0x20074000 0x1000>;
591*4882a593Smuzhiyun		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
592*4882a593Smuzhiyun		pinctrl-names = "default";
593*4882a593Smuzhiyun		pinctrl-0 = <&spi0_tx &spi0_rx &spi0_clk &spi0_cs0 &spi0_cs1>;
594*4882a593Smuzhiyun		clock-names = "spiclk", "apb_pclk";
595*4882a593Smuzhiyun		dmas = <&pdma 8>, <&pdma 9>;
596*4882a593Smuzhiyun		dma-names = "tx", "rx";
597*4882a593Smuzhiyun		#address-cells = <1>;
598*4882a593Smuzhiyun		#size-cells = <0>;
599*4882a593Smuzhiyun		status = "disabled";
600*4882a593Smuzhiyun	};
601*4882a593Smuzhiyun
602*4882a593Smuzhiyun	grf: syscon@20008000 {
603*4882a593Smuzhiyun		compatible = "rockchip,rk3128-grf", "syscon";
604*4882a593Smuzhiyun		reg = <0x20008000 0x1000>;
605*4882a593Smuzhiyun		#address-cells = <1>;
606*4882a593Smuzhiyun		#size-cells = <1>;
607*4882a593Smuzhiyun
608*4882a593Smuzhiyun		lvds: lvds {
609*4882a593Smuzhiyun			compatible = "rockchip,rk3126-lvds";
610*4882a593Smuzhiyun			phys = <&video_phy>;
611*4882a593Smuzhiyun			phy-names = "phy";
612*4882a593Smuzhiyun			status = "disabled";
613*4882a593Smuzhiyun
614*4882a593Smuzhiyun			ports {
615*4882a593Smuzhiyun				#address-cells = <1>;
616*4882a593Smuzhiyun				#size-cells = <0>;
617*4882a593Smuzhiyun
618*4882a593Smuzhiyun				port@0 {
619*4882a593Smuzhiyun					reg = <0>;
620*4882a593Smuzhiyun
621*4882a593Smuzhiyun					lvds_in_vop: endpoint {
622*4882a593Smuzhiyun						remote-endpoint = <&vop_out_lvds>;
623*4882a593Smuzhiyun					};
624*4882a593Smuzhiyun				};
625*4882a593Smuzhiyun			};
626*4882a593Smuzhiyun		};
627*4882a593Smuzhiyun
628*4882a593Smuzhiyun		rgb: rgb {
629*4882a593Smuzhiyun			compatible = "rockchip,rk3128-rgb";
630*4882a593Smuzhiyun			phys = <&video_phy>;
631*4882a593Smuzhiyun			phy-names = "phy";
632*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
633*4882a593Smuzhiyun			pinctrl-0 = <&lcdc_rgb_pins>;
634*4882a593Smuzhiyun			pinctrl-1 = <&lcdc_sleep_pins>;
635*4882a593Smuzhiyun			status = "disabled";
636*4882a593Smuzhiyun
637*4882a593Smuzhiyun			ports {
638*4882a593Smuzhiyun				#address-cells = <1>;
639*4882a593Smuzhiyun				#size-cells = <0>;
640*4882a593Smuzhiyun
641*4882a593Smuzhiyun				port@0 {
642*4882a593Smuzhiyun					reg = <0>;
643*4882a593Smuzhiyun
644*4882a593Smuzhiyun					rgb_in_vop: endpoint {
645*4882a593Smuzhiyun						remote-endpoint = <&vop_out_rgb>;
646*4882a593Smuzhiyun					};
647*4882a593Smuzhiyun				};
648*4882a593Smuzhiyun			};
649*4882a593Smuzhiyun		};
650*4882a593Smuzhiyun
651*4882a593Smuzhiyun		u2phy: usb2-phy@17c {
652*4882a593Smuzhiyun			compatible = "rockchip,rk3128-usb2phy";
653*4882a593Smuzhiyun			reg = <0x017c 0x0c>;
654*4882a593Smuzhiyun			clocks = <&cru SCLK_OTGPHY0>;
655*4882a593Smuzhiyun			clock-names = "phyclk";
656*4882a593Smuzhiyun			#clock-cells = <0>;
657*4882a593Smuzhiyun			clock-output-names = "usb480m_phy";
658*4882a593Smuzhiyun			assigned-clocks = <&cru SCLK_USB480M>;
659*4882a593Smuzhiyun			assigned-clock-parents = <&u2phy>;
660*4882a593Smuzhiyun			status = "disabled";
661*4882a593Smuzhiyun
662*4882a593Smuzhiyun			u2phy_otg: otg-port {
663*4882a593Smuzhiyun				#phy-cells = <0>;
664*4882a593Smuzhiyun				interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
665*4882a593Smuzhiyun					     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
666*4882a593Smuzhiyun					     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
667*4882a593Smuzhiyun				interrupt-names = "otg-bvalid", "otg-id",
668*4882a593Smuzhiyun						  "linestate";
669*4882a593Smuzhiyun				status = "disabled";
670*4882a593Smuzhiyun			};
671*4882a593Smuzhiyun
672*4882a593Smuzhiyun			u2phy_host: host-port {
673*4882a593Smuzhiyun				#phy-cells = <0>;
674*4882a593Smuzhiyun				interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
675*4882a593Smuzhiyun				interrupt-names = "linestate";
676*4882a593Smuzhiyun				status = "disabled";
677*4882a593Smuzhiyun			};
678*4882a593Smuzhiyun		};
679*4882a593Smuzhiyun	};
680*4882a593Smuzhiyun
681*4882a593Smuzhiyun	pinctrl: pinctrl@20008000 {
682*4882a593Smuzhiyun		compatible = "rockchip,rk3128-pinctrl";
683*4882a593Smuzhiyun		reg = <0x20008000 0xA8>,
684*4882a593Smuzhiyun		      <0x200080A8 0x4C>,
685*4882a593Smuzhiyun		      <0x20008118 0x20>,
686*4882a593Smuzhiyun		      <0x20008100 0x04>;
687*4882a593Smuzhiyun		reg-names = "base", "mux", "pull", "drv";
688*4882a593Smuzhiyun		rockchip,grf = <&grf>;
689*4882a593Smuzhiyun		#address-cells = <1>;
690*4882a593Smuzhiyun		#size-cells = <1>;
691*4882a593Smuzhiyun		ranges;
692*4882a593Smuzhiyun
693*4882a593Smuzhiyun		gpio0: gpio0@2007c000 {
694*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
695*4882a593Smuzhiyun			reg = <0x2007c000 0x100>;
696*4882a593Smuzhiyun			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
697*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO0>;
698*4882a593Smuzhiyun			gpio-controller;
699*4882a593Smuzhiyun			#gpio-cells = <2>;
700*4882a593Smuzhiyun			interrupt-controller;
701*4882a593Smuzhiyun			#interrupt-cells = <2>;
702*4882a593Smuzhiyun		};
703*4882a593Smuzhiyun
704*4882a593Smuzhiyun		gpio1: gpio1@20080000 {
705*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
706*4882a593Smuzhiyun			reg = <0x20080000 0x100>;
707*4882a593Smuzhiyun			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
708*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO1>;
709*4882a593Smuzhiyun			gpio-controller;
710*4882a593Smuzhiyun			#gpio-cells = <2>;
711*4882a593Smuzhiyun			interrupt-controller;
712*4882a593Smuzhiyun			#interrupt-cells = <2>;
713*4882a593Smuzhiyun		};
714*4882a593Smuzhiyun
715*4882a593Smuzhiyun		gpio2: gpio2@20084000 {
716*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
717*4882a593Smuzhiyun			reg = <0x20084000 0x100>;
718*4882a593Smuzhiyun			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
719*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO2>;
720*4882a593Smuzhiyun			gpio-controller;
721*4882a593Smuzhiyun			#gpio-cells = <2>;
722*4882a593Smuzhiyun			interrupt-controller;
723*4882a593Smuzhiyun			#interrupt-cells = <2>;
724*4882a593Smuzhiyun		};
725*4882a593Smuzhiyun
726*4882a593Smuzhiyun		gpio3: gpio2@20088000 {
727*4882a593Smuzhiyun			compatible = "rockchip,gpio-bank";
728*4882a593Smuzhiyun			reg = <0x20088000 0x100>;
729*4882a593Smuzhiyun			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
730*4882a593Smuzhiyun			clocks = <&cru PCLK_GPIO3>;
731*4882a593Smuzhiyun			gpio-controller;
732*4882a593Smuzhiyun			#gpio-cells = <2>;
733*4882a593Smuzhiyun			interrupt-controller;
734*4882a593Smuzhiyun			#interrupt-cells = <2>;
735*4882a593Smuzhiyun		};
736*4882a593Smuzhiyun
737*4882a593Smuzhiyun		pcfg_pull_default: pcfg_pull_default {
738*4882a593Smuzhiyun			bias-pull-pin-default;
739*4882a593Smuzhiyun		};
740*4882a593Smuzhiyun
741*4882a593Smuzhiyun		pcfg_pull_none: pcfg-pull-none {
742*4882a593Smuzhiyun			bias-disable;
743*4882a593Smuzhiyun		};
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun		emmc {
746*4882a593Smuzhiyun			emmc_clk: emmc-clk {
747*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>;
748*4882a593Smuzhiyun			};
749*4882a593Smuzhiyun
750*4882a593Smuzhiyun			emmc_cmd: emmc-cmd {
751*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC6 2 &pcfg_pull_default>;
752*4882a593Smuzhiyun			};
753*4882a593Smuzhiyun
754*4882a593Smuzhiyun			emmc_cmd1: emmc-cmd1 {
755*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA4 2 &pcfg_pull_default>;
756*4882a593Smuzhiyun			};
757*4882a593Smuzhiyun
758*4882a593Smuzhiyun			emmc_pwr: emmc-pwr {
759*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA5 2 &pcfg_pull_default>;
760*4882a593Smuzhiyun			};
761*4882a593Smuzhiyun
762*4882a593Smuzhiyun			emmc_bus1: emmc-bus1 {
763*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>;
764*4882a593Smuzhiyun			};
765*4882a593Smuzhiyun
766*4882a593Smuzhiyun			emmc_bus4: emmc-bus4 {
767*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>,
768*4882a593Smuzhiyun						<1 RK_PD1 2 &pcfg_pull_default>,
769*4882a593Smuzhiyun						<1 RK_PD2 2 &pcfg_pull_default>,
770*4882a593Smuzhiyun						<1 RK_PD3 2 &pcfg_pull_default>;
771*4882a593Smuzhiyun			};
772*4882a593Smuzhiyun
773*4882a593Smuzhiyun			emmc_bus8: emmc-bus8 {
774*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>,
775*4882a593Smuzhiyun						<1 RK_PD1 2 &pcfg_pull_default>,
776*4882a593Smuzhiyun						<1 RK_PD2 2 &pcfg_pull_default>,
777*4882a593Smuzhiyun						<1 RK_PD3 2 &pcfg_pull_default>,
778*4882a593Smuzhiyun						<1 RK_PD4 2 &pcfg_pull_default>,
779*4882a593Smuzhiyun						<1 RK_PD5 2 &pcfg_pull_default>,
780*4882a593Smuzhiyun						<1 RK_PD6 2 &pcfg_pull_default>,
781*4882a593Smuzhiyun						<1 RK_PD7 2 &pcfg_pull_default>;
782*4882a593Smuzhiyun			};
783*4882a593Smuzhiyun		};
784*4882a593Smuzhiyun
785*4882a593Smuzhiyun		i2c0 {
786*4882a593Smuzhiyun			i2c0_xfer: i2c0-xfer {
787*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>,
788*4882a593Smuzhiyun						<0 RK_PA1 1 &pcfg_pull_none>;
789*4882a593Smuzhiyun			};
790*4882a593Smuzhiyun		};
791*4882a593Smuzhiyun
792*4882a593Smuzhiyun		i2c1 {
793*4882a593Smuzhiyun			i2c1_xfer: i2c1-xfer {
794*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>,
795*4882a593Smuzhiyun						<0 RK_PA3 1 &pcfg_pull_none>;
796*4882a593Smuzhiyun			};
797*4882a593Smuzhiyun		};
798*4882a593Smuzhiyun
799*4882a593Smuzhiyun		i2c2 {
800*4882a593Smuzhiyun			i2c2_xfer: i2c2-xfer {
801*4882a593Smuzhiyun				rockchip,pins = <2 RK_PC4 3 &pcfg_pull_none>,
802*4882a593Smuzhiyun						<2 RK_PC5 3 &pcfg_pull_none>;
803*4882a593Smuzhiyun			};
804*4882a593Smuzhiyun		};
805*4882a593Smuzhiyun
806*4882a593Smuzhiyun		i2c3 {
807*4882a593Smuzhiyun			i2c3_xfer: i2c3-xfer {
808*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>,
809*4882a593Smuzhiyun						<0 RK_PA7 1 &pcfg_pull_none>;
810*4882a593Smuzhiyun			};
811*4882a593Smuzhiyun		};
812*4882a593Smuzhiyun
813*4882a593Smuzhiyun		lcdc {
814*4882a593Smuzhiyun			lcdc_rgb_pins: lcdc-rgb-pins {
815*4882a593Smuzhiyun				rockchip,pins =
816*4882a593Smuzhiyun					<2 RK_PB0 1 &pcfg_pull_none>, /* LCDC_DCLK */
817*4882a593Smuzhiyun					<2 RK_PB1 1 &pcfg_pull_none>, /* LCDC_HSYNC */
818*4882a593Smuzhiyun					<2 RK_PB2 1 &pcfg_pull_none>, /* LCDC_VSYNC */
819*4882a593Smuzhiyun					<2 RK_PB3 1 &pcfg_pull_none>, /* LCDC_DEN */
820*4882a593Smuzhiyun					<2 RK_PB4 1 &pcfg_pull_none>, /* LCDC_DATA10 */
821*4882a593Smuzhiyun					<2 RK_PB5 1 &pcfg_pull_none>, /* LCDC_DATA11 */
822*4882a593Smuzhiyun					<2 RK_PB6 1 &pcfg_pull_none>, /* LCDC_DATA12 */
823*4882a593Smuzhiyun					<2 RK_PB7 1 &pcfg_pull_none>, /* LCDC_DATA13 */
824*4882a593Smuzhiyun					<2 RK_PC0 1 &pcfg_pull_none>, /* LCDC_DATA14 */
825*4882a593Smuzhiyun					<2 RK_PC1 1 &pcfg_pull_none>, /* LCDC_DATA15 */
826*4882a593Smuzhiyun					<2 RK_PC2 1 &pcfg_pull_none>, /* LCDC_DATA16 */
827*4882a593Smuzhiyun					<2 RK_PC3 1 &pcfg_pull_none>, /* LCDC_DATA17 */
828*4882a593Smuzhiyun					<2 RK_PC4 1 &pcfg_pull_none>, /* LCDC_DATA18 */
829*4882a593Smuzhiyun					<2 RK_PC5 1 &pcfg_pull_none>, /* LCDC_DATA19 */
830*4882a593Smuzhiyun					<2 RK_PC6 1 &pcfg_pull_none>, /* LCDC_DATA20 */
831*4882a593Smuzhiyun					<2 RK_PC7 1 &pcfg_pull_none>, /* LCDC_DATA21 */
832*4882a593Smuzhiyun					<2 RK_PD0 1 &pcfg_pull_none>, /* LCDC_DATA22 */
833*4882a593Smuzhiyun					<2 RK_PD1 1 &pcfg_pull_none>; /* LCDC_DATA23 */
834*4882a593Smuzhiyun			};
835*4882a593Smuzhiyun
836*4882a593Smuzhiyun			lcdc_sleep_pins: lcdc-sleep-pins {
837*4882a593Smuzhiyun				rockchip,pins =
838*4882a593Smuzhiyun					<2 RK_PB0 0 &pcfg_pull_none>, /* LCDC_DCLK */
839*4882a593Smuzhiyun					<2 RK_PB1 0 &pcfg_pull_none>, /* LCDC_HSYNC */
840*4882a593Smuzhiyun					<2 RK_PB2 0 &pcfg_pull_none>, /* LCDC_VSYNC */
841*4882a593Smuzhiyun					<2 RK_PB3 0 &pcfg_pull_none>, /* LCDC_DEN */
842*4882a593Smuzhiyun					<2 RK_PB4 0 &pcfg_pull_none>, /* LCDC_DATA10 */
843*4882a593Smuzhiyun					<2 RK_PB5 0 &pcfg_pull_none>, /* LCDC_DATA11 */
844*4882a593Smuzhiyun					<2 RK_PB6 0 &pcfg_pull_none>, /* LCDC_DATA12 */
845*4882a593Smuzhiyun					<2 RK_PB7 0 &pcfg_pull_none>, /* LCDC_DATA13 */
846*4882a593Smuzhiyun					<2 RK_PC0 0 &pcfg_pull_none>, /* LCDC_DATA14 */
847*4882a593Smuzhiyun					<2 RK_PC1 0 &pcfg_pull_none>, /* LCDC_DATA15 */
848*4882a593Smuzhiyun					<2 RK_PC2 0 &pcfg_pull_none>, /* LCDC_DATA16 */
849*4882a593Smuzhiyun					<2 RK_PC3 0 &pcfg_pull_none>, /* LCDC_DATA17 */
850*4882a593Smuzhiyun					<2 RK_PC4 0 &pcfg_pull_none>, /* LCDC_DATA18 */
851*4882a593Smuzhiyun					<2 RK_PC5 0 &pcfg_pull_none>, /* LCDC_DATA19 */
852*4882a593Smuzhiyun					<2 RK_PC6 0 &pcfg_pull_none>, /* LCDC_DATA20 */
853*4882a593Smuzhiyun					<2 RK_PC7 0 &pcfg_pull_none>, /* LCDC_DATA21 */
854*4882a593Smuzhiyun					<2 RK_PD0 0 &pcfg_pull_none>, /* LCDC_DATA22 */
855*4882a593Smuzhiyun					<2 RK_PD1 0 &pcfg_pull_none>; /* LCDC_DATA23 */
856*4882a593Smuzhiyun			};
857*4882a593Smuzhiyun		};
858*4882a593Smuzhiyun
859*4882a593Smuzhiyun		uart0 {
860*4882a593Smuzhiyun			uart0_xfer: uart0-xfer {
861*4882a593Smuzhiyun				rockchip,pins = <2 RK_PD2 2 &pcfg_pull_default>,
862*4882a593Smuzhiyun						<2 RK_PD3 2 &pcfg_pull_none>;
863*4882a593Smuzhiyun			};
864*4882a593Smuzhiyun
865*4882a593Smuzhiyun			uart0_cts: uart0-cts {
866*4882a593Smuzhiyun				rockchip,pins = <2 RK_PD5 2 &pcfg_pull_none>;
867*4882a593Smuzhiyun			};
868*4882a593Smuzhiyun
869*4882a593Smuzhiyun			uart0_rts: uart0-rts {
870*4882a593Smuzhiyun				rockchip,pins = <0 RK_PC1 2 &pcfg_pull_none>;
871*4882a593Smuzhiyun			};
872*4882a593Smuzhiyun		};
873*4882a593Smuzhiyun
874*4882a593Smuzhiyun		uart1 {
875*4882a593Smuzhiyun			uart1_xfer: uart1-xfer {
876*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB1 2 &pcfg_pull_default>,
877*4882a593Smuzhiyun						<1 RK_PB2 2 &pcfg_pull_default>;
878*4882a593Smuzhiyun			};
879*4882a593Smuzhiyun
880*4882a593Smuzhiyun			uart1_cts: uart1-cts {
881*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB0 2 &pcfg_pull_none>;
882*4882a593Smuzhiyun			};
883*4882a593Smuzhiyun
884*4882a593Smuzhiyun			uart1_rts: uart1-rts {
885*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>;
886*4882a593Smuzhiyun			};
887*4882a593Smuzhiyun		};
888*4882a593Smuzhiyun
889*4882a593Smuzhiyun		uart2 {
890*4882a593Smuzhiyun			uart2_xfer: uart2-xfer {
891*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC2 2 &pcfg_pull_default>,
892*4882a593Smuzhiyun						<1 RK_PC3 2 &pcfg_pull_none>;
893*4882a593Smuzhiyun			};
894*4882a593Smuzhiyun
895*4882a593Smuzhiyun			uart2_cts: uart2-cts {
896*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>;
897*4882a593Smuzhiyun			};
898*4882a593Smuzhiyun
899*4882a593Smuzhiyun			uart2_rts: uart2-rts {
900*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>;
901*4882a593Smuzhiyun			};
902*4882a593Smuzhiyun		};
903*4882a593Smuzhiyun
904*4882a593Smuzhiyun		sdmmc {
905*4882a593Smuzhiyun			sdmmc_clk: sdmmc-clk {
906*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>;
907*4882a593Smuzhiyun			};
908*4882a593Smuzhiyun
909*4882a593Smuzhiyun			sdmmc_cmd: sdmmc-cmd {
910*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB7 1 &pcfg_pull_default>;
911*4882a593Smuzhiyun			};
912*4882a593Smuzhiyun
913*4882a593Smuzhiyun			sdmmc_wp: sdmmc-wp {
914*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA7 1 &pcfg_pull_default>;
915*4882a593Smuzhiyun			};
916*4882a593Smuzhiyun
917*4882a593Smuzhiyun			sdmmc_pwren: sdmmc-pwren {
918*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB6 1 &pcfg_pull_default>;
919*4882a593Smuzhiyun			};
920*4882a593Smuzhiyun
921*4882a593Smuzhiyun			sdmmc_bus4: sdmmc-bus4 {
922*4882a593Smuzhiyun				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>,
923*4882a593Smuzhiyun						<1 RK_PC3 1 &pcfg_pull_default>,
924*4882a593Smuzhiyun						<1 RK_PC4 1 &pcfg_pull_default>,
925*4882a593Smuzhiyun						<1 RK_PC5 1 &pcfg_pull_default>;
926*4882a593Smuzhiyun			};
927*4882a593Smuzhiyun		};
928*4882a593Smuzhiyun
929*4882a593Smuzhiyun		sdio {
930*4882a593Smuzhiyun			sdio_clk: sdio-clk {
931*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>;
932*4882a593Smuzhiyun			};
933*4882a593Smuzhiyun
934*4882a593Smuzhiyun			sdio_cmd: sdio-cmd {
935*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA3 2 &pcfg_pull_default>;
936*4882a593Smuzhiyun			};
937*4882a593Smuzhiyun
938*4882a593Smuzhiyun			sdio_pwren: sdio-pwren {
939*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD6 1 &pcfg_pull_default>;
940*4882a593Smuzhiyun			};
941*4882a593Smuzhiyun
942*4882a593Smuzhiyun			sdio_bus4: sdio-bus4 {
943*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA1 2 &pcfg_pull_default>,
944*4882a593Smuzhiyun						<1 RK_PA2 2 &pcfg_pull_default>,
945*4882a593Smuzhiyun						<1 RK_PA4 2 &pcfg_pull_default>,
946*4882a593Smuzhiyun						<1 RK_PA5 2 &pcfg_pull_default>;
947*4882a593Smuzhiyun			};
948*4882a593Smuzhiyun		};
949*4882a593Smuzhiyun
950*4882a593Smuzhiyun		hdmi {
951*4882a593Smuzhiyun			hdmii2c_xfer: hdmii2c-xfer {
952*4882a593Smuzhiyun				rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>,
953*4882a593Smuzhiyun						<0 RK_PA7 2 &pcfg_pull_none>;
954*4882a593Smuzhiyun			};
955*4882a593Smuzhiyun		};
956*4882a593Smuzhiyun
957*4882a593Smuzhiyun		i2s {
958*4882a593Smuzhiyun			i2s_bus: i2s-bus {
959*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>,
960*4882a593Smuzhiyun						<0 RK_PB1 1 &pcfg_pull_none>,
961*4882a593Smuzhiyun						<0 RK_PB3 1 &pcfg_pull_none>,
962*4882a593Smuzhiyun						<0 RK_PB4 1 &pcfg_pull_none>,
963*4882a593Smuzhiyun						<0 RK_PB5 1 &pcfg_pull_none>,
964*4882a593Smuzhiyun						<0 RK_PB6 1 &pcfg_pull_none>;
965*4882a593Smuzhiyun			};
966*4882a593Smuzhiyun
967*4882a593Smuzhiyun			i2s1_bus: i2s1-bus {
968*4882a593Smuzhiyun				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_none>,
969*4882a593Smuzhiyun						<1 RK_PA1 1 &pcfg_pull_none>,
970*4882a593Smuzhiyun						<1 RK_PA2 1 &pcfg_pull_none>,
971*4882a593Smuzhiyun						<1 RK_PA3 1 &pcfg_pull_none>,
972*4882a593Smuzhiyun						<1 RK_PA4 1 &pcfg_pull_none>,
973*4882a593Smuzhiyun						<1 RK_PA5 1 &pcfg_pull_none>;
974*4882a593Smuzhiyun			};
975*4882a593Smuzhiyun		};
976*4882a593Smuzhiyun
977*4882a593Smuzhiyun		pwm0 {
978*4882a593Smuzhiyun			pwm0_pin: pwm0-pin {
979*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD2 1 &pcfg_pull_none>;
980*4882a593Smuzhiyun			};
981*4882a593Smuzhiyun		};
982*4882a593Smuzhiyun
983*4882a593Smuzhiyun		pwm1 {
984*4882a593Smuzhiyun			pwm1_pin: pwm1-pin {
985*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>;
986*4882a593Smuzhiyun			};
987*4882a593Smuzhiyun		};
988*4882a593Smuzhiyun
989*4882a593Smuzhiyun		pwm2 {
990*4882a593Smuzhiyun			pwm2_pin: pwm2-pin {
991*4882a593Smuzhiyun				rockchip,pins = <0 RK_PD4 1 &pcfg_pull_none>;
992*4882a593Smuzhiyun			};
993*4882a593Smuzhiyun		};
994*4882a593Smuzhiyun
995*4882a593Smuzhiyun		pwm3 {
996*4882a593Smuzhiyun			pwm3_pin: pwm3-pin {
997*4882a593Smuzhiyun				rockchip,pins = <3 RK_PD2 1 &pcfg_pull_none>;
998*4882a593Smuzhiyun			};
999*4882a593Smuzhiyun		};
1000*4882a593Smuzhiyun
1001*4882a593Smuzhiyun		gmac {
1002*4882a593Smuzhiyun			rgmii_pins: rgmii-pins {
1003*4882a593Smuzhiyun				rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>,
1004*4882a593Smuzhiyun						<2 RK_PB1 3 &pcfg_pull_default>,
1005*4882a593Smuzhiyun						<2 RK_PB3 3 &pcfg_pull_default>,
1006*4882a593Smuzhiyun						<2 RK_PB4 3 &pcfg_pull_default>,
1007*4882a593Smuzhiyun						<2 RK_PB5 3 &pcfg_pull_default>,
1008*4882a593Smuzhiyun						<2 RK_PB6 3 &pcfg_pull_default>,
1009*4882a593Smuzhiyun						<2 RK_PC0 3 &pcfg_pull_default>,
1010*4882a593Smuzhiyun						<2 RK_PC1 3 &pcfg_pull_default>,
1011*4882a593Smuzhiyun						<2 RK_PC2 3 &pcfg_pull_default>,
1012*4882a593Smuzhiyun						<2 RK_PC3 3 &pcfg_pull_default>,
1013*4882a593Smuzhiyun						<2 RK_PD1 3 &pcfg_pull_default>,
1014*4882a593Smuzhiyun						<2 RK_PC4 4 &pcfg_pull_default>,
1015*4882a593Smuzhiyun						<2 RK_PC5 4 &pcfg_pull_default>,
1016*4882a593Smuzhiyun						<2 RK_PC6 4 &pcfg_pull_default>,
1017*4882a593Smuzhiyun						<2 RK_PC7 4 &pcfg_pull_default>;
1018*4882a593Smuzhiyun			};
1019*4882a593Smuzhiyun
1020*4882a593Smuzhiyun			rmii_pins: rmii-pins {
1021*4882a593Smuzhiyun				rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>,
1022*4882a593Smuzhiyun						<2 RK_PB4 3 &pcfg_pull_default>,
1023*4882a593Smuzhiyun						<2 RK_PB5 3 &pcfg_pull_default>,
1024*4882a593Smuzhiyun						<2 RK_PB6 3 &pcfg_pull_default>,
1025*4882a593Smuzhiyun						<2 RK_PB7 3 &pcfg_pull_default>,
1026*4882a593Smuzhiyun						<2 RK_PC0 3 &pcfg_pull_default>,
1027*4882a593Smuzhiyun						<2 RK_PC1 3 &pcfg_pull_default>,
1028*4882a593Smuzhiyun						<2 RK_PC3 3 &pcfg_pull_default>,
1029*4882a593Smuzhiyun						<2 RK_PC4 3 &pcfg_pull_default>,
1030*4882a593Smuzhiyun						<2 RK_PD1 3 &pcfg_pull_default>;
1031*4882a593Smuzhiyun			};
1032*4882a593Smuzhiyun		};
1033*4882a593Smuzhiyun
1034*4882a593Smuzhiyun		spdif {
1035*4882a593Smuzhiyun			spdif_tx: spdif-tx {
1036*4882a593Smuzhiyun				rockchip,pins = <3 RK_PD3 1 &pcfg_pull_none>;
1037*4882a593Smuzhiyun			};
1038*4882a593Smuzhiyun		};
1039*4882a593Smuzhiyun
1040*4882a593Smuzhiyun		spi {
1041*4882a593Smuzhiyun			spi0_clk: spi0-clk {
1042*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>;
1043*4882a593Smuzhiyun			};
1044*4882a593Smuzhiyun
1045*4882a593Smuzhiyun			spi0_cs0: spi0-cs0 {
1046*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB3 1 &pcfg_pull_default>;
1047*4882a593Smuzhiyun			};
1048*4882a593Smuzhiyun
1049*4882a593Smuzhiyun			spi0_tx: spi0-tx {
1050*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB1 1 &pcfg_pull_default>;
1051*4882a593Smuzhiyun			};
1052*4882a593Smuzhiyun
1053*4882a593Smuzhiyun			spi0_rx: spi0-rx {
1054*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB2 1 &pcfg_pull_default>;
1055*4882a593Smuzhiyun			};
1056*4882a593Smuzhiyun
1057*4882a593Smuzhiyun			spi0_cs1: spi0-cs1 {
1058*4882a593Smuzhiyun				rockchip,pins = <1 RK_PB4 1 &pcfg_pull_default>;
1059*4882a593Smuzhiyun			};
1060*4882a593Smuzhiyun
1061*4882a593Smuzhiyun			spi1_clk: spi1-clk {
1062*4882a593Smuzhiyun				rockchip,pins = <2 RK_PA0 2 &pcfg_pull_default>;
1063*4882a593Smuzhiyun			};
1064*4882a593Smuzhiyun
1065*4882a593Smuzhiyun			spi1_cs0: spi1-cs0 {
1066*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD6 3 &pcfg_pull_default>;
1067*4882a593Smuzhiyun			};
1068*4882a593Smuzhiyun
1069*4882a593Smuzhiyun			spi1_tx: spi1-tx {
1070*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD5 3 &pcfg_pull_default>;
1071*4882a593Smuzhiyun			};
1072*4882a593Smuzhiyun
1073*4882a593Smuzhiyun			spi1_rx: spi1-rx {
1074*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD4 3 &pcfg_pull_default>;
1075*4882a593Smuzhiyun			};
1076*4882a593Smuzhiyun
1077*4882a593Smuzhiyun			spi1_cs1: spi1-cs1 {
1078*4882a593Smuzhiyun				rockchip,pins = <1 RK_PD7 3 &pcfg_pull_default>;
1079*4882a593Smuzhiyun			};
1080*4882a593Smuzhiyun
1081*4882a593Smuzhiyun			spi2_clk: spi2-clk {
1082*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB1 2 &pcfg_pull_default>;
1083*4882a593Smuzhiyun			};
1084*4882a593Smuzhiyun
1085*4882a593Smuzhiyun			spi2_cs0: spi2-cs0 {
1086*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB6 2 &pcfg_pull_default>;
1087*4882a593Smuzhiyun			};
1088*4882a593Smuzhiyun
1089*4882a593Smuzhiyun			spi2_tx: spi2-tx {
1090*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB3 2 &pcfg_pull_default>;
1091*4882a593Smuzhiyun			};
1092*4882a593Smuzhiyun
1093*4882a593Smuzhiyun			spi2_rx: spi2-rx {
1094*4882a593Smuzhiyun				rockchip,pins = <0 RK_PB5 2 &pcfg_pull_default>;
1095*4882a593Smuzhiyun			};
1096*4882a593Smuzhiyun		};
1097*4882a593Smuzhiyun	};
1098*4882a593Smuzhiyun};
1099