xref: /openbmc/u-boot/arch/arm/dts/rk3328.dtsi (revision 2d1951fe)
1/*
2 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier:     GPL-2.0+
5 */
6
7#include <dt-bindings/clock/rk3328-cru.h>
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/interrupt-controller/irq.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12
13/ {
14	compatible = "rockchip,rk3328";
15
16	interrupt-parent = <&gic>;
17	#address-cells = <2>;
18	#size-cells = <2>;
19
20	aliases {
21		serial0 = &uart0;
22		serial1 = &uart1;
23		serial2 = &uart2;
24		i2c0 = &i2c0;
25		i2c1 = &i2c1;
26		i2c2 = &i2c2;
27		i2c3 = &i2c3;
28	};
29
30	cpus {
31		#address-cells = <2>;
32		#size-cells = <0>;
33
34		cpu0: cpu@0 {
35			device_type = "cpu";
36			compatible = "arm,cortex-a53", "arm,armv8";
37			reg = <0x0 0x0>;
38			enable-method = "psci";
39//			clocks = <&cru ARMCLK>;
40			operating-points-v2 = <&cpu0_opp_table>;
41		};
42		cpu1: cpu@1 {
43			device_type = "cpu";
44			compatible = "arm,cortex-a53", "arm,armv8";
45			reg = <0x0 0x1>;
46			enable-method = "psci";
47		};
48		cpu2: cpu@2 {
49			device_type = "cpu";
50			compatible = "arm,cortex-a53", "arm,armv8";
51			reg = <0x0 0x2>;
52			enable-method = "psci";
53		};
54		cpu3: cpu@3 {
55			device_type = "cpu";
56			compatible = "arm,cortex-a53", "arm,armv8";
57			reg = <0x0 0x3>;
58			enable-method = "psci";
59		};
60	};
61
62	cpu0_opp_table: opp_table0 {
63		compatible = "operating-points-v2";
64		opp-shared;
65
66		opp@408000000 {
67			opp-hz = /bits/ 64 <408000000>;
68			opp-microvolt = <950000>;
69			clock-latency-ns = <40000>;
70			opp-suspend;
71		};
72		opp@600000000 {
73			opp-hz = /bits/ 64 <600000000>;
74			opp-microvolt = <950000>;
75			clock-latency-ns = <40000>;
76		};
77		opp@816000000 {
78			opp-hz = /bits/ 64 <816000000>;
79			opp-microvolt = <1000000>;
80			clock-latency-ns = <40000>;
81		};
82		opp@1008000000 {
83			opp-hz = /bits/ 64 <1008000000>;
84			opp-microvolt = <1100000>;
85			clock-latency-ns = <40000>;
86		};
87		opp@1200000000 {
88			opp-hz = /bits/ 64 <1200000000>;
89			opp-microvolt = <1225000>;
90			clock-latency-ns = <40000>;
91		};
92		opp@1296000000 {
93			opp-hz = /bits/ 64 <1296000000>;
94			opp-microvolt = <1300000>;
95			clock-latency-ns = <40000>;
96		};
97	};
98
99	arm-pmu {
100		compatible = "arm,cortex-a53-pmu";
101		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
102			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
103			     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
104			     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
105		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
106	};
107
108	psci {
109		compatible = "arm,psci-1.0";
110		method = "smc";
111	};
112
113	timer {
114		compatible = "arm,armv8-timer";
115		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
116			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
117			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
118			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
119	};
120
121	xin24m: xin24m {
122		compatible = "fixed-clock";
123		#clock-cells = <0>;
124		clock-frequency = <24000000>;
125		clock-output-names = "xin24m";
126	};
127
128	i2s0: i2s@ff000000 {
129		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
130		reg = <0x0 0xff000000 0x0 0x1000>;
131		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
132		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
133		clock-names = "i2s_clk", "i2s_hclk";
134		dmas = <&dmac 11>, <&dmac 12>;
135		#dma-cells = <2>;
136		dma-names = "tx", "rx";
137		status = "disabled";
138	};
139
140	i2s1: i2s@ff010000 {
141		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
142		reg = <0x0 0xff010000 0x0 0x1000>;
143		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
144		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
145		clock-names = "i2s_clk", "i2s_hclk";
146		dmas = <&dmac 14>, <&dmac 15>;
147		#dma-cells = <2>;
148		dma-names = "tx", "rx";
149		status = "disabled";
150	};
151
152	i2s2: i2s@ff020000 {
153		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
154		reg = <0x0 0xff020000 0x0 0x1000>;
155		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
156		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
157		clock-names = "i2s_clk", "i2s_hclk";
158		dmas = <&dmac 0>, <&dmac 1>;
159		#dma-cells = <2>;
160		dma-names = "tx", "rx";
161		pinctrl-names = "default", "sleep";
162		pinctrl-0 = <&i2s2m0_mclk
163			     &i2s2m0_sclk
164			     &i2s2m0_lrcktx
165			     &i2s2m0_lrckrx
166			     &i2s2m0_sdo
167			     &i2s2m0_sdi>;
168		pinctrl-1 = <&i2s2m0_sleep>;
169		status = "disabled";
170	};
171
172	spdif: spdif@ff030000 {
173		compatible = "rockchip,rk3328-spdif";
174		reg = <0x0 0xff030000 0x0 0x1000>;
175		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
176		clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
177		clock-names = "mclk", "hclk";
178		dmas = <&dmac 10>;
179		#dma-cells = <1>;
180		dma-names = "tx";
181		pinctrl-names = "default";
182		pinctrl-0 = <&spdifm2_tx>;
183		status = "disabled";
184	};
185
186	grf: syscon@ff100000 {
187		compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
188		reg = <0x0 0xff100000 0x0 0x1000>;
189		#address-cells = <1>;
190		#size-cells = <1>;
191
192		io_domains: io-domains {
193			compatible = "rockchip,rk3328-io-voltage-domain";
194			status = "disabled";
195		};
196	};
197
198	uart0: serial@ff110000 {
199		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
200		reg = <0x0 0xff110000 0x0 0x100>;
201		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
202		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
203		clock-names = "baudclk", "apb_pclk";
204		reg-shift = <2>;
205		reg-io-width = <4>;
206		dmas = <&dmac 2>, <&dmac 3>;
207		#dma-cells = <2>;
208		pinctrl-names = "default";
209		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
210		status = "disabled";
211	};
212
213	uart1: serial@ff120000 {
214		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
215		reg = <0x0 0xff120000 0x0 0x100>;
216		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
217		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
218		clock-names = "sclk_uart", "pclk_uart";
219		reg-shift = <2>;
220		reg-io-width = <4>;
221		dmas = <&dmac 4>, <&dmac 5>;
222		#dma-cells = <2>;
223		pinctrl-names = "default";
224		pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
225		status = "disabled";
226	};
227
228	uart2: serial@ff130000 {
229		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
230		reg = <0x0 0xff130000 0x0 0x100>;
231		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
232		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
233		clock-names = "baudclk", "apb_pclk";
234		clock-frequency = <24000000>;
235		reg-shift = <2>;
236		reg-io-width = <4>;
237		dmas = <&dmac 6>, <&dmac 7>;
238		#dma-cells = <2>;
239		pinctrl-names = "default";
240		pinctrl-0 = <&uart2m1_xfer>;
241		status = "disabled";
242	};
243
244	pmu: power-management@ff140000 {
245		compatible = "rockchip,rk3328-pmu", "syscon", "simple-mfd";
246		reg = <0x0 0xff140000 0x0 0x1000>;
247	};
248
249	i2c0: i2c@ff150000 {
250		compatible = "rockchip,rk3328-i2c";
251		reg = <0x0 0xff150000 0x0 0x1000>;
252		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
253		#address-cells = <1>;
254		#size-cells = <0>;
255		clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
256		clock-names = "i2c", "pclk";
257		pinctrl-names = "default";
258		pinctrl-0 = <&i2c0_xfer>;
259		status = "disabled";
260	};
261
262	i2c1: i2c@ff160000 {
263		compatible = "rockchip,rk3328-i2c";
264		reg = <0x0 0xff160000 0x0 0x1000>;
265		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
266		#address-cells = <1>;
267		#size-cells = <0>;
268		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
269		clock-names = "i2c", "pclk";
270		pinctrl-names = "default";
271		pinctrl-0 = <&i2c1_xfer>;
272		status = "disabled";
273	};
274
275	i2c2: i2c@ff170000 {
276		compatible = "rockchip,rk3328-i2c";
277		reg = <0x0 0xff170000 0x0 0x1000>;
278		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
279		#address-cells = <1>;
280		#size-cells = <0>;
281		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
282		clock-names = "i2c", "pclk";
283		pinctrl-names = "default";
284		pinctrl-0 = <&i2c2_xfer>;
285		status = "disabled";
286	};
287
288	i2c3: i2c@ff180000 {
289		compatible = "rockchip,rk3328-i2c";
290		reg = <0x0 0xff180000 0x0 0x1000>;
291		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
292		#address-cells = <1>;
293		#size-cells = <0>;
294		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
295		clock-names = "i2c", "pclk";
296		pinctrl-names = "default";
297		pinctrl-0 = <&i2c3_xfer>;
298		status = "disabled";
299	};
300
301	spi0: spi@ff190000 {
302		compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
303		reg = <0x0 0xff190000 0x0 0x1000>;
304		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
305		#address-cells = <1>;
306		#size-cells = <0>;
307		clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
308		clock-names = "spiclk", "apb_pclk";
309		dmas = <&dmac 8>, <&dmac 9>;
310		#dma-cells = <2>;
311		dma-names = "tx", "rx";
312		pinctrl-names = "default";
313		pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
314		status = "disabled";
315	};
316
317	wdt: watchdog@ff1a0000 {
318		compatible = "snps,dw-wdt";
319		reg = <0x0 0xff1a0000 0x0 0x100>;
320		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
321		status = "disabled";
322	};
323
324	amba {
325		compatible = "simple-bus";
326		#address-cells = <2>;
327		#size-cells = <2>;
328		ranges;
329
330		dmac: dmac@ff1f0000 {
331			compatible = "arm,pl330", "arm,primecell";
332			reg = <0x0 0xff1f0000 0x0 0x4000>;
333			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
334				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
335			clocks = <&cru ACLK_DMAC>;
336			clock-names = "apb_pclk";
337			#dma-cells = <1>;
338		};
339	};
340
341	saradc: saradc@ff280000 {
342		compatible = "rockchip,rk3328-saradc", "rockchip,saradc";
343		reg = <0x0 0xff280000 0x0 0x100>;
344		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
345		#io-channel-cells = <1>;
346		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
347		clock-names = "saradc", "apb_pclk";
348		resets = <&cru SRST_SARADC_P>;
349		reset-names = "saradc-apb";
350		status = "disabled";
351	};
352
353	cru: clock-controller@ff440000 {
354		compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
355		reg = <0x0 0xff440000 0x0 0x1000>;
356		rockchip,grf = <&grf>;
357		#clock-cells = <1>;
358		#reset-cells = <1>;
359		assigned-clocks =
360			<&cru DCLK_LCDC>, <&cru SCLK_PDM>,
361			<&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
362			<&cru SCLK_UART1>, <&cru SCLK_UART2>,
363			<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
364			<&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
365			<&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
366			<&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
367			<&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
368			<&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
369			<&cru SCLK_SDIO>, <&cru SCLK_TSP>,
370			<&cru SCLK_WIFI>, <&cru ARMCLK>,
371			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
372			<&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
373			<&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
374			<&cru HCLK_PERI>, <&cru PCLK_PERI>,
375			<&cru ACLK_VIO_PRE>, <&cru HCLK_VIO_PRE>,
376			<&cru ACLK_RGA_PRE>, <&cru SCLK_RGA>,
377			<&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
378			<&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
379			<&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
380			<&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
381			<&cru SCLK_EFUSE>, <&cru PCLK_DDR>,
382			<&cru ACLK_GMAC>, <&cru PCLK_GMAC>,
383			<&cru SCLK_RTC32K>, <&cru SCLK_USB3OTG_SUSPEND>;
384		assigned-clock-parents =
385			<&cru HDMIPHY>, <&cru PLL_APLL>,
386			<&cru PLL_GPLL>, <&xin24m>,
387			<&xin24m>, <&xin24m>;
388		assigned-clock-rates =
389			<0>, <61440000>,
390			<0>, <24000000>,
391			<24000000>, <24000000>,
392			<15000000>, <15000000>,
393			<100000000>, <100000000>,
394			<100000000>, <100000000>,
395			<50000000>, <100000000>,
396			<100000000>, <100000000>,
397			<50000000>, <50000000>,
398			<50000000>, <50000000>,
399			<24000000>, <600000000>,
400			<491520000>, <1200000000>,
401			<150000000>, <75000000>,
402			<75000000>, <150000000>,
403			<75000000>, <75000000>,
404			<300000000>, <100000000>,
405			<300000000>, <200000000>,
406			<400000000>, <500000000>,
407			<200000000>, <300000000>,
408			<300000000>, <250000000>,
409			<200000000>, <100000000>,
410			<24000000>, <100000000>,
411			<150000000>, <50000000>,
412			<32768>, <32768>;
413	};
414
415	sdmmc: rksdmmc@ff500000 {
416		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
417		reg = <0x0 0xff500000 0x0 0x4000>;
418		clock-freq-min-max = <400000 150000000>;
419		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
420		clock-names = "biu", "ciu";
421		fifo-depth = <0x100>;
422		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
423		status = "disabled";
424	};
425
426	sdio: dwmmc@ff510000 {
427		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
428		reg = <0x0 0xff510000 0x0 0x4000>;
429		clock-freq-min-max = <400000 150000000>;
430		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
431			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
432		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
433		fifo-depth = <0x100>;
434		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
435		status = "disabled";
436	};
437
438	emmc: rksdmmc@ff520000 {
439		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
440		reg = <0x0 0xff520000 0x0 0x4000>;
441		clock-freq-min-max = <400000 150000000>;
442		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>;
443		clock-names = "biu", "ciu";
444		fifo-depth = <0x100>;
445		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
446		status = "disabled";
447	};
448
449	usb_host0_ehci: usb@ff5c0000 {
450		compatible = "generic-ehci";
451		reg = <0x0 0xff5c0000 0x0 0x10000>;
452		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
453		status = "disabled";
454	};
455
456	usb_host0_ohci: usb@ff5d0000 {
457		compatible = "generic-ohci";
458		reg = <0x0 0xff5d0000 0x0 0x10000>;
459		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
460		status = "disabled";
461	};
462
463	sdmmc_ext: rksdmmc@ff5f0000 {
464		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
465		reg = <0x0 0xff5f0000 0x0 0x4000>;
466		clock-freq-min-max = <400000 150000000>;
467		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
468		clock-names = "biu", "ciu";
469		fifo-depth = <0x100>;
470		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
471		status = "disabled";
472	};
473
474	usb_host0_xhci: usb@ff600000 {
475		compatible = "rockchip,rk3328-xhci";
476		reg = <0x0 0xff600000 0x0 0x100000>;
477		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
478		snps,dis-enblslpm-quirk;
479		snps,phyif-utmi-bits = <16>;
480		snps,dis-u2-freeclk-exists-quirk;
481		snps,dis-u2-susphy-quirk;
482		status = "disabled";
483	};
484
485	gic: interrupt-controller@ffb70000 {
486		compatible = "arm,gic-400";
487		#interrupt-cells = <3>;
488		#address-cells = <0>;
489		interrupt-controller;
490		reg = <0x0 0xff811000 0 0x1000>,
491		      <0x0 0xff812000 0 0x2000>,
492		      <0x0 0xff814000 0 0x2000>,
493		      <0x0 0xff816000 0 0x2000>;
494		interrupts = <GIC_PPI 9
495		      (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
496	};
497
498	pinctrl: pinctrl {
499		compatible = "rockchip,rk3328-pinctrl";
500		rockchip,grf = <&grf>;
501		#address-cells = <2>;
502		#size-cells = <2>;
503		ranges;
504
505		gpio0: gpio0@ff210000 {
506			compatible = "rockchip,gpio-bank";
507			reg = <0x0 0xff210000 0x0 0x100>;
508			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
509			clocks = <&cru PCLK_GPIO0>;
510
511			gpio-controller;
512			#gpio-cells = <2>;
513
514			interrupt-controller;
515			#interrupt-cells = <2>;
516		};
517
518		gpio1: gpio1@ff220000 {
519			compatible = "rockchip,gpio-bank";
520			reg = <0x0 0xff220000 0x0 0x100>;
521			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
522			clocks = <&cru PCLK_GPIO1>;
523
524			gpio-controller;
525			#gpio-cells = <2>;
526
527			interrupt-controller;
528			#interrupt-cells = <2>;
529		};
530
531		gpio2: gpio2@ff230000 {
532			compatible = "rockchip,gpio-bank";
533			reg = <0x0 0xff230000 0x0 0x100>;
534			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
535			clocks = <&cru PCLK_GPIO2>;
536
537			gpio-controller;
538			#gpio-cells = <2>;
539
540			interrupt-controller;
541			#interrupt-cells = <2>;
542		};
543
544		gpio3: gpio3@ff240000 {
545			compatible = "rockchip,gpio-bank";
546			reg = <0x0 0xff240000 0x0 0x100>;
547			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
548			clocks = <&cru PCLK_GPIO3>;
549
550			gpio-controller;
551			#gpio-cells = <2>;
552
553			interrupt-controller;
554			#interrupt-cells = <2>;
555		};
556
557		pcfg_pull_up: pcfg-pull-up {
558			bias-pull-up;
559		};
560
561		pcfg_pull_down: pcfg-pull-down {
562			bias-pull-down;
563		};
564
565		pcfg_pull_none: pcfg-pull-none {
566			bias-disable;
567		};
568
569		pcfg_pull_none_2ma: pcfg-pull-none-2ma {
570			bias-disable;
571			drive-strength = <2>;
572		};
573
574		pcfg_pull_up_2ma: pcfg-pull-up-2ma {
575			bias-pull-up;
576			drive-strength = <2>;
577		};
578
579		pcfg_pull_up_4ma: pcfg-pull-up-4ma {
580			bias-pull-up;
581			drive-strength = <4>;
582		};
583
584		pcfg_pull_none_4ma: pcfg-pull-none-4ma {
585			bias-disable;
586			drive-strength = <4>;
587		};
588
589		pcfg_pull_down_4ma: pcfg-pull-down-4ma {
590			bias-pull-down;
591			drive-strength = <4>;
592		};
593
594		pcfg_pull_none_8ma: pcfg-pull-none-8ma {
595			bias-disable;
596			drive-strength = <8>;
597		};
598
599		pcfg_pull_up_8ma: pcfg-pull-up-8ma {
600			bias-pull-up;
601			drive-strength = <8>;
602		};
603
604		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
605			bias-disable;
606			drive-strength = <12>;
607		};
608
609		pcfg_pull_up_12ma: pcfg-pull-up-12ma {
610			bias-pull-up;
611			drive-strength = <12>;
612		};
613
614		pcfg_output_high: pcfg-output-high {
615			output-high;
616		};
617
618		pcfg_output_low: pcfg-output-low {
619			output-low;
620		};
621
622		pcfg_input_high: pcfg-input-high {
623			bias-pull-up;
624			input-enable;
625		};
626
627		pcfg_input: pcfg-input {
628			input-enable;
629		};
630
631		i2c0 {
632			i2c0_xfer: i2c0-xfer {
633				rockchip,pins =
634					<2 24 RK_FUNC_1 &pcfg_pull_none>,
635					<2 25 RK_FUNC_1 &pcfg_pull_none>;
636			};
637		};
638
639		i2c1 {
640			i2c1_xfer: i2c1-xfer {
641				rockchip,pins =
642					<2 4 RK_FUNC_2 &pcfg_pull_none>,
643					<2 5 RK_FUNC_2 &pcfg_pull_none>;
644			};
645		};
646
647		i2c2 {
648			i2c2_xfer: i2c2-xfer {
649				rockchip,pins =
650					<2 13 RK_FUNC_1 &pcfg_pull_none>,
651					<2 14 RK_FUNC_1 &pcfg_pull_none>;
652			};
653		};
654
655		i2c3 {
656			i2c3_xfer: i2c3-xfer {
657				rockchip,pins =
658					<0 5 RK_FUNC_2 &pcfg_pull_none>,
659					<0 6 RK_FUNC_2 &pcfg_pull_none>;
660			};
661			i2c3_gpio: i2c3-gpio {
662				rockchip,pins =
663					<0 5 RK_FUNC_GPIO &pcfg_pull_none>,
664					<0 6 RK_FUNC_GPIO &pcfg_pull_none>;
665			};
666		};
667
668		hdmi_i2c {
669			hdmii2c_xfer: hdmii2c-xfer {
670				rockchip,pins =
671					<0 5 RK_FUNC_1 &pcfg_pull_none>,
672					<0 6 RK_FUNC_1 &pcfg_pull_none>;
673			};
674		};
675
676		uart0 {
677			uart0_xfer: uart0-xfer {
678				rockchip,pins =
679					<1 9 RK_FUNC_1 &pcfg_pull_up>,
680					<1 8 RK_FUNC_1 &pcfg_pull_none>;
681			};
682
683			uart0_cts: uart0-cts {
684				rockchip,pins =
685					<1 11 RK_FUNC_1 &pcfg_pull_none>;
686			};
687
688			uart0_rts: uart0-rts {
689				rockchip,pins =
690					<1 10 RK_FUNC_1 &pcfg_pull_none>;
691			};
692
693			uart0_rts_gpio: uart0-rts-gpio {
694				rockchip,pins =
695					<1 10 RK_FUNC_GPIO &pcfg_pull_none>;
696			};
697		};
698
699		uart1 {
700			uart1_xfer: uart1-xfer {
701				rockchip,pins =
702					<3 4 RK_FUNC_4 &pcfg_pull_up>,
703					<3 6 RK_FUNC_4 &pcfg_pull_none>;
704			};
705
706			uart1_cts: uart1-cts {
707				rockchip,pins =
708					<3 7 RK_FUNC_4 &pcfg_pull_none>;
709			};
710
711			uart1_rts: uart1-rts {
712				rockchip,pins =
713					<3 5 RK_FUNC_4 &pcfg_pull_none>;
714			};
715
716			uart1_rts_gpio: uart1-rts-gpio {
717				rockchip,pins =
718					<3 5 RK_FUNC_GPIO &pcfg_pull_none>;
719			};
720		};
721
722		uart2-0 {
723			uart2m0_xfer: uart2m0-xfer {
724				rockchip,pins =
725					<1 0 RK_FUNC_2 &pcfg_pull_up>,
726					<1 1 RK_FUNC_2 &pcfg_pull_none>;
727			};
728		};
729
730		uart2-1 {
731			uart2m1_xfer: uart2m1-xfer {
732				rockchip,pins =
733					<2 0 RK_FUNC_1 &pcfg_pull_up>,
734					<2 1 RK_FUNC_1 &pcfg_pull_none>;
735			};
736		};
737
738		spi0-0 {
739			spi0m0_clk: spi0m0-clk {
740				rockchip,pins =
741					<2 8 RK_FUNC_1 &pcfg_pull_up>;
742			};
743
744			spi0m0_cs0: spi0m0-cs0 {
745				rockchip,pins =
746					<2 11 RK_FUNC_1 &pcfg_pull_up>;
747			};
748
749			spi0m0_tx: spi0m0-tx {
750				rockchip,pins =
751					<2 9 RK_FUNC_1 &pcfg_pull_up>;
752			};
753
754			spi0m0_rx: spi0m0-rx {
755				rockchip,pins =
756					<2 10 RK_FUNC_1 &pcfg_pull_up>;
757			};
758
759			spi0m0_cs1: spi0m0-cs1 {
760				rockchip,pins =
761					<2 12 RK_FUNC_1 &pcfg_pull_up>;
762			};
763		};
764
765		spi0-1 {
766			spi0m1_clk: spi0m1-clk {
767				rockchip,pins =
768					<3 23 RK_FUNC_2 &pcfg_pull_up>;
769			};
770
771			spi0m1_cs0: spi0m1-cs0 {
772				rockchip,pins =
773					<3 26 RK_FUNC_2 &pcfg_pull_up>;
774			};
775
776			spi0m1_tx: spi0m1-tx {
777				rockchip,pins =
778					<3 25 RK_FUNC_2 &pcfg_pull_up>;
779			};
780
781			spi0m1_rx: spi0m1-rx {
782				rockchip,pins =
783					<3 24 RK_FUNC_2 &pcfg_pull_up>;
784			};
785
786			spi0m1_cs1: spi0m1-cs1 {
787				rockchip,pins =
788					<3 27 RK_FUNC_2 &pcfg_pull_up>;
789			};
790		};
791
792		spi0-2 {
793			spi0m2_clk: spi0m2-clk {
794				rockchip,pins =
795					<3 0 RK_FUNC_4 &pcfg_pull_up>;
796			};
797
798			spi0m2_cs0: spi0m2-cs0 {
799				rockchip,pins =
800					<3 8 RK_FUNC_3 &pcfg_pull_up>;
801			};
802
803			spi0m2_tx: spi0m2-tx {
804				rockchip,pins =
805					<3 1 RK_FUNC_4 &pcfg_pull_up>;
806			};
807
808			spi0m2_rx: spi0m2-rx {
809				rockchip,pins =
810					<3 2 RK_FUNC_4 &pcfg_pull_up>;
811			};
812		};
813
814		i2s1 {
815			i2s1_mclk: i2s1-mclk {
816				rockchip,pins =
817					<2 15 RK_FUNC_1 &pcfg_pull_none>;
818			};
819
820			i2s1_sclk: i2s1-sclk {
821				rockchip,pins =
822					<2 18 RK_FUNC_1 &pcfg_pull_none>;
823			};
824
825			i2s1_lrckrx: i2s1-lrckrx {
826				rockchip,pins =
827					<2 16 RK_FUNC_1 &pcfg_pull_none>;
828			};
829
830			i2s1_lrcktx: i2s1-lrcktx {
831				rockchip,pins =
832					<2 17 RK_FUNC_1 &pcfg_pull_none>;
833			};
834
835			i2s1_sdi: i2s1-sdi {
836				rockchip,pins =
837					<2 19 RK_FUNC_1 &pcfg_pull_none>;
838			};
839
840			i2s1_sdo: i2s1-sdo {
841				rockchip,pins =
842					<2 23 RK_FUNC_1 &pcfg_pull_none>;
843			};
844
845			i2s1_sdio1: i2s1-sdio1 {
846				rockchip,pins =
847					<2 20 RK_FUNC_1 &pcfg_pull_none>;
848			};
849
850			i2s1_sdio2: i2s1-sdio2 {
851				rockchip,pins =
852					<2 21 RK_FUNC_1 &pcfg_pull_none>;
853			};
854
855			i2s1_sdio3: i2s1-sdio3 {
856				rockchip,pins =
857					<2 22 RK_FUNC_1 &pcfg_pull_none>;
858			};
859
860			i2s1_sleep: i2s1-sleep {
861				rockchip,pins =
862					<2 15 RK_FUNC_GPIO &pcfg_input_high>,
863					<2 16 RK_FUNC_GPIO &pcfg_input_high>,
864					<2 17 RK_FUNC_GPIO &pcfg_input_high>,
865					<2 18 RK_FUNC_GPIO &pcfg_input_high>,
866					<2 19 RK_FUNC_GPIO &pcfg_input_high>,
867					<2 20 RK_FUNC_GPIO &pcfg_input_high>,
868					<2 21 RK_FUNC_GPIO &pcfg_input_high>,
869					<2 22 RK_FUNC_GPIO &pcfg_input_high>,
870					<2 23 RK_FUNC_GPIO &pcfg_input_high>;
871			};
872		};
873
874		i2s2-0 {
875			i2s2m0_mclk: i2s2m0-mclk {
876				rockchip,pins =
877					<1 21 RK_FUNC_1 &pcfg_pull_none>;
878			};
879
880			i2s2m0_sclk: i2s2m0-sclk {
881				rockchip,pins =
882					<1 22 RK_FUNC_1 &pcfg_pull_none>;
883			};
884
885			i2s2m0_lrckrx: i2s2m0-lrckrx {
886				rockchip,pins =
887					<1 26 RK_FUNC_1 &pcfg_pull_none>;
888			};
889
890			i2s2m0_lrcktx: i2s2m0-lrcktx {
891				rockchip,pins =
892					<1 23 RK_FUNC_1 &pcfg_pull_none>;
893			};
894
895			i2s2m0_sdi: i2s2m0-sdi {
896				rockchip,pins =
897					<1 24 RK_FUNC_1 &pcfg_pull_none>;
898			};
899
900			i2s2m0_sdo: i2s2m0-sdo {
901				rockchip,pins =
902					<1 25 RK_FUNC_1 &pcfg_pull_none>;
903			};
904
905			i2s2m0_sleep: i2s2m0-sleep {
906				rockchip,pins =
907					<1 21 RK_FUNC_GPIO &pcfg_input_high>,
908					<1 22 RK_FUNC_GPIO &pcfg_input_high>,
909					<1 26 RK_FUNC_GPIO &pcfg_input_high>,
910					<1 23 RK_FUNC_GPIO &pcfg_input_high>,
911					<1 24 RK_FUNC_GPIO &pcfg_input_high>,
912					<1 25 RK_FUNC_GPIO &pcfg_input_high>;
913			};
914		};
915
916		i2s2-1 {
917			i2s2m1_mclk: i2s2m1-mclk {
918				rockchip,pins =
919					<1 21 RK_FUNC_1 &pcfg_pull_none>;
920			};
921
922			i2s2m1_sclk: i2s2m1-sclk {
923				rockchip,pins =
924					<3 0 RK_FUNC_6 &pcfg_pull_none>;
925			};
926
927			i2s2m1_lrckrx: i2sm1-lrckrx {
928				rockchip,pins =
929					<3 8 RK_FUNC_6 &pcfg_pull_none>;
930			};
931
932			i2s2m1_lrcktx: i2s2m1-lrcktx {
933				rockchip,pins =
934					<3 8 RK_FUNC_4 &pcfg_pull_none>;
935			};
936
937			i2s2m1_sdi: i2s2m1-sdi {
938				rockchip,pins =
939					<3 2 RK_FUNC_6 &pcfg_pull_none>;
940			};
941
942			i2s2m1_sdo: i2s2m1-sdo {
943				rockchip,pins =
944					<3 1 RK_FUNC_6 &pcfg_pull_none>;
945			};
946
947			i2s2m1_sleep: i2s2m1-sleep {
948				rockchip,pins =
949					<1 21 RK_FUNC_GPIO &pcfg_input_high>,
950					<3 0 RK_FUNC_GPIO &pcfg_input_high>,
951					<3 8 RK_FUNC_GPIO &pcfg_input_high>,
952					<3 2 RK_FUNC_GPIO &pcfg_input_high>,
953					<3 1 RK_FUNC_GPIO &pcfg_input_high>;
954			};
955		};
956
957		spdif-0 {
958			spdifm0_tx: spdifm0-tx {
959				rockchip,pins =
960					<0 27 RK_FUNC_1 &pcfg_pull_none>;
961			};
962		};
963
964		spdif-1 {
965			spdifm1_tx: spdifm1-tx {
966				rockchip,pins =
967					<2 17 RK_FUNC_2 &pcfg_pull_none>;
968			};
969		};
970
971		spdif-2 {
972			spdifm2_tx: spdifm2-tx {
973				rockchip,pins =
974					<0 2 RK_FUNC_2 &pcfg_pull_none>;
975			};
976		};
977
978		sdmmc0-0 {
979			sdmmc0m0_pwren: sdmmc0m0-pwren {
980				rockchip,pins =
981					<2 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
982			};
983
984			sdmmc0m0_gpio: sdmmc0m0-gpio {
985				rockchip,pins =
986					<2 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
987			};
988		};
989
990		sdmmc0-1 {
991			sdmmc0m1_pwren: sdmmc0m1-pwren {
992				rockchip,pins =
993					<0 30 RK_FUNC_3 &pcfg_pull_up_4ma>;
994			};
995
996			sdmmc0m1_gpio: sdmmc0m1-gpio {
997				rockchip,pins =
998					<0 30 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
999			};
1000		};
1001
1002		sdmmc0 {
1003			sdmmc0_clk: sdmmc0-clk {
1004				rockchip,pins =
1005					<1 6 RK_FUNC_1 &pcfg_pull_none_4ma>;
1006			};
1007
1008			sdmmc0_cmd: sdmmc0-cmd {
1009				rockchip,pins =
1010					<1 4 RK_FUNC_1 &pcfg_pull_up_4ma>;
1011			};
1012
1013			sdmmc0_dectn: sdmmc0-dectn {
1014				rockchip,pins =
1015					<1 5 RK_FUNC_1 &pcfg_pull_up_4ma>;
1016			};
1017
1018			sdmmc0_wrprt: sdmmc0-wrprt {
1019				rockchip,pins =
1020					<1 7 RK_FUNC_1 &pcfg_pull_up_4ma>;
1021			};
1022
1023			sdmmc0_bus1: sdmmc0-bus1 {
1024				rockchip,pins =
1025					<1 0 RK_FUNC_1 &pcfg_pull_up_4ma>;
1026			};
1027
1028			sdmmc0_bus4: sdmmc0-bus4 {
1029				rockchip,pins =
1030					<1 0 RK_FUNC_1 &pcfg_pull_up_4ma>,
1031					<1 1 RK_FUNC_1 &pcfg_pull_up_4ma>,
1032					<1 2 RK_FUNC_1 &pcfg_pull_up_4ma>,
1033					<1 3 RK_FUNC_1 &pcfg_pull_up_4ma>;
1034			};
1035
1036			sdmmc0_gpio: sdmmc0-gpio {
1037				rockchip,pins =
1038					<1 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1039					<1 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1040					<1 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1041					<1 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1042					<1 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1043					<1 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1044					<1 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1045					<1 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1046			};
1047		};
1048
1049		sdmmc0ext {
1050			sdmmc0ext_clk: sdmmc0ext-clk {
1051				rockchip,pins =
1052					<3 2 RK_FUNC_3 &pcfg_pull_none_4ma>;
1053			};
1054
1055			sdmmc0ext_cmd: sdmmc0ext-cmd {
1056				rockchip,pins =
1057					<3 0 RK_FUNC_3 &pcfg_pull_up_4ma>;
1058			};
1059
1060			sdmmc0ext_wrprt: sdmmc0ext-wrprt {
1061				rockchip,pins =
1062					<3 3 RK_FUNC_3 &pcfg_pull_up_4ma>;
1063			};
1064
1065			sdmmc0ext_dectn: sdmmc0ext-dectn {
1066				rockchip,pins =
1067					<3 1 RK_FUNC_3 &pcfg_pull_up_4ma>;
1068			};
1069
1070			sdmmc0ext_bus1: sdmmc0ext-bus1 {
1071				rockchip,pins =
1072					<3 4 RK_FUNC_3 &pcfg_pull_up_4ma>;
1073			};
1074
1075			sdmmc0ext_bus4: sdmmc0ext-bus4 {
1076				rockchip,pins =
1077					<3 4 RK_FUNC_3 &pcfg_pull_up_4ma>,
1078					<3 5 RK_FUNC_3 &pcfg_pull_up_4ma>,
1079					<3 6 RK_FUNC_3 &pcfg_pull_up_4ma>,
1080					<3 7 RK_FUNC_3 &pcfg_pull_up_4ma>;
1081			};
1082
1083			sdmmc0ext_gpio: sdmmc0ext-gpio {
1084				rockchip,pins =
1085					<3 0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1086					<3 1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1087					<3 2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1088					<3 3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1089					<3 4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1090					<3 5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1091					<3 6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1092					<3 7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1093			};
1094		};
1095
1096		sdmmc1 {
1097			sdmmc1_clk: sdmmc1-clk {
1098				rockchip,pins =
1099					<1 12 RK_FUNC_1 &pcfg_pull_none_8ma>;
1100			};
1101
1102			sdmmc1_cmd: sdmmc1-cmd {
1103				rockchip,pins =
1104					<1 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
1105			};
1106
1107			sdmmc1_pwren: sdmmc1-pwren {
1108				rockchip,pins =
1109					<1 18 RK_FUNC_1 &pcfg_pull_up_8ma>;
1110			};
1111
1112			sdmmc1_wrprt: sdmmc1-wrprt {
1113				rockchip,pins =
1114					<1 20 RK_FUNC_1 &pcfg_pull_up_8ma>;
1115			};
1116
1117			sdmmc1_dectn: sdmmc1-dectn {
1118				rockchip,pins =
1119					<1 19 RK_FUNC_1 &pcfg_pull_up_8ma>;
1120			};
1121
1122			sdmmc1_bus1: sdmmc1-bus1 {
1123				rockchip,pins =
1124					<1 14 RK_FUNC_1 &pcfg_pull_up_8ma>;
1125			};
1126
1127			sdmmc1_bus4: sdmmc1-bus4 {
1128				rockchip,pins =
1129					<1 12 RK_FUNC_1 &pcfg_pull_up_8ma>,
1130					<1 13 RK_FUNC_1 &pcfg_pull_up_8ma>,
1131					<1 16 RK_FUNC_1 &pcfg_pull_up_8ma>,
1132					<1 17 RK_FUNC_1 &pcfg_pull_up_8ma>;
1133			};
1134
1135			sdmmc1_gpio: sdmmc1-gpio {
1136				rockchip,pins =
1137					<1 12 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1138					<1 13 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1139					<1 14 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1140					<1 15 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1141					<1 16 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1142					<1 17 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1143					<1 18 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1144					<1 19 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1145					<1 20 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1146			};
1147		};
1148
1149		emmc {
1150			emmc_clk: emmc-clk {
1151				rockchip,pins =
1152					<3 21 RK_FUNC_2 &pcfg_pull_none_12ma>;
1153			};
1154
1155			emmc_cmd: emmc-cmd {
1156				rockchip,pins =
1157					<3 19 RK_FUNC_2 &pcfg_pull_up_12ma>;
1158			};
1159
1160			emmc_pwren: emmc-pwren {
1161				rockchip,pins =
1162					<3 22 RK_FUNC_2 &pcfg_pull_none>;
1163			};
1164
1165			emmc_rstnout: emmc-rstnout {
1166				rockchip,pins =
1167					<3 20 RK_FUNC_2 &pcfg_pull_none>;
1168			};
1169
1170			emmc_bus1: emmc-bus1 {
1171				rockchip,pins =
1172					<0 7 RK_FUNC_2 &pcfg_pull_up_12ma>;
1173			};
1174
1175			emmc_bus4: emmc-bus4 {
1176				rockchip,pins =
1177					<0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1178					<2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1179					<2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1180					<2 30 RK_FUNC_2 &pcfg_pull_up_12ma>;
1181			};
1182
1183			emmc_bus8: emmc-bus8 {
1184				rockchip,pins =
1185					<0 7 RK_FUNC_2 &pcfg_pull_up_12ma>,
1186					<2 28 RK_FUNC_2 &pcfg_pull_up_12ma>,
1187					<2 29 RK_FUNC_2 &pcfg_pull_up_12ma>,
1188					<2 30 RK_FUNC_2 &pcfg_pull_up_12ma>,
1189					<2 31 RK_FUNC_2 &pcfg_pull_up_12ma>,
1190					<3 16 RK_FUNC_2 &pcfg_pull_up_12ma>,
1191					<3 17 RK_FUNC_2 &pcfg_pull_up_12ma>,
1192					<3 18 RK_FUNC_2 &pcfg_pull_up_12ma>;
1193			};
1194		};
1195
1196		pwm0 {
1197			pwm0_pin: pwm0-pin {
1198				rockchip,pins =
1199					<2 4 RK_FUNC_1 &pcfg_pull_none>;
1200			};
1201		};
1202
1203		pwm1 {
1204			pwm1_pin: pwm1-pin {
1205				rockchip,pins =
1206					<2 5 RK_FUNC_1 &pcfg_pull_none>;
1207			};
1208		};
1209
1210		pwm2 {
1211			pwm2_pin: pwm2-pin {
1212				rockchip,pins =
1213					<2 6 RK_FUNC_1 &pcfg_pull_none>;
1214			};
1215		};
1216
1217		pwmir {
1218			pwmir_pin: pwmir-pin {
1219				rockchip,pins =
1220					<2 2 RK_FUNC_1 &pcfg_pull_none>;
1221			};
1222		};
1223
1224		gmac-0 {
1225			rgmiim0_pins: rgmiim0-pins {
1226				rockchip,pins =
1227					/* mac_txclk */
1228					<0 8 RK_FUNC_1 &pcfg_pull_none_12ma>,
1229					/* mac_rxclk */
1230					<0 10 RK_FUNC_1 &pcfg_pull_none>,
1231					/* mac_mdio */
1232					<0 11 RK_FUNC_1 &pcfg_pull_none>,
1233					/* mac_txen */
1234					<0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1235					/* mac_clk */
1236					<0 24 RK_FUNC_1 &pcfg_pull_none>,
1237					/* mac_rxdv */
1238					<0 25 RK_FUNC_1 &pcfg_pull_none>,
1239					/* mac_mdc */
1240					<0 19 RK_FUNC_1 &pcfg_pull_none>,
1241					/* mac_rxd1 */
1242					<0 14 RK_FUNC_1 &pcfg_pull_none>,
1243					/* mac_rxd0 */
1244					<0 15 RK_FUNC_1 &pcfg_pull_none>,
1245					/* mac_txd1 */
1246					<0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1247					/* mac_txd0 */
1248					<0 17 RK_FUNC_1 &pcfg_pull_none_12ma>,
1249					/* mac_rxd3 */
1250					<0 20 RK_FUNC_1 &pcfg_pull_none>,
1251					/* mac_rxd2 */
1252					<0 21 RK_FUNC_1 &pcfg_pull_none>,
1253					/* mac_txd3 */
1254					<0 23 RK_FUNC_1 &pcfg_pull_none_12ma>,
1255					/* mac_txd2 */
1256					<0 22 RK_FUNC_1 &pcfg_pull_none_12ma>;
1257			};
1258
1259			rmiim0_pins: rmiim0-pins {
1260				rockchip,pins =
1261					/* mac_mdio */
1262					<0 11 RK_FUNC_1 &pcfg_pull_none>,
1263					/* mac_txen */
1264					<0 12 RK_FUNC_1 &pcfg_pull_none_12ma>,
1265					/* mac_clk */
1266					<0 24 RK_FUNC_1 &pcfg_pull_none>,
1267					/* mac_rxer */
1268					<0 13 RK_FUNC_1 &pcfg_pull_none>,
1269					/* mac_rxdv */
1270					<0 25 RK_FUNC_1 &pcfg_pull_none>,
1271					/* mac_mdc */
1272					<0 19 RK_FUNC_1 &pcfg_pull_none>,
1273					/* mac_rxd1 */
1274					<0 14 RK_FUNC_1 &pcfg_pull_none>,
1275					/* mac_rxd0 */
1276					<0 15 RK_FUNC_1 &pcfg_pull_none>,
1277					/* mac_txd1 */
1278					<0 16 RK_FUNC_1 &pcfg_pull_none_12ma>,
1279					/* mac_txd0 */
1280					<0 17 RK_FUNC_1 &pcfg_pull_none_12ma>;
1281			};
1282		};
1283
1284		gmac-1 {
1285			rgmiim1_pins: rgmiim1-pins {
1286				rockchip,pins =
1287					/* mac_txclk */
1288					<1 12 RK_FUNC_2 &pcfg_pull_none_12ma>,
1289					/* mac_rxclk */
1290					<1 13 RK_FUNC_2 &pcfg_pull_none_2ma>,
1291					/* mac_mdio */
1292					<1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1293					/* mac_txen */
1294					<1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1295					/* mac_clk */
1296					<1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1297					/* mac_rxdv */
1298					<1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1299					/* mac_mdc */
1300					<1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1301					/* mac_rxd1 */
1302					<1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1303					/* mac_rxd0 */
1304					<1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1305					/* mac_txd1 */
1306					<1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1307					/* mac_txd0 */
1308					<1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1309					/* mac_rxd3 */
1310					<1 14 RK_FUNC_2 &pcfg_pull_none_2ma>,
1311					/* mac_rxd2 */
1312					<1 15 RK_FUNC_2 &pcfg_pull_none_2ma>,
1313					/* mac_txd3 */
1314					<1 16 RK_FUNC_2 &pcfg_pull_none_12ma>,
1315					/* mac_txd2 */
1316					<1 17 RK_FUNC_2 &pcfg_pull_none_12ma>,
1317
1318					/* mac_txclk */
1319					<0 8 RK_FUNC_1 &pcfg_pull_none>,
1320					/* mac_txen */
1321					<0 12 RK_FUNC_1 &pcfg_pull_none>,
1322					/* mac_clk */
1323					<0 24 RK_FUNC_1 &pcfg_pull_none>,
1324					/* mac_txd1 */
1325					<0 16 RK_FUNC_1 &pcfg_pull_none>,
1326					/* mac_txd0 */
1327					<0 17 RK_FUNC_1 &pcfg_pull_none>,
1328					/* mac_txd3 */
1329					<0 23 RK_FUNC_1 &pcfg_pull_none>,
1330					/* mac_txd2 */
1331					<0 22 RK_FUNC_1 &pcfg_pull_none>;
1332			};
1333
1334			rmiim1_pins: rmiim1-pins {
1335				rockchip,pins =
1336					/* mac_mdio */
1337					<1 19 RK_FUNC_2 &pcfg_pull_none_2ma>,
1338					/* mac_txen */
1339					<1 25 RK_FUNC_2 &pcfg_pull_none_12ma>,
1340					/* mac_clk */
1341					<1 21 RK_FUNC_2 &pcfg_pull_none_2ma>,
1342					/* mac_rxer */
1343					<1 24 RK_FUNC_2 &pcfg_pull_none_2ma>,
1344					/* mac_rxdv */
1345					<1 22 RK_FUNC_2 &pcfg_pull_none_2ma>,
1346					/* mac_mdc */
1347					<1 23 RK_FUNC_2 &pcfg_pull_none_2ma>,
1348					/* mac_rxd1 */
1349					<1 10 RK_FUNC_2 &pcfg_pull_none_2ma>,
1350					/* mac_rxd0 */
1351					<1 11 RK_FUNC_2 &pcfg_pull_none_2ma>,
1352					/* mac_txd1 */
1353					<1 8 RK_FUNC_2 &pcfg_pull_none_12ma>,
1354					/* mac_txd0 */
1355					<1 9 RK_FUNC_2 &pcfg_pull_none_12ma>,
1356
1357					/* mac_mdio */
1358					<0 11 RK_FUNC_1 &pcfg_pull_none>,
1359					/* mac_txen */
1360					<0 12 RK_FUNC_1 &pcfg_pull_none>,
1361					/* mac_clk */
1362					<0 24 RK_FUNC_1 &pcfg_pull_none>,
1363					/* mac_mdc */
1364					<0 19 RK_FUNC_1 &pcfg_pull_none>,
1365					/* mac_txd1 */
1366					<0 16 RK_FUNC_1 &pcfg_pull_none>,
1367					/* mac_txd0 */
1368					<0 17 RK_FUNC_1 &pcfg_pull_none>;
1369			};
1370		};
1371
1372		gmac2phy {
1373			fephyled_speed100: fephyled-speed100 {
1374				rockchip,pins =
1375					<0 31 RK_FUNC_1 &pcfg_pull_none>;
1376			};
1377
1378			fephyled_speed10: fephyled-speed10 {
1379				rockchip,pins =
1380					<0 30 RK_FUNC_1 &pcfg_pull_none>;
1381			};
1382
1383			fephyled_duplex: fephyled-duplex {
1384				rockchip,pins =
1385					<0 30 RK_FUNC_2 &pcfg_pull_none>;
1386			};
1387
1388			fephyled_rxm0: fephyled-rxm0 {
1389				rockchip,pins =
1390					<0 29 RK_FUNC_1 &pcfg_pull_none>;
1391			};
1392
1393			fephyled_txm0: fephyled-txm0 {
1394				rockchip,pins =
1395					<0 29 RK_FUNC_2 &pcfg_pull_none>;
1396			};
1397
1398			fephyled_linkm0: fephyled-linkm0 {
1399				rockchip,pins =
1400					<0 28 RK_FUNC_1 &pcfg_pull_none>;
1401			};
1402
1403			fephyled_rxm1: fephyled-rxm1 {
1404				rockchip,pins =
1405					<2 25 RK_FUNC_2 &pcfg_pull_none>;
1406			};
1407
1408			fephyled_txm1: fephyled-txm1 {
1409				rockchip,pins =
1410					<2 25 RK_FUNC_3 &pcfg_pull_none>;
1411			};
1412
1413			fephyled_linkm1: fephyled-linkm1 {
1414				rockchip,pins =
1415					<2 24 RK_FUNC_2 &pcfg_pull_none>;
1416			};
1417		};
1418
1419		tsadc_pin {
1420			tsadc_int: tsadc-int {
1421				rockchip,pins =
1422					<2 13 RK_FUNC_2 &pcfg_pull_none>;
1423			};
1424			tsadc_gpio: tsadc-gpio {
1425				rockchip,pins =
1426					<2 13 RK_FUNC_GPIO &pcfg_pull_none>;
1427			};
1428		};
1429
1430		hdmi_pin {
1431			hdmi_cec: hdmi-cec {
1432				rockchip,pins =
1433					<0 3 RK_FUNC_1 &pcfg_pull_none>;
1434			};
1435
1436			hdmi_hpd: hdmi-hpd {
1437				rockchip,pins =
1438					<0 4 RK_FUNC_1 &pcfg_pull_down>;
1439			};
1440		};
1441
1442		cif-0 {
1443			dvp_d2d9_m0:dvp-d2d9-m0 {
1444				rockchip,pins =
1445					/* cif_d0 */
1446					<3 4 RK_FUNC_2 &pcfg_pull_none>,
1447					/* cif_d1 */
1448					<3 5 RK_FUNC_2 &pcfg_pull_none>,
1449					/* cif_d2 */
1450					<3 6 RK_FUNC_2 &pcfg_pull_none>,
1451					/* cif_d3 */
1452					<3 7 RK_FUNC_2 &pcfg_pull_none>,
1453					/* cif_d4 */
1454					<3 8 RK_FUNC_2 &pcfg_pull_none>,
1455					/* cif_d5m0 */
1456					<3 9 RK_FUNC_2 &pcfg_pull_none>,
1457					/* cif_d6m0 */
1458					<3 10 RK_FUNC_2 &pcfg_pull_none>,
1459					/* cif_d7m0 */
1460					<3 11 RK_FUNC_2 &pcfg_pull_none>,
1461					/* cif_href */
1462					<3 1 RK_FUNC_2 &pcfg_pull_none>,
1463					/* cif_vsync */
1464					<3 0 RK_FUNC_2 &pcfg_pull_none>,
1465					/* cif_clkoutm0 */
1466					<3 3 RK_FUNC_2 &pcfg_pull_none>,
1467					/* cif_clkin */
1468					<3 2 RK_FUNC_2 &pcfg_pull_none>;
1469			};
1470		};
1471
1472		cif-1 {
1473			dvp_d2d9_m1:dvp-d2d9-m1 {
1474				rockchip,pins =
1475					/* cif_d0 */
1476					<3 4 RK_FUNC_2 &pcfg_pull_none>,
1477					/* cif_d1 */
1478					<3 5 RK_FUNC_2 &pcfg_pull_none>,
1479					/* cif_d2 */
1480					<3 6 RK_FUNC_2 &pcfg_pull_none>,
1481					/* cif_d3 */
1482					<3 7 RK_FUNC_2 &pcfg_pull_none>,
1483					/* cif_d4 */
1484					<3 8 RK_FUNC_2 &pcfg_pull_none>,
1485					/* cif_d5m1 */
1486					<2 16 RK_FUNC_4 &pcfg_pull_none>,
1487					/* cif_d6m1 */
1488					<2 17 RK_FUNC_4 &pcfg_pull_none>,
1489					/* cif_d7m1 */
1490					<2 18 RK_FUNC_4 &pcfg_pull_none>,
1491					/* cif_href */
1492					<3 1 RK_FUNC_2 &pcfg_pull_none>,
1493					/* cif_vsync */
1494					<3 0 RK_FUNC_2 &pcfg_pull_none>,
1495					/* cif_clkoutm1 */
1496					<2 15 RK_FUNC_4 &pcfg_pull_none>,
1497					/* cif_clkin */
1498					<3 2 RK_FUNC_2 &pcfg_pull_none>;
1499			};
1500		};
1501	};
1502};
1503