1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
4 */
5
6#include <dt-bindings/clock/rk3328-cru.h>
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/pinctrl/rockchip.h>
11#include <dt-bindings/power/rk3328-power.h>
12#include <dt-bindings/soc/rockchip,boot-mode.h>
13#include <dt-bindings/thermal/thermal.h>
14
15/ {
16	compatible = "rockchip,rk3328";
17
18	interrupt-parent = <&gic>;
19	#address-cells = <2>;
20	#size-cells = <2>;
21
22	aliases {
23		serial0 = &uart0;
24		serial1 = &uart1;
25		serial2 = &uart2;
26		i2c0 = &i2c0;
27		i2c1 = &i2c1;
28		i2c2 = &i2c2;
29		i2c3 = &i2c3;
30		ethernet0 = &gmac2io;
31		ethernet1 = &gmac2phy;
32	};
33
34	cpus {
35		#address-cells = <2>;
36		#size-cells = <0>;
37
38		cpu0: cpu@0 {
39			device_type = "cpu";
40			compatible = "arm,cortex-a53";
41			reg = <0x0 0x0>;
42			clocks = <&cru ARMCLK>;
43			#cooling-cells = <2>;
44			dynamic-power-coefficient = <120>;
45			enable-method = "psci";
46			next-level-cache = <&l2>;
47			operating-points-v2 = <&cpu0_opp_table>;
48		};
49
50		cpu1: cpu@1 {
51			device_type = "cpu";
52			compatible = "arm,cortex-a53";
53			reg = <0x0 0x1>;
54			clocks = <&cru ARMCLK>;
55			#cooling-cells = <2>;
56			dynamic-power-coefficient = <120>;
57			enable-method = "psci";
58			next-level-cache = <&l2>;
59			operating-points-v2 = <&cpu0_opp_table>;
60		};
61
62		cpu2: cpu@2 {
63			device_type = "cpu";
64			compatible = "arm,cortex-a53";
65			reg = <0x0 0x2>;
66			clocks = <&cru ARMCLK>;
67			#cooling-cells = <2>;
68			dynamic-power-coefficient = <120>;
69			enable-method = "psci";
70			next-level-cache = <&l2>;
71			operating-points-v2 = <&cpu0_opp_table>;
72		};
73
74		cpu3: cpu@3 {
75			device_type = "cpu";
76			compatible = "arm,cortex-a53";
77			reg = <0x0 0x3>;
78			clocks = <&cru ARMCLK>;
79			#cooling-cells = <2>;
80			dynamic-power-coefficient = <120>;
81			enable-method = "psci";
82			next-level-cache = <&l2>;
83			operating-points-v2 = <&cpu0_opp_table>;
84		};
85
86		l2: l2-cache0 {
87			compatible = "cache";
88		};
89	};
90
91	cpu0_opp_table: opp_table0 {
92		compatible = "operating-points-v2";
93		opp-shared;
94
95		opp-408000000 {
96			opp-hz = /bits/ 64 <408000000>;
97			opp-microvolt = <950000>;
98			clock-latency-ns = <40000>;
99			opp-suspend;
100		};
101		opp-600000000 {
102			opp-hz = /bits/ 64 <600000000>;
103			opp-microvolt = <950000>;
104			clock-latency-ns = <40000>;
105		};
106		opp-816000000 {
107			opp-hz = /bits/ 64 <816000000>;
108			opp-microvolt = <1000000>;
109			clock-latency-ns = <40000>;
110		};
111		opp-1008000000 {
112			opp-hz = /bits/ 64 <1008000000>;
113			opp-microvolt = <1100000>;
114			clock-latency-ns = <40000>;
115		};
116		opp-1200000000 {
117			opp-hz = /bits/ 64 <1200000000>;
118			opp-microvolt = <1225000>;
119			clock-latency-ns = <40000>;
120		};
121		opp-1296000000 {
122			opp-hz = /bits/ 64 <1296000000>;
123			opp-microvolt = <1300000>;
124			clock-latency-ns = <40000>;
125		};
126	};
127
128	amba {
129		compatible = "simple-bus";
130		#address-cells = <2>;
131		#size-cells = <2>;
132		ranges;
133
134		dmac: dmac@ff1f0000 {
135			compatible = "arm,pl330", "arm,primecell";
136			reg = <0x0 0xff1f0000 0x0 0x4000>;
137			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
138				     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
139			clocks = <&cru ACLK_DMAC>;
140			clock-names = "apb_pclk";
141			#dma-cells = <1>;
142		};
143	};
144
145	arm-pmu {
146		compatible = "arm,cortex-a53-pmu";
147		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
148			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
149			     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
150			     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
151		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
152	};
153
154	display_subsystem: display-subsystem {
155		compatible = "rockchip,display-subsystem";
156		ports = <&vop_out>;
157	};
158
159	psci {
160		compatible = "arm,psci-1.0", "arm,psci-0.2";
161		method = "smc";
162	};
163
164	timer {
165		compatible = "arm,armv8-timer";
166		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
167			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
168			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
169			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
170	};
171
172	xin24m: xin24m {
173		compatible = "fixed-clock";
174		#clock-cells = <0>;
175		clock-frequency = <24000000>;
176		clock-output-names = "xin24m";
177	};
178
179	i2s0: i2s@ff000000 {
180		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
181		reg = <0x0 0xff000000 0x0 0x1000>;
182		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
183		clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
184		clock-names = "i2s_clk", "i2s_hclk";
185		dmas = <&dmac 11>, <&dmac 12>;
186		dma-names = "tx", "rx";
187		#sound-dai-cells = <0>;
188		status = "disabled";
189	};
190
191	i2s1: i2s@ff010000 {
192		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
193		reg = <0x0 0xff010000 0x0 0x1000>;
194		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
195		clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
196		clock-names = "i2s_clk", "i2s_hclk";
197		dmas = <&dmac 14>, <&dmac 15>;
198		dma-names = "tx", "rx";
199		#sound-dai-cells = <0>;
200		status = "disabled";
201	};
202
203	i2s2: i2s@ff020000 {
204		compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s";
205		reg = <0x0 0xff020000 0x0 0x1000>;
206		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
207		clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
208		clock-names = "i2s_clk", "i2s_hclk";
209		dmas = <&dmac 0>, <&dmac 1>;
210		dma-names = "tx", "rx";
211		#sound-dai-cells = <0>;
212		status = "disabled";
213	};
214
215	spdif: spdif@ff030000 {
216		compatible = "rockchip,rk3328-spdif";
217		reg = <0x0 0xff030000 0x0 0x1000>;
218		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
219		clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>;
220		clock-names = "mclk", "hclk";
221		dmas = <&dmac 10>;
222		dma-names = "tx";
223		pinctrl-names = "default";
224		pinctrl-0 = <&spdifm2_tx>;
225		#sound-dai-cells = <0>;
226		status = "disabled";
227	};
228
229	pdm: pdm@ff040000 {
230		compatible = "rockchip,pdm";
231		reg = <0x0 0xff040000 0x0 0x1000>;
232		clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>;
233		clock-names = "pdm_clk", "pdm_hclk";
234		dmas = <&dmac 16>;
235		dma-names = "rx";
236		pinctrl-names = "default", "sleep";
237		pinctrl-0 = <&pdmm0_clk
238			     &pdmm0_sdi0
239			     &pdmm0_sdi1
240			     &pdmm0_sdi2
241			     &pdmm0_sdi3>;
242		pinctrl-1 = <&pdmm0_clk_sleep
243			     &pdmm0_sdi0_sleep
244			     &pdmm0_sdi1_sleep
245			     &pdmm0_sdi2_sleep
246			     &pdmm0_sdi3_sleep>;
247		status = "disabled";
248	};
249
250	grf: syscon@ff100000 {
251		compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
252		reg = <0x0 0xff100000 0x0 0x1000>;
253		#address-cells = <1>;
254		#size-cells = <1>;
255
256		io_domains: io-domains {
257			compatible = "rockchip,rk3328-io-voltage-domain";
258			status = "disabled";
259		};
260
261		grf_gpio: grf-gpio {
262			compatible = "rockchip,rk3328-grf-gpio";
263			gpio-controller;
264			#gpio-cells = <2>;
265		};
266
267		power: power-controller {
268			compatible = "rockchip,rk3328-power-controller";
269			#power-domain-cells = <1>;
270			#address-cells = <1>;
271			#size-cells = <0>;
272
273			pd_hevc@RK3328_PD_HEVC {
274				reg = <RK3328_PD_HEVC>;
275			};
276			pd_video@RK3328_PD_VIDEO {
277				reg = <RK3328_PD_VIDEO>;
278			};
279			pd_vpu@RK3328_PD_VPU {
280				reg = <RK3328_PD_VPU>;
281				clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
282			};
283		};
284
285		reboot-mode {
286			compatible = "syscon-reboot-mode";
287			offset = <0x5c8>;
288			mode-normal = <BOOT_NORMAL>;
289			mode-recovery = <BOOT_RECOVERY>;
290			mode-bootloader = <BOOT_FASTBOOT>;
291			mode-loader = <BOOT_BL_DOWNLOAD>;
292		};
293	};
294
295	uart0: serial@ff110000 {
296		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
297		reg = <0x0 0xff110000 0x0 0x100>;
298		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
299		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
300		clock-names = "baudclk", "apb_pclk";
301		dmas = <&dmac 2>, <&dmac 3>;
302		dma-names = "tx", "rx";
303		pinctrl-names = "default";
304		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
305		reg-io-width = <4>;
306		reg-shift = <2>;
307		status = "disabled";
308	};
309
310	uart1: serial@ff120000 {
311		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
312		reg = <0x0 0xff120000 0x0 0x100>;
313		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
314		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
315		clock-names = "baudclk", "apb_pclk";
316		dmas = <&dmac 4>, <&dmac 5>;
317		dma-names = "tx", "rx";
318		pinctrl-names = "default";
319		pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
320		reg-io-width = <4>;
321		reg-shift = <2>;
322		status = "disabled";
323	};
324
325	uart2: serial@ff130000 {
326		compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart";
327		reg = <0x0 0xff130000 0x0 0x100>;
328		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
329		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
330		clock-names = "baudclk", "apb_pclk";
331		dmas = <&dmac 6>, <&dmac 7>;
332		dma-names = "tx", "rx";
333		pinctrl-names = "default";
334		pinctrl-0 = <&uart2m1_xfer>;
335		reg-io-width = <4>;
336		reg-shift = <2>;
337		status = "disabled";
338	};
339
340	i2c0: i2c@ff150000 {
341		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
342		reg = <0x0 0xff150000 0x0 0x1000>;
343		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
344		#address-cells = <1>;
345		#size-cells = <0>;
346		clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>;
347		clock-names = "i2c", "pclk";
348		pinctrl-names = "default";
349		pinctrl-0 = <&i2c0_xfer>;
350		status = "disabled";
351	};
352
353	i2c1: i2c@ff160000 {
354		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
355		reg = <0x0 0xff160000 0x0 0x1000>;
356		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
357		#address-cells = <1>;
358		#size-cells = <0>;
359		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
360		clock-names = "i2c", "pclk";
361		pinctrl-names = "default";
362		pinctrl-0 = <&i2c1_xfer>;
363		status = "disabled";
364	};
365
366	i2c2: i2c@ff170000 {
367		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
368		reg = <0x0 0xff170000 0x0 0x1000>;
369		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
370		#address-cells = <1>;
371		#size-cells = <0>;
372		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
373		clock-names = "i2c", "pclk";
374		pinctrl-names = "default";
375		pinctrl-0 = <&i2c2_xfer>;
376		status = "disabled";
377	};
378
379	i2c3: i2c@ff180000 {
380		compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c";
381		reg = <0x0 0xff180000 0x0 0x1000>;
382		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
383		#address-cells = <1>;
384		#size-cells = <0>;
385		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
386		clock-names = "i2c", "pclk";
387		pinctrl-names = "default";
388		pinctrl-0 = <&i2c3_xfer>;
389		status = "disabled";
390	};
391
392	spi0: spi@ff190000 {
393		compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi";
394		reg = <0x0 0xff190000 0x0 0x1000>;
395		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
396		#address-cells = <1>;
397		#size-cells = <0>;
398		clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
399		clock-names = "spiclk", "apb_pclk";
400		dmas = <&dmac 8>, <&dmac 9>;
401		dma-names = "tx", "rx";
402		pinctrl-names = "default";
403		pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>;
404		status = "disabled";
405	};
406
407	wdt: watchdog@ff1a0000 {
408		compatible = "snps,dw-wdt";
409		reg = <0x0 0xff1a0000 0x0 0x100>;
410		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
411		clocks = <&cru PCLK_WDT>;
412	};
413
414	pwm0: pwm@ff1b0000 {
415		compatible = "rockchip,rk3328-pwm";
416		reg = <0x0 0xff1b0000 0x0 0x10>;
417		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
418		clock-names = "pwm", "pclk";
419		pinctrl-names = "default";
420		pinctrl-0 = <&pwm0_pin>;
421		#pwm-cells = <3>;
422		status = "disabled";
423	};
424
425	pwm1: pwm@ff1b0010 {
426		compatible = "rockchip,rk3328-pwm";
427		reg = <0x0 0xff1b0010 0x0 0x10>;
428		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
429		clock-names = "pwm", "pclk";
430		pinctrl-names = "default";
431		pinctrl-0 = <&pwm1_pin>;
432		#pwm-cells = <3>;
433		status = "disabled";
434	};
435
436	pwm2: pwm@ff1b0020 {
437		compatible = "rockchip,rk3328-pwm";
438		reg = <0x0 0xff1b0020 0x0 0x10>;
439		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
440		clock-names = "pwm", "pclk";
441		pinctrl-names = "default";
442		pinctrl-0 = <&pwm2_pin>;
443		#pwm-cells = <3>;
444		status = "disabled";
445	};
446
447	pwm3: pwm@ff1b0030 {
448		compatible = "rockchip,rk3328-pwm";
449		reg = <0x0 0xff1b0030 0x0 0x10>;
450		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
451		clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>;
452		clock-names = "pwm", "pclk";
453		pinctrl-names = "default";
454		pinctrl-0 = <&pwmir_pin>;
455		#pwm-cells = <3>;
456		status = "disabled";
457	};
458
459	thermal-zones {
460		soc_thermal: soc-thermal {
461			polling-delay-passive = <20>;
462			polling-delay = <1000>;
463			sustainable-power = <1000>;
464
465			thermal-sensors = <&tsadc 0>;
466
467			trips {
468				threshold: trip-point0 {
469					temperature = <70000>;
470					hysteresis = <2000>;
471					type = "passive";
472				};
473				target: trip-point1 {
474					temperature = <85000>;
475					hysteresis = <2000>;
476					type = "passive";
477				};
478				soc_crit: soc-crit {
479					temperature = <95000>;
480					hysteresis = <2000>;
481					type = "critical";
482				};
483			};
484
485			cooling-maps {
486				map0 {
487					trip = <&target>;
488					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
489							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
490							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
491							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
492					contribution = <4096>;
493				};
494			};
495		};
496
497	};
498
499	tsadc: tsadc@ff250000 {
500		compatible = "rockchip,rk3328-tsadc";
501		reg = <0x0 0xff250000 0x0 0x100>;
502		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
503		assigned-clocks = <&cru SCLK_TSADC>;
504		assigned-clock-rates = <50000>;
505		clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
506		clock-names = "tsadc", "apb_pclk";
507		pinctrl-names = "init", "default", "sleep";
508		pinctrl-0 = <&otp_gpio>;
509		pinctrl-1 = <&otp_out>;
510		pinctrl-2 = <&otp_gpio>;
511		resets = <&cru SRST_TSADC>;
512		reset-names = "tsadc-apb";
513		rockchip,grf = <&grf>;
514		rockchip,hw-tshut-temp = <100000>;
515		#thermal-sensor-cells = <1>;
516		status = "disabled";
517	};
518
519	efuse: efuse@ff260000 {
520		compatible = "rockchip,rk3328-efuse";
521		reg = <0x0 0xff260000 0x0 0x50>;
522		#address-cells = <1>;
523		#size-cells = <1>;
524		clocks = <&cru SCLK_EFUSE>;
525		clock-names = "pclk_efuse";
526		rockchip,efuse-size = <0x20>;
527
528		/* Data cells */
529		efuse_id: id@7 {
530			reg = <0x07 0x10>;
531		};
532		cpu_leakage: cpu-leakage@17 {
533			reg = <0x17 0x1>;
534		};
535		logic_leakage: logic-leakage@19 {
536			reg = <0x19 0x1>;
537		};
538		efuse_cpu_version: cpu-version@1a {
539			reg = <0x1a 0x1>;
540			bits = <3 3>;
541		};
542	};
543
544	saradc: adc@ff280000 {
545		compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc";
546		reg = <0x0 0xff280000 0x0 0x100>;
547		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
548		#io-channel-cells = <1>;
549		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
550		clock-names = "saradc", "apb_pclk";
551		resets = <&cru SRST_SARADC_P>;
552		reset-names = "saradc-apb";
553		status = "disabled";
554	};
555
556	gpu: gpu@ff300000 {
557		compatible = "rockchip,rk3328-mali", "arm,mali-450";
558		reg = <0x0 0xff300000 0x0 0x40000>;
559		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
560			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
561			     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
562			     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
563			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
564			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
565			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
566		interrupt-names = "gp",
567				  "gpmmu",
568				  "pp",
569				  "pp0",
570				  "ppmmu0",
571				  "pp1",
572				  "ppmmu1";
573		clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
574		clock-names = "bus", "core";
575		resets = <&cru SRST_GPU_A>;
576	};
577
578	h265e_mmu: iommu@ff330200 {
579		compatible = "rockchip,iommu";
580		reg = <0x0 0xff330200 0 0x100>;
581		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
582		interrupt-names = "h265e_mmu";
583		clocks = <&cru ACLK_H265>, <&cru PCLK_H265>;
584		clock-names = "aclk", "iface";
585		#iommu-cells = <0>;
586		status = "disabled";
587	};
588
589	vepu_mmu: iommu@ff340800 {
590		compatible = "rockchip,iommu";
591		reg = <0x0 0xff340800 0x0 0x40>;
592		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
593		interrupt-names = "vepu_mmu";
594		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
595		clock-names = "aclk", "iface";
596		#iommu-cells = <0>;
597		status = "disabled";
598	};
599
600	vpu: video-codec@ff350000 {
601		compatible = "rockchip,rk3328-vpu";
602		reg = <0x0 0xff350000 0x0 0x800>;
603		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
604		interrupt-names = "vdpu";
605		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
606		clock-names = "aclk", "hclk";
607		iommus = <&vpu_mmu>;
608		power-domains = <&power RK3328_PD_VPU>;
609	};
610
611	vpu_mmu: iommu@ff350800 {
612		compatible = "rockchip,iommu";
613		reg = <0x0 0xff350800 0x0 0x40>;
614		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
615		interrupt-names = "vpu_mmu";
616		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
617		clock-names = "aclk", "iface";
618		#iommu-cells = <0>;
619		power-domains = <&power RK3328_PD_VPU>;
620	};
621
622	rkvdec_mmu: iommu@ff360480 {
623		compatible = "rockchip,iommu";
624		reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>;
625		interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
626		interrupt-names = "rkvdec_mmu";
627		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
628		clock-names = "aclk", "iface";
629		#iommu-cells = <0>;
630		status = "disabled";
631	};
632
633	vop: vop@ff370000 {
634		compatible = "rockchip,rk3328-vop";
635		reg = <0x0 0xff370000 0x0 0x3efc>;
636		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
637		clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>;
638		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
639		resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>;
640		reset-names = "axi", "ahb", "dclk";
641		iommus = <&vop_mmu>;
642		status = "disabled";
643
644		vop_out: port {
645			#address-cells = <1>;
646			#size-cells = <0>;
647
648			vop_out_hdmi: endpoint@0 {
649				reg = <0>;
650				remote-endpoint = <&hdmi_in_vop>;
651			};
652		};
653	};
654
655	vop_mmu: iommu@ff373f00 {
656		compatible = "rockchip,iommu";
657		reg = <0x0 0xff373f00 0x0 0x100>;
658		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
659		interrupt-names = "vop_mmu";
660		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
661		clock-names = "aclk", "iface";
662		#iommu-cells = <0>;
663		status = "disabled";
664	};
665
666	hdmi: hdmi@ff3c0000 {
667		compatible = "rockchip,rk3328-dw-hdmi";
668		reg = <0x0 0xff3c0000 0x0 0x20000>;
669		reg-io-width = <4>;
670		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
671			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
672		clocks = <&cru PCLK_HDMI>,
673			 <&cru SCLK_HDMI_SFC>,
674			 <&cru SCLK_RTC32K>;
675		clock-names = "iahb",
676			      "isfr",
677			      "cec";
678		phys = <&hdmiphy>;
679		phy-names = "hdmi";
680		pinctrl-names = "default";
681		pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>;
682		rockchip,grf = <&grf>;
683		#sound-dai-cells = <0>;
684		status = "disabled";
685
686		ports {
687			hdmi_in: port {
688				hdmi_in_vop: endpoint {
689					remote-endpoint = <&vop_out_hdmi>;
690				};
691			};
692		};
693	};
694
695	codec: codec@ff410000 {
696		compatible = "rockchip,rk3328-codec";
697		reg = <0x0 0xff410000 0x0 0x1000>;
698		clocks = <&cru PCLK_ACODECPHY>, <&cru SCLK_I2S1>;
699		clock-names = "pclk", "mclk";
700		rockchip,grf = <&grf>;
701		#sound-dai-cells = <0>;
702		status = "disabled";
703	};
704
705	hdmiphy: phy@ff430000 {
706		compatible = "rockchip,rk3328-hdmi-phy";
707		reg = <0x0 0xff430000 0x0 0x10000>;
708		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
709		clocks = <&cru PCLK_HDMIPHY>, <&xin24m>, <&cru DCLK_HDMIPHY>;
710		clock-names = "sysclk", "refoclk", "refpclk";
711		clock-output-names = "hdmi_phy";
712		#clock-cells = <0>;
713		nvmem-cells = <&efuse_cpu_version>;
714		nvmem-cell-names = "cpu-version";
715		#phy-cells = <0>;
716		status = "disabled";
717	};
718
719	cru: clock-controller@ff440000 {
720		compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon";
721		reg = <0x0 0xff440000 0x0 0x1000>;
722		rockchip,grf = <&grf>;
723		#clock-cells = <1>;
724		#reset-cells = <1>;
725		assigned-clocks =
726			/*
727			 * CPLL should run at 1200, but that is to high for
728			 * the initial dividers of most of its children.
729			 * We need set cpll child clk div first,
730			 * and then set the cpll frequency.
731			 */
732			<&cru DCLK_LCDC>, <&cru SCLK_PDM>,
733			<&cru SCLK_RTC32K>, <&cru SCLK_UART0>,
734			<&cru SCLK_UART1>, <&cru SCLK_UART2>,
735			<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
736			<&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>,
737			<&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>,
738			<&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>,
739			<&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>,
740			<&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
741			<&cru SCLK_SDIO>, <&cru SCLK_TSP>,
742			<&cru SCLK_WIFI>, <&cru ARMCLK>,
743			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
744			<&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>,
745			<&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
746			<&cru HCLK_PERI>, <&cru PCLK_PERI>,
747			<&cru SCLK_RTC32K>;
748		assigned-clock-parents =
749			<&cru HDMIPHY>, <&cru PLL_APLL>,
750			<&cru PLL_GPLL>, <&xin24m>,
751			<&xin24m>, <&xin24m>;
752		assigned-clock-rates =
753			<0>, <61440000>,
754			<0>, <24000000>,
755			<24000000>, <24000000>,
756			<15000000>, <15000000>,
757			<100000000>, <100000000>,
758			<100000000>, <100000000>,
759			<50000000>, <100000000>,
760			<100000000>, <100000000>,
761			<50000000>, <50000000>,
762			<50000000>, <50000000>,
763			<24000000>, <600000000>,
764			<491520000>, <1200000000>,
765			<150000000>, <75000000>,
766			<75000000>, <150000000>,
767			<75000000>, <75000000>,
768			<32768>;
769	};
770
771	usb2phy_grf: syscon@ff450000 {
772		compatible = "rockchip,rk3328-usb2phy-grf", "syscon",
773			     "simple-mfd";
774		reg = <0x0 0xff450000 0x0 0x10000>;
775		#address-cells = <1>;
776		#size-cells = <1>;
777
778		u2phy: usb2-phy@100 {
779			compatible = "rockchip,rk3328-usb2phy";
780			reg = <0x100 0x10>;
781			clocks = <&xin24m>;
782			clock-names = "phyclk";
783			clock-output-names = "usb480m_phy";
784			#clock-cells = <0>;
785			assigned-clocks = <&cru USB480M>;
786			assigned-clock-parents = <&u2phy>;
787			status = "disabled";
788
789			u2phy_otg: otg-port {
790				#phy-cells = <0>;
791				interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
792					     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
793					     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
794				interrupt-names = "otg-bvalid", "otg-id",
795						  "linestate";
796				status = "disabled";
797			};
798
799			u2phy_host: host-port {
800				#phy-cells = <0>;
801				interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
802				interrupt-names = "linestate";
803				status = "disabled";
804			};
805		};
806	};
807
808	sdmmc: dwmmc@ff500000 {
809		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
810		reg = <0x0 0xff500000 0x0 0x4000>;
811		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
812		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
813			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
814		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
815		fifo-depth = <0x100>;
816		max-frequency = <150000000>;
817		status = "disabled";
818	};
819
820	sdio: dwmmc@ff510000 {
821		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
822		reg = <0x0 0xff510000 0x0 0x4000>;
823		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
824		clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
825			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
826		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
827		fifo-depth = <0x100>;
828		max-frequency = <150000000>;
829		status = "disabled";
830	};
831
832	emmc: dwmmc@ff520000 {
833		compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
834		reg = <0x0 0xff520000 0x0 0x4000>;
835		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
836		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
837			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
838		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
839		fifo-depth = <0x100>;
840		max-frequency = <150000000>;
841		status = "disabled";
842	};
843
844	gmac2io: ethernet@ff540000 {
845		compatible = "rockchip,rk3328-gmac";
846		reg = <0x0 0xff540000 0x0 0x10000>;
847		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
848		interrupt-names = "macirq";
849		clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>,
850			 <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>,
851			 <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>,
852			 <&cru PCLK_MAC2IO>;
853		clock-names = "stmmaceth", "mac_clk_rx",
854			      "mac_clk_tx", "clk_mac_ref",
855			      "clk_mac_refout", "aclk_mac",
856			      "pclk_mac";
857		resets = <&cru SRST_GMAC2IO_A>;
858		reset-names = "stmmaceth";
859		rockchip,grf = <&grf>;
860		status = "disabled";
861	};
862
863	gmac2phy: ethernet@ff550000 {
864		compatible = "rockchip,rk3328-gmac";
865		reg = <0x0 0xff550000 0x0 0x10000>;
866		rockchip,grf = <&grf>;
867		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
868		interrupt-names = "macirq";
869		clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY_RXTX>,
870			 <&cru SCLK_MAC2PHY_RXTX>, <&cru SCLK_MAC2PHY_REF>,
871			 <&cru ACLK_MAC2PHY>, <&cru PCLK_MAC2PHY>,
872			 <&cru SCLK_MAC2PHY_OUT>;
873		clock-names = "stmmaceth", "mac_clk_rx",
874			      "mac_clk_tx", "clk_mac_ref",
875			      "aclk_mac", "pclk_mac",
876			      "clk_macphy";
877		resets = <&cru SRST_GMAC2PHY_A>, <&cru SRST_MACPHY>;
878		reset-names = "stmmaceth", "mac-phy";
879		phy-mode = "rmii";
880		phy-handle = <&phy>;
881		status = "disabled";
882
883		mdio {
884			compatible = "snps,dwmac-mdio";
885			#address-cells = <1>;
886			#size-cells = <0>;
887
888			phy: phy@0 {
889				compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22";
890				reg = <0>;
891				clocks = <&cru SCLK_MAC2PHY_OUT>;
892				resets = <&cru SRST_MACPHY>;
893				pinctrl-names = "default";
894				pinctrl-0 = <&fephyled_rxm1 &fephyled_linkm1>;
895				phy-is-integrated;
896			};
897		};
898	};
899
900	usb20_otg: usb@ff580000 {
901		compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb",
902			     "snps,dwc2";
903		reg = <0x0 0xff580000 0x0 0x40000>;
904		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
905		clocks = <&cru HCLK_OTG>;
906		clock-names = "otg";
907		dr_mode = "otg";
908		g-np-tx-fifo-size = <16>;
909		g-rx-fifo-size = <280>;
910		g-tx-fifo-size = <256 128 128 64 32 16>;
911		g-use-dma;
912		phys = <&u2phy_otg>;
913		phy-names = "usb2-phy";
914		status = "disabled";
915	};
916
917	usb_host0_ehci: usb@ff5c0000 {
918		compatible = "generic-ehci";
919		reg = <0x0 0xff5c0000 0x0 0x10000>;
920		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
921		clocks = <&cru HCLK_HOST0>, <&u2phy>;
922		clock-names = "usbhost", "utmi";
923		phys = <&u2phy_host>;
924		phy-names = "usb";
925		status = "disabled";
926	};
927
928	usb_host0_ohci: usb@ff5d0000 {
929		compatible = "generic-ohci";
930		reg = <0x0 0xff5d0000 0x0 0x10000>;
931		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
932		clocks = <&cru HCLK_HOST0>, <&u2phy>;
933		clock-names = "usbhost", "utmi";
934		phys = <&u2phy_host>;
935		phy-names = "usb";
936		status = "disabled";
937	};
938
939	gic: interrupt-controller@ff811000 {
940		compatible = "arm,gic-400";
941		#interrupt-cells = <3>;
942		#address-cells = <0>;
943		interrupt-controller;
944		reg = <0x0 0xff811000 0 0x1000>,
945		      <0x0 0xff812000 0 0x2000>,
946		      <0x0 0xff814000 0 0x2000>,
947		      <0x0 0xff816000 0 0x2000>;
948		interrupts = <GIC_PPI 9
949		      (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
950	};
951
952	pinctrl: pinctrl {
953		compatible = "rockchip,rk3328-pinctrl";
954		rockchip,grf = <&grf>;
955		#address-cells = <2>;
956		#size-cells = <2>;
957		ranges;
958
959		gpio0: gpio0@ff210000 {
960			compatible = "rockchip,gpio-bank";
961			reg = <0x0 0xff210000 0x0 0x100>;
962			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
963			clocks = <&cru PCLK_GPIO0>;
964
965			gpio-controller;
966			#gpio-cells = <2>;
967
968			interrupt-controller;
969			#interrupt-cells = <2>;
970		};
971
972		gpio1: gpio1@ff220000 {
973			compatible = "rockchip,gpio-bank";
974			reg = <0x0 0xff220000 0x0 0x100>;
975			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
976			clocks = <&cru PCLK_GPIO1>;
977
978			gpio-controller;
979			#gpio-cells = <2>;
980
981			interrupt-controller;
982			#interrupt-cells = <2>;
983		};
984
985		gpio2: gpio2@ff230000 {
986			compatible = "rockchip,gpio-bank";
987			reg = <0x0 0xff230000 0x0 0x100>;
988			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
989			clocks = <&cru PCLK_GPIO2>;
990
991			gpio-controller;
992			#gpio-cells = <2>;
993
994			interrupt-controller;
995			#interrupt-cells = <2>;
996		};
997
998		gpio3: gpio3@ff240000 {
999			compatible = "rockchip,gpio-bank";
1000			reg = <0x0 0xff240000 0x0 0x100>;
1001			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1002			clocks = <&cru PCLK_GPIO3>;
1003
1004			gpio-controller;
1005			#gpio-cells = <2>;
1006
1007			interrupt-controller;
1008			#interrupt-cells = <2>;
1009		};
1010
1011		pcfg_pull_up: pcfg-pull-up {
1012			bias-pull-up;
1013		};
1014
1015		pcfg_pull_down: pcfg-pull-down {
1016			bias-pull-down;
1017		};
1018
1019		pcfg_pull_none: pcfg-pull-none {
1020			bias-disable;
1021		};
1022
1023		pcfg_pull_none_2ma: pcfg-pull-none-2ma {
1024			bias-disable;
1025			drive-strength = <2>;
1026		};
1027
1028		pcfg_pull_up_2ma: pcfg-pull-up-2ma {
1029			bias-pull-up;
1030			drive-strength = <2>;
1031		};
1032
1033		pcfg_pull_up_4ma: pcfg-pull-up-4ma {
1034			bias-pull-up;
1035			drive-strength = <4>;
1036		};
1037
1038		pcfg_pull_none_4ma: pcfg-pull-none-4ma {
1039			bias-disable;
1040			drive-strength = <4>;
1041		};
1042
1043		pcfg_pull_down_4ma: pcfg-pull-down-4ma {
1044			bias-pull-down;
1045			drive-strength = <4>;
1046		};
1047
1048		pcfg_pull_none_8ma: pcfg-pull-none-8ma {
1049			bias-disable;
1050			drive-strength = <8>;
1051		};
1052
1053		pcfg_pull_up_8ma: pcfg-pull-up-8ma {
1054			bias-pull-up;
1055			drive-strength = <8>;
1056		};
1057
1058		pcfg_pull_none_12ma: pcfg-pull-none-12ma {
1059			bias-disable;
1060			drive-strength = <12>;
1061		};
1062
1063		pcfg_pull_up_12ma: pcfg-pull-up-12ma {
1064			bias-pull-up;
1065			drive-strength = <12>;
1066		};
1067
1068		pcfg_output_high: pcfg-output-high {
1069			output-high;
1070		};
1071
1072		pcfg_output_low: pcfg-output-low {
1073			output-low;
1074		};
1075
1076		pcfg_input_high: pcfg-input-high {
1077			bias-pull-up;
1078			input-enable;
1079		};
1080
1081		pcfg_input: pcfg-input {
1082			input-enable;
1083		};
1084
1085		i2c0 {
1086			i2c0_xfer: i2c0-xfer {
1087				rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>,
1088						<2 RK_PD1 1 &pcfg_pull_none>;
1089			};
1090		};
1091
1092		i2c1 {
1093			i2c1_xfer: i2c1-xfer {
1094				rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>,
1095						<2 RK_PA5 2 &pcfg_pull_none>;
1096			};
1097		};
1098
1099		i2c2 {
1100			i2c2_xfer: i2c2-xfer {
1101				rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>,
1102						<2 RK_PB6 1 &pcfg_pull_none>;
1103			};
1104		};
1105
1106		i2c3 {
1107			i2c3_xfer: i2c3-xfer {
1108				rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>,
1109						<0 RK_PA6 2 &pcfg_pull_none>;
1110			};
1111			i2c3_gpio: i2c3-gpio {
1112				rockchip,pins =
1113					<0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>,
1114					<0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
1115			};
1116		};
1117
1118		hdmi_i2c {
1119			hdmii2c_xfer: hdmii2c-xfer {
1120				rockchip,pins = <0 RK_PA5 1 &pcfg_pull_none>,
1121						<0 RK_PA6 1 &pcfg_pull_none>;
1122			};
1123		};
1124
1125		pdm-0 {
1126			pdmm0_clk: pdmm0-clk {
1127				rockchip,pins = <2 RK_PC2 2 &pcfg_pull_none>;
1128			};
1129
1130			pdmm0_fsync: pdmm0-fsync {
1131				rockchip,pins = <2 RK_PC7 2 &pcfg_pull_none>;
1132			};
1133
1134			pdmm0_sdi0: pdmm0-sdi0 {
1135				rockchip,pins = <2 RK_PC3 2 &pcfg_pull_none>;
1136			};
1137
1138			pdmm0_sdi1: pdmm0-sdi1 {
1139				rockchip,pins = <2 RK_PC4 2 &pcfg_pull_none>;
1140			};
1141
1142			pdmm0_sdi2: pdmm0-sdi2 {
1143				rockchip,pins = <2 RK_PC5 2 &pcfg_pull_none>;
1144			};
1145
1146			pdmm0_sdi3: pdmm0-sdi3 {
1147				rockchip,pins = <2 RK_PC6 2 &pcfg_pull_none>;
1148			};
1149
1150			pdmm0_clk_sleep: pdmm0-clk-sleep {
1151				rockchip,pins =
1152					<2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>;
1153			};
1154
1155			pdmm0_sdi0_sleep: pdmm0-sdi0-sleep {
1156				rockchip,pins =
1157					<2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>;
1158			};
1159
1160			pdmm0_sdi1_sleep: pdmm0-sdi1-sleep {
1161				rockchip,pins =
1162					<2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>;
1163			};
1164
1165			pdmm0_sdi2_sleep: pdmm0-sdi2-sleep {
1166				rockchip,pins =
1167					<2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>;
1168			};
1169
1170			pdmm0_sdi3_sleep: pdmm0-sdi3-sleep {
1171				rockchip,pins =
1172					<2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>;
1173			};
1174
1175			pdmm0_fsync_sleep: pdmm0-fsync-sleep {
1176				rockchip,pins =
1177					<2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
1178			};
1179		};
1180
1181		tsadc {
1182			otp_gpio: otp-gpio {
1183				rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
1184			};
1185
1186			otp_out: otp-out {
1187				rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>;
1188			};
1189		};
1190
1191		uart0 {
1192			uart0_xfer: uart0-xfer {
1193				rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>,
1194						<1 RK_PB0 1 &pcfg_pull_none>;
1195			};
1196
1197			uart0_cts: uart0-cts {
1198				rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>;
1199			};
1200
1201			uart0_rts: uart0-rts {
1202				rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>;
1203			};
1204
1205			uart0_rts_gpio: uart0-rts-gpio {
1206				rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
1207			};
1208		};
1209
1210		uart1 {
1211			uart1_xfer: uart1-xfer {
1212				rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>,
1213						<3 RK_PA6 4 &pcfg_pull_none>;
1214			};
1215
1216			uart1_cts: uart1-cts {
1217				rockchip,pins = <3 RK_PA7 4 &pcfg_pull_none>;
1218			};
1219
1220			uart1_rts: uart1-rts {
1221				rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>;
1222			};
1223
1224			uart1_rts_gpio: uart1-rts-gpio {
1225				rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
1226			};
1227		};
1228
1229		uart2-0 {
1230			uart2m0_xfer: uart2m0-xfer {
1231				rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>,
1232						<1 RK_PA1 2 &pcfg_pull_none>;
1233			};
1234		};
1235
1236		uart2-1 {
1237			uart2m1_xfer: uart2m1-xfer {
1238				rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>,
1239						<2 RK_PA1 1 &pcfg_pull_none>;
1240			};
1241		};
1242
1243		spi0-0 {
1244			spi0m0_clk: spi0m0-clk {
1245				rockchip,pins = <2 RK_PB0 1 &pcfg_pull_up>;
1246			};
1247
1248			spi0m0_cs0: spi0m0-cs0 {
1249				rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up>;
1250			};
1251
1252			spi0m0_tx: spi0m0-tx {
1253				rockchip,pins = <2 RK_PB1 1 &pcfg_pull_up>;
1254			};
1255
1256			spi0m0_rx: spi0m0-rx {
1257				rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up>;
1258			};
1259
1260			spi0m0_cs1: spi0m0-cs1 {
1261				rockchip,pins = <2 RK_PB4 1 &pcfg_pull_up>;
1262			};
1263		};
1264
1265		spi0-1 {
1266			spi0m1_clk: spi0m1-clk {
1267				rockchip,pins = <3 RK_PC7 2 &pcfg_pull_up>;
1268			};
1269
1270			spi0m1_cs0: spi0m1-cs0 {
1271				rockchip,pins = <3 RK_PD2 2 &pcfg_pull_up>;
1272			};
1273
1274			spi0m1_tx: spi0m1-tx {
1275				rockchip,pins = <3 RK_PD1 2 &pcfg_pull_up>;
1276			};
1277
1278			spi0m1_rx: spi0m1-rx {
1279				rockchip,pins = <3 RK_PD0 2 &pcfg_pull_up>;
1280			};
1281
1282			spi0m1_cs1: spi0m1-cs1 {
1283				rockchip,pins = <3 RK_PD3 2 &pcfg_pull_up>;
1284			};
1285		};
1286
1287		spi0-2 {
1288			spi0m2_clk: spi0m2-clk {
1289				rockchip,pins = <3 RK_PA0 4 &pcfg_pull_up>;
1290			};
1291
1292			spi0m2_cs0: spi0m2-cs0 {
1293				rockchip,pins = <3 RK_PB0 3 &pcfg_pull_up>;
1294			};
1295
1296			spi0m2_tx: spi0m2-tx {
1297				rockchip,pins = <3 RK_PA1 4 &pcfg_pull_up>;
1298			};
1299
1300			spi0m2_rx: spi0m2-rx {
1301				rockchip,pins = <3 RK_PA2 4 &pcfg_pull_up>;
1302			};
1303		};
1304
1305		i2s1 {
1306			i2s1_mclk: i2s1-mclk {
1307				rockchip,pins = <2 RK_PB7 1 &pcfg_pull_none>;
1308			};
1309
1310			i2s1_sclk: i2s1-sclk {
1311				rockchip,pins = <2 RK_PC2 1 &pcfg_pull_none>;
1312			};
1313
1314			i2s1_lrckrx: i2s1-lrckrx {
1315				rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>;
1316			};
1317
1318			i2s1_lrcktx: i2s1-lrcktx {
1319				rockchip,pins = <2 RK_PC1 1 &pcfg_pull_none>;
1320			};
1321
1322			i2s1_sdi: i2s1-sdi {
1323				rockchip,pins = <2 RK_PC3 1 &pcfg_pull_none>;
1324			};
1325
1326			i2s1_sdo: i2s1-sdo {
1327				rockchip,pins = <2 RK_PC7 1 &pcfg_pull_none>;
1328			};
1329
1330			i2s1_sdio1: i2s1-sdio1 {
1331				rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>;
1332			};
1333
1334			i2s1_sdio2: i2s1-sdio2 {
1335				rockchip,pins = <2 RK_PC5 1 &pcfg_pull_none>;
1336			};
1337
1338			i2s1_sdio3: i2s1-sdio3 {
1339				rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>;
1340			};
1341
1342			i2s1_sleep: i2s1-sleep {
1343				rockchip,pins =
1344					<2 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>,
1345					<2 RK_PC0 RK_FUNC_GPIO &pcfg_input_high>,
1346					<2 RK_PC1 RK_FUNC_GPIO &pcfg_input_high>,
1347					<2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>,
1348					<2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>,
1349					<2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>,
1350					<2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
1351					<2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>,
1352					<2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>;
1353			};
1354		};
1355
1356		i2s2-0 {
1357			i2s2m0_mclk: i2s2m0-mclk {
1358				rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>;
1359			};
1360
1361			i2s2m0_sclk: i2s2m0-sclk {
1362				rockchip,pins = <1 RK_PC6 1 &pcfg_pull_none>;
1363			};
1364
1365			i2s2m0_lrckrx: i2s2m0-lrckrx {
1366				rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>;
1367			};
1368
1369			i2s2m0_lrcktx: i2s2m0-lrcktx {
1370				rockchip,pins = <1 RK_PC7 1 &pcfg_pull_none>;
1371			};
1372
1373			i2s2m0_sdi: i2s2m0-sdi {
1374				rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>;
1375			};
1376
1377			i2s2m0_sdo: i2s2m0-sdo {
1378				rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>;
1379			};
1380
1381			i2s2m0_sleep: i2s2m0-sleep {
1382				rockchip,pins =
1383					<1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
1384					<1 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>,
1385					<1 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>,
1386					<1 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>,
1387					<1 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>,
1388					<1 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>;
1389			};
1390		};
1391
1392		i2s2-1 {
1393			i2s2m1_mclk: i2s2m1-mclk {
1394				rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>;
1395			};
1396
1397			i2s2m1_sclk: i2s2m1-sclk {
1398				rockchip,pins = <3 RK_PA0 6 &pcfg_pull_none>;
1399			};
1400
1401			i2s2m1_lrckrx: i2sm1-lrckrx {
1402				rockchip,pins = <3 RK_PB0 6 &pcfg_pull_none>;
1403			};
1404
1405			i2s2m1_lrcktx: i2s2m1-lrcktx {
1406				rockchip,pins = <3 RK_PB0 4 &pcfg_pull_none>;
1407			};
1408
1409			i2s2m1_sdi: i2s2m1-sdi {
1410				rockchip,pins = <3 RK_PA2 6 &pcfg_pull_none>;
1411			};
1412
1413			i2s2m1_sdo: i2s2m1-sdo {
1414				rockchip,pins = <3 RK_PA1 6 &pcfg_pull_none>;
1415			};
1416
1417			i2s2m1_sleep: i2s2m1-sleep {
1418				rockchip,pins =
1419					<1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>,
1420					<3 RK_PA0 RK_FUNC_GPIO &pcfg_input_high>,
1421					<3 RK_PB0 RK_FUNC_GPIO &pcfg_input_high>,
1422					<3 RK_PA2 RK_FUNC_GPIO &pcfg_input_high>,
1423					<3 RK_PA1 RK_FUNC_GPIO &pcfg_input_high>;
1424			};
1425		};
1426
1427		spdif-0 {
1428			spdifm0_tx: spdifm0-tx {
1429				rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>;
1430			};
1431		};
1432
1433		spdif-1 {
1434			spdifm1_tx: spdifm1-tx {
1435				rockchip,pins = <2 RK_PC1 2 &pcfg_pull_none>;
1436			};
1437		};
1438
1439		spdif-2 {
1440			spdifm2_tx: spdifm2-tx {
1441				rockchip,pins = <0 RK_PA2 2 &pcfg_pull_none>;
1442			};
1443		};
1444
1445		sdmmc0-0 {
1446			sdmmc0m0_pwren: sdmmc0m0-pwren {
1447				rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>;
1448			};
1449
1450			sdmmc0m0_gpio: sdmmc0m0-gpio {
1451				rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1452			};
1453		};
1454
1455		sdmmc0-1 {
1456			sdmmc0m1_pwren: sdmmc0m1-pwren {
1457				rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>;
1458			};
1459
1460			sdmmc0m1_gpio: sdmmc0m1-gpio {
1461				rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1462			};
1463		};
1464
1465		sdmmc0 {
1466			sdmmc0_clk: sdmmc0-clk {
1467				rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_8ma>;
1468			};
1469
1470			sdmmc0_cmd: sdmmc0-cmd {
1471				rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_8ma>;
1472			};
1473
1474			sdmmc0_dectn: sdmmc0-dectn {
1475				rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>;
1476			};
1477
1478			sdmmc0_wrprt: sdmmc0-wrprt {
1479				rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up_4ma>;
1480			};
1481
1482			sdmmc0_bus1: sdmmc0-bus1 {
1483				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>;
1484			};
1485
1486			sdmmc0_bus4: sdmmc0-bus4 {
1487				rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>,
1488						<1 RK_PA1 1 &pcfg_pull_up_8ma>,
1489						<1 RK_PA2 1 &pcfg_pull_up_8ma>,
1490						<1 RK_PA3 1 &pcfg_pull_up_8ma>;
1491			};
1492
1493			sdmmc0_gpio: sdmmc0-gpio {
1494				rockchip,pins =
1495					<1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1496					<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1497					<1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1498					<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1499					<1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1500					<1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1501					<1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1502					<1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1503			};
1504		};
1505
1506		sdmmc0ext {
1507			sdmmc0ext_clk: sdmmc0ext-clk {
1508				rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_4ma>;
1509			};
1510
1511			sdmmc0ext_cmd: sdmmc0ext-cmd {
1512				rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_4ma>;
1513			};
1514
1515			sdmmc0ext_wrprt: sdmmc0ext-wrprt {
1516				rockchip,pins = <3 RK_PA3 3 &pcfg_pull_up_4ma>;
1517			};
1518
1519			sdmmc0ext_dectn: sdmmc0ext-dectn {
1520				rockchip,pins = <3 RK_PA1 3 &pcfg_pull_up_4ma>;
1521			};
1522
1523			sdmmc0ext_bus1: sdmmc0ext-bus1 {
1524				rockchip,pins = <3 RK_PA4 3 &pcfg_pull_up_4ma>;
1525			};
1526
1527			sdmmc0ext_bus4: sdmmc0ext-bus4 {
1528				rockchip,pins =
1529					<3 RK_PA4 3 &pcfg_pull_up_4ma>,
1530					<3 RK_PA5 3 &pcfg_pull_up_4ma>,
1531					<3 RK_PA6 3 &pcfg_pull_up_4ma>,
1532					<3 RK_PA7 3 &pcfg_pull_up_4ma>;
1533			};
1534
1535			sdmmc0ext_gpio: sdmmc0ext-gpio {
1536				rockchip,pins =
1537					<3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1538					<3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1539					<3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1540					<3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1541					<3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1542					<3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1543					<3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1544					<3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1545			};
1546		};
1547
1548		sdmmc1 {
1549			sdmmc1_clk: sdmmc1-clk {
1550				rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none_8ma>;
1551			};
1552
1553			sdmmc1_cmd: sdmmc1-cmd {
1554				rockchip,pins = <1 RK_PB5 1 &pcfg_pull_up_8ma>;
1555			};
1556
1557			sdmmc1_pwren: sdmmc1-pwren {
1558				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up_8ma>;
1559			};
1560
1561			sdmmc1_wrprt: sdmmc1-wrprt {
1562				rockchip,pins = <1 RK_PC4 1 &pcfg_pull_up_8ma>;
1563			};
1564
1565			sdmmc1_dectn: sdmmc1-dectn {
1566				rockchip,pins = <1 RK_PC3 1 &pcfg_pull_up_8ma>;
1567			};
1568
1569			sdmmc1_bus1: sdmmc1-bus1 {
1570				rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>;
1571			};
1572
1573			sdmmc1_bus4: sdmmc1-bus4 {
1574				rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>,
1575						<1 RK_PB7 1 &pcfg_pull_up_8ma>,
1576						<1 RK_PC0 1 &pcfg_pull_up_8ma>,
1577						<1 RK_PC1 1 &pcfg_pull_up_8ma>;
1578			};
1579
1580			sdmmc1_gpio: sdmmc1-gpio {
1581				rockchip,pins =
1582					<1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1583					<1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1584					<1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1585					<1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1586					<1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1587					<1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1588					<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1589					<1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up_4ma>,
1590					<1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up_4ma>;
1591			};
1592		};
1593
1594		emmc {
1595			emmc_clk: emmc-clk {
1596				rockchip,pins = <3 RK_PC5 2 &pcfg_pull_none_12ma>;
1597			};
1598
1599			emmc_cmd: emmc-cmd {
1600				rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up_12ma>;
1601			};
1602
1603			emmc_pwren: emmc-pwren {
1604				rockchip,pins = <3 RK_PC6 2 &pcfg_pull_none>;
1605			};
1606
1607			emmc_rstnout: emmc-rstnout {
1608				rockchip,pins = <3 RK_PC4 2 &pcfg_pull_none>;
1609			};
1610
1611			emmc_bus1: emmc-bus1 {
1612				rockchip,pins = <0 RK_PA7 2 &pcfg_pull_up_12ma>;
1613			};
1614
1615			emmc_bus4: emmc-bus4 {
1616				rockchip,pins =
1617					<0 RK_PA7 2 &pcfg_pull_up_12ma>,
1618					<2 RK_PD4 2 &pcfg_pull_up_12ma>,
1619					<2 RK_PD5 2 &pcfg_pull_up_12ma>,
1620					<2 RK_PD6 2 &pcfg_pull_up_12ma>;
1621			};
1622
1623			emmc_bus8: emmc-bus8 {
1624				rockchip,pins =
1625					<0 RK_PA7 2 &pcfg_pull_up_12ma>,
1626					<2 RK_PD4 2 &pcfg_pull_up_12ma>,
1627					<2 RK_PD5 2 &pcfg_pull_up_12ma>,
1628					<2 RK_PD6 2 &pcfg_pull_up_12ma>,
1629					<2 RK_PD7 2 &pcfg_pull_up_12ma>,
1630					<3 RK_PC0 2 &pcfg_pull_up_12ma>,
1631					<3 RK_PC1 2 &pcfg_pull_up_12ma>,
1632					<3 RK_PC2 2 &pcfg_pull_up_12ma>;
1633			};
1634		};
1635
1636		pwm0 {
1637			pwm0_pin: pwm0-pin {
1638				rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>;
1639			};
1640		};
1641
1642		pwm1 {
1643			pwm1_pin: pwm1-pin {
1644				rockchip,pins = <2 RK_PA5 1 &pcfg_pull_none>;
1645			};
1646		};
1647
1648		pwm2 {
1649			pwm2_pin: pwm2-pin {
1650				rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>;
1651			};
1652		};
1653
1654		pwmir {
1655			pwmir_pin: pwmir-pin {
1656				rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>;
1657			};
1658		};
1659
1660		gmac-1 {
1661			rgmiim1_pins: rgmiim1-pins {
1662				rockchip,pins =
1663					/* mac_txclk */
1664					<1 RK_PB4 2 &pcfg_pull_none_8ma>,
1665					/* mac_rxclk */
1666					<1 RK_PB5 2 &pcfg_pull_none_4ma>,
1667					/* mac_mdio */
1668					<1 RK_PC3 2 &pcfg_pull_none_4ma>,
1669					/* mac_txen */
1670					<1 RK_PD1 2 &pcfg_pull_none_8ma>,
1671					/* mac_clk */
1672					<1 RK_PC5 2 &pcfg_pull_none_4ma>,
1673					/* mac_rxdv */
1674					<1 RK_PC6 2 &pcfg_pull_none_4ma>,
1675					/* mac_mdc */
1676					<1 RK_PC7 2 &pcfg_pull_none_4ma>,
1677					/* mac_rxd1 */
1678					<1 RK_PB2 2 &pcfg_pull_none_4ma>,
1679					/* mac_rxd0 */
1680					<1 RK_PB3 2 &pcfg_pull_none_4ma>,
1681					/* mac_txd1 */
1682					<1 RK_PB0 2 &pcfg_pull_none_8ma>,
1683					/* mac_txd0 */
1684					<1 RK_PB1 2 &pcfg_pull_none_8ma>,
1685					/* mac_rxd3 */
1686					<1 RK_PB6 2 &pcfg_pull_none_4ma>,
1687					/* mac_rxd2 */
1688					<1 RK_PB7 2 &pcfg_pull_none_4ma>,
1689					/* mac_txd3 */
1690					<1 RK_PC0 2 &pcfg_pull_none_8ma>,
1691					/* mac_txd2 */
1692					<1 RK_PC1 2 &pcfg_pull_none_8ma>,
1693
1694					/* mac_txclk */
1695					<0 RK_PB0 1 &pcfg_pull_none_8ma>,
1696					/* mac_txen */
1697					<0 RK_PB4 1 &pcfg_pull_none_8ma>,
1698					/* mac_clk */
1699					<0 RK_PD0 1 &pcfg_pull_none_4ma>,
1700					/* mac_txd1 */
1701					<0 RK_PC0 1 &pcfg_pull_none_8ma>,
1702					/* mac_txd0 */
1703					<0 RK_PC1 1 &pcfg_pull_none_8ma>,
1704					/* mac_txd3 */
1705					<0 RK_PC7 1 &pcfg_pull_none_8ma>,
1706					/* mac_txd2 */
1707					<0 RK_PC6 1 &pcfg_pull_none_8ma>;
1708			};
1709
1710			rmiim1_pins: rmiim1-pins {
1711				rockchip,pins =
1712					/* mac_mdio */
1713					<1 RK_PC3 2 &pcfg_pull_none_2ma>,
1714					/* mac_txen */
1715					<1 RK_PD1 2 &pcfg_pull_none_12ma>,
1716					/* mac_clk */
1717					<1 RK_PC5 2 &pcfg_pull_none_2ma>,
1718					/* mac_rxer */
1719					<1 RK_PD0 2 &pcfg_pull_none_2ma>,
1720					/* mac_rxdv */
1721					<1 RK_PC6 2 &pcfg_pull_none_2ma>,
1722					/* mac_mdc */
1723					<1 RK_PC7 2 &pcfg_pull_none_2ma>,
1724					/* mac_rxd1 */
1725					<1 RK_PB2 2 &pcfg_pull_none_2ma>,
1726					/* mac_rxd0 */
1727					<1 RK_PB3 2 &pcfg_pull_none_2ma>,
1728					/* mac_txd1 */
1729					<1 RK_PB0 2 &pcfg_pull_none_12ma>,
1730					/* mac_txd0 */
1731					<1 RK_PB1 2 &pcfg_pull_none_12ma>,
1732
1733					/* mac_mdio */
1734					<0 RK_PB3 1 &pcfg_pull_none>,
1735					/* mac_txen */
1736					<0 RK_PB4 1 &pcfg_pull_none>,
1737					/* mac_clk */
1738					<0 RK_PD0 1 &pcfg_pull_none>,
1739					/* mac_mdc */
1740					<0 RK_PC3 1 &pcfg_pull_none>,
1741					/* mac_txd1 */
1742					<0 RK_PC0 1 &pcfg_pull_none>,
1743					/* mac_txd0 */
1744					<0 RK_PC1 1 &pcfg_pull_none>;
1745			};
1746		};
1747
1748		gmac2phy {
1749			fephyled_speed100: fephyled-speed100 {
1750				rockchip,pins = <0 RK_PD7 1 &pcfg_pull_none>;
1751			};
1752
1753			fephyled_speed10: fephyled-speed10 {
1754				rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>;
1755			};
1756
1757			fephyled_duplex: fephyled-duplex {
1758				rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>;
1759			};
1760
1761			fephyled_rxm0: fephyled-rxm0 {
1762				rockchip,pins = <0 RK_PD5 1 &pcfg_pull_none>;
1763			};
1764
1765			fephyled_txm0: fephyled-txm0 {
1766				rockchip,pins = <0 RK_PD5 2 &pcfg_pull_none>;
1767			};
1768
1769			fephyled_linkm0: fephyled-linkm0 {
1770				rockchip,pins = <0 RK_PD4 1 &pcfg_pull_none>;
1771			};
1772
1773			fephyled_rxm1: fephyled-rxm1 {
1774				rockchip,pins = <2 RK_PD1 2 &pcfg_pull_none>;
1775			};
1776
1777			fephyled_txm1: fephyled-txm1 {
1778				rockchip,pins = <2 RK_PD1 3 &pcfg_pull_none>;
1779			};
1780
1781			fephyled_linkm1: fephyled-linkm1 {
1782				rockchip,pins = <2 RK_PD0 2 &pcfg_pull_none>;
1783			};
1784		};
1785
1786		tsadc_pin {
1787			tsadc_int: tsadc-int {
1788				rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>;
1789			};
1790			tsadc_gpio: tsadc-gpio {
1791				rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
1792			};
1793		};
1794
1795		hdmi_pin {
1796			hdmi_cec: hdmi-cec {
1797				rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>;
1798			};
1799
1800			hdmi_hpd: hdmi-hpd {
1801				rockchip,pins = <0 RK_PA4 1 &pcfg_pull_down>;
1802			};
1803		};
1804
1805		cif-0 {
1806			dvp_d2d9_m0:dvp-d2d9-m0 {
1807				rockchip,pins =
1808					/* cif_d0 */
1809					<3 RK_PA4 2 &pcfg_pull_none>,
1810					/* cif_d1 */
1811					<3 RK_PA5 2 &pcfg_pull_none>,
1812					/* cif_d2 */
1813					<3 RK_PA6 2 &pcfg_pull_none>,
1814					/* cif_d3 */
1815					<3 RK_PA7 2 &pcfg_pull_none>,
1816					/* cif_d4 */
1817					<3 RK_PB0 2 &pcfg_pull_none>,
1818					/* cif_d5m0 */
1819					<3 RK_PB1 2 &pcfg_pull_none>,
1820					/* cif_d6m0 */
1821					<3 RK_PB2 2 &pcfg_pull_none>,
1822					/* cif_d7m0 */
1823					<3 RK_PB3 2 &pcfg_pull_none>,
1824					/* cif_href */
1825					<3 RK_PA1 2 &pcfg_pull_none>,
1826					/* cif_vsync */
1827					<3 RK_PA0 2 &pcfg_pull_none>,
1828					/* cif_clkoutm0 */
1829					<3 RK_PA3 2 &pcfg_pull_none>,
1830					/* cif_clkin */
1831					<3 RK_PA2 2 &pcfg_pull_none>;
1832			};
1833		};
1834
1835		cif-1 {
1836			dvp_d2d9_m1:dvp-d2d9-m1 {
1837				rockchip,pins =
1838					/* cif_d0 */
1839					<3 RK_PA4 2 &pcfg_pull_none>,
1840					/* cif_d1 */
1841					<3 RK_PA5 2 &pcfg_pull_none>,
1842					/* cif_d2 */
1843					<3 RK_PA6 2 &pcfg_pull_none>,
1844					/* cif_d3 */
1845					<3 RK_PA7 2 &pcfg_pull_none>,
1846					/* cif_d4 */
1847					<3 RK_PB0 2 &pcfg_pull_none>,
1848					/* cif_d5m1 */
1849					<2 RK_PC0 4 &pcfg_pull_none>,
1850					/* cif_d6m1 */
1851					<2 RK_PC1 4 &pcfg_pull_none>,
1852					/* cif_d7m1 */
1853					<2 RK_PC2 4 &pcfg_pull_none>,
1854					/* cif_href */
1855					<3 RK_PA1 2 &pcfg_pull_none>,
1856					/* cif_vsync */
1857					<3 RK_PA0 2 &pcfg_pull_none>,
1858					/* cif_clkoutm1 */
1859					<2 RK_PB7 4 &pcfg_pull_none>,
1860					/* cif_clkin */
1861					<3 RK_PA2 2 &pcfg_pull_none>;
1862			};
1863		};
1864	};
1865};
1866