xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3128.dtsi (revision de4fa2432c987fd9f99e4fba36cdb768bdfd7475)
1/*
2 * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier:     GPL-2.0+
5 */
6
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/pinctrl/rockchip.h>
11#include <dt-bindings/clock/rk3128-cru.h>
12#include "skeleton.dtsi"
13
14/ {
15	compatible = "rockchip,rk3128";
16	rockchip,sram = <&sram>;
17	interrupt-parent = <&gic>;
18	#address-cells = <1>;
19	#size-cells = <1>;
20
21	aliases {
22		gpio0 = &gpio0;
23		gpio1 = &gpio1;
24		gpio2 = &gpio2;
25		gpio3 = &gpio3;
26		i2c0 = &i2c0;
27		i2c1 = &i2c1;
28		i2c2 = &i2c2;
29		i2c3 = &i2c3;
30		spi0 = &spi0;
31		serial0 = &uart0;
32		serial1 = &uart1;
33		serial2 = &uart2;
34		mmc0 = &emmc;
35		mmc1 = &sdmmc;
36	};
37
38	memory {
39		device_type = "memory";
40		reg = <0x60000000 0x40000000>;
41	};
42
43        arm-pmu {
44                compatible = "arm,cortex-a7-pmu";
45                interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
46                             <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
47			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
48			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
49        };
50
51	cpus {
52		#address-cells = <1>;
53		#size-cells = <0>;
54		enable-method = "rockchip,rk3128-smp";
55
56		cpu0:cpu@0x000 {
57			device_type = "cpu";
58			compatible = "arm,cortex-a7";
59			reg = <0x000>;
60			operating-points = <
61				/* KHz    uV */
62				 816000 1000000
63			>;
64			#cooling-cells = <2>; /* min followed by max */
65			clock-latency = <40000>;
66			clocks = <&cru ARMCLK>;
67		};
68
69		cpu1:cpu@0x001 {
70			device_type = "cpu";
71			compatible = "arm,cortex-a7";
72			reg = <0x001>;
73		};
74
75		cpu2:cpu@0x002 {
76			device_type = "cpu";
77			compatible = "arm,cortex-a7";
78			reg = <0x002>;
79		};
80
81		cpu3:cpu@0x003 {
82			device_type = "cpu";
83			compatible = "arm,cortex-a7";
84			reg = <0x003>;
85		};
86	};
87
88	cpu_axi_bus: cpu_axi_bus {
89		compatible = "rockchip,cpu_axi_bus";
90		#address-cells = <1>;
91		#size-cells = <1>;
92		ranges;
93
94		qos {
95			#address-cells = <1>;
96			#size-cells = <1>;
97			ranges;
98
99			crypto {
100				reg = <0x10128080 0x20>;
101			};
102
103			core {
104				reg = <0x1012a000 0x20>;
105			};
106
107			peri {
108				reg = <0x1012c000 0x20>;
109			};
110
111			gpu {
112				reg = <0x1012d000 0x20>;
113			};
114
115			vpu {
116				reg = <0x1012e000 0x20>;
117			};
118
119			rga {
120				reg = <0x1012f000 0x20>;
121			};
122			ebc {
123				reg = <0x1012f080 0x20>;
124			};
125
126			iep {
127				reg = <0x1012f100 0x20>;
128			};
129
130			lcdc {
131				reg = <0x1012f180 0x20>;
132				rockchip,priority = <3 3>;
133			};
134
135			vip {
136				reg = <0x1012f200 0x20>;
137				rockchip,priority = <3 3>;
138			};
139		};
140
141		msch {
142			#address-cells = <1>;
143			#size-cells = <1>;
144			ranges;
145
146			msch@10128000 {
147				reg = <0x10128000 0x20>;
148				rockchip,read-latency = <0x3f>;
149			};
150		};
151	};
152
153	psci {
154		compatible      = "arm,psci";
155		method          = "smc";
156		cpu_suspend     = <0x84000001>;
157		cpu_off         = <0x84000002>;
158		cpu_on          = <0x84000003>;
159		migrate         = <0x84000005>;
160	};
161
162	amba {
163		compatible = "arm,amba-bus";
164		#address-cells = <1>;
165		#size-cells = <1>;
166		interrupt-parent = <&gic>;
167		ranges;
168
169                pdma: pdma@20078000 {
170                        compatible = "arm,pl330", "arm,primecell";
171                        reg = <0x20078000 0x4000>;
172                        arm,pl330-broken-no-flushp;//2
173                        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
174                                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
175                        #dma-cells = <1>;
176                        clocks = <&cru ACLK_DMAC2>;
177                        clock-names = "apb_pclk";
178                };
179	};
180
181	xin24m: xin24m {
182		compatible = "fixed-clock";
183		clock-frequency = <24000000>;
184		clock-output-names = "xin24m";
185		#clock-cells = <0>;
186	};
187
188	xin12m: xin12m {
189		compatible = "fixed-clock";
190		clocks = <&xin24m>;
191		clock-frequency = <12000000>;
192		clock-output-names = "xin12m";
193		#clock-cells = <0>;
194	};
195
196
197	timer {
198		compatible = "arm,armv7-timer";
199		arm,cpu-registers-not-fw-configured;
200		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
201			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
202		clock-frequency = <24000000>;
203	};
204
205	timer@20044000 {
206		compatible = "arm,armv7-timer";
207		reg = <0x20044000 0xb8>;
208		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
209		rockchip,broadcast = <1>;
210	};
211
212	watchdog: wdt@2004c000 {
213		compatible = "rockchip,watch dog";
214		reg = <0x2004c000 0x100>;
215		clock-names = "pclk_wdt";
216		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
217		rockchip,irq = <1>;
218		rockchip,timeout = <60>;
219		rockchip,atboot = <1>;
220		rockchip,debug = <0>;
221	};
222
223	reset: reset@20000110 {
224		compatible = "rockchip,reset";
225		reg = <0x20000110 0x24>;
226		#reset-cells = <1>;
227	};
228
229	nandc: nandc@10500000 {
230		compatible = "rockchip,rk-nandc";
231		reg = <0x10500000 0x4000>;
232		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
233		pinctrl-names = "default";
234		pinctrl-0 = <&nandc_ale &nandc_cle &nandc_wrn &nandc_rdn &nandc_rdy &nandc_cs0 &nandc_data>;
235		nandc_id = <0>;
236		clocks = <&cru SCLK_NANDC>,
237			 <&cru HCLK_NANDC>,
238			 <&cru SRST_NANDC>;
239		clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
240	};
241
242	dmc: dmc@20004000 {
243		u-boot,dm-pre-reloc;
244		compatible = "rockchip,rk3128-dmc", "syscon";
245		reg = <0x0 0x20004000 0x0 0x1000>;
246	};
247
248	cru: clock-controller@20000000 {
249		u-boot,dm-pre-reloc;
250		compatible = "rockchip,rk3128-cru";
251		reg = <0x20000000 0x1000>;
252		rockchip,grf = <&grf>;
253		#clock-cells = <1>;
254		#reset-cells = <1>;
255		assigned-clocks = <&cru PLL_GPLL>;
256		assigned-clock-rates = <594000000>;
257	};
258
259	uart0: serial0@20060000 {
260		compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
261		reg = <0x20060000 0x100>;
262		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
263		reg-shift = <2>;
264		reg-io-width = <4>;
265		clock-frequency = <24000000>;
266		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
267		clock-names = "baudclk", "apb_pclk";
268		pinctrl-names = "default";
269		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
270		dmas = <&pdma 2>, <&pdma 3>;
271		#dma-cells = <2>;
272	};
273
274	uart1: serial1@20064000 {
275		compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
276		reg = <0x20064000 0x100>;
277		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
278		reg-shift = <2>;
279		reg-io-width = <4>;
280		clock-frequency = <24000000>;
281		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
282		clock-names = "baudclk", "apb_pclk";
283		pinctrl-names = "default";
284		pinctrl-0 = <&uart1_xfer>;
285		dmas = <&pdma 4>, <&pdma 5>;
286		#dma-cells = <2>;
287	};
288
289	uart2: serial2@20068000 {
290		compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart";
291		reg = <0x20068000 0x100>;
292		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
293		reg-shift = <2>;
294		reg-io-width = <4>;
295		clock-frequency = <24000000>;
296		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
297		clock-names = "baudclk", "apb_pclk";
298		pinctrl-names = "default";
299		pinctrl-0 = <&uart2_xfer>;
300		dmas = <&pdma 6>, <&pdma 7>;
301		#dma-cells = <2>;
302	};
303
304	pwm0: pwm0@20050000 {
305		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
306		reg = <0x20050000 0x10>;
307		#pwm-cells = <2>;
308		pinctrl-names = "default";
309		pinctrl-0 = <&pwm0_pin>;
310		clocks = <&cru PCLK_PWM>;
311		clock-names = "pwm";
312	};
313
314	pwm1: pwm1@20050010 {
315		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
316		reg = <0x20050010 0x10>;
317		#pwm-cells = <2>;
318		pinctrl-names = "default";
319		pinctrl-0 = <&pwm1_pin>;
320		clocks = <&cru PCLK_PWM>;
321		clock-names = "pwm";
322	};
323
324	pwm2: pwm2@20050020 {
325		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
326		reg = <0x20050020 0x10>;
327		#pwm-cells = <2>;
328		pinctrl-names = "default";
329		pinctrl-0 = <&pwm2_pin>;
330		clocks = <&cru PCLK_PWM>;
331		clock-names = "pwm";
332	};
333
334	pwm3: pwm3@20050030 {
335		compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm";
336		reg = <0x20050030 0x10>;
337		#pwm-cells = <2>;
338		pinctrl-names = "default";
339		pinctrl-0 = <&pwm3_pin>;
340		clocks = <&cru PCLK_PWM>;
341		clock-names = "pwm";
342	};
343
344	sram: sram@10080400 {
345		compatible = "rockchip,rk3128-smp-sram", "mmio-sram";
346		reg = <0x10080400 0x1C00>;
347		map-exec;
348		map-cacheable;
349	};
350
351	pmu: syscon@100a0000 {
352		compatible = "rockchip,rk3128-pmu", "syscon", "simple-mfd";
353		reg = <0x100a0000 0x1000>;
354		#address-cells = <1>;
355		#size-cells = <1>;
356	};
357
358	gic: interrupt-controller@10139000 {
359		compatible = "arm,gic-400";
360		interrupt-controller;
361		#interrupt-cells = <3>;
362		#address-cells = <0>;
363		reg = <0x10139000 0x1000>,
364		      <0x1013a000 0x1000>,
365		      <0x1013c000 0x2000>,
366		      <0x1013e000 0x2000>;
367		interrupts = <GIC_PPI 9 0xf04>;
368	};
369
370	usb_otg: usb@10180000 {
371		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb", "snps,dwc2";
372		reg = <0x10180000 0x40000>;
373		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
374		clocks = <&cru HCLK_OTG0>;
375		clock-names = "otg";
376		dr_mode = "otg";
377		g-np-tx-fifo-size = <16>;
378		g-rx-fifo-size = <275>;
379		g-tx-fifo-size = <256 128 128 64 64 32>;
380		g-use-dma;
381	};
382
383	usb_host: usb@101c0000 {
384		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
385				"snps,dwc2";
386		reg = <0x101c0000 0x40000>;
387		interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
388		clocks = <&cru HCLK_OTG1>;
389		clock-names = "otg";
390		dr_mode = "host";
391	};
392
393	sdmmc: dwmmc@10214000 {
394		compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc";
395		reg = <0x10214000 0x4000>;
396		max-frequency = <150000000>;
397		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
398		clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
399			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
400		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
401		fifo-depth = <0x100>;
402		pinctrl-names = "default";
403		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
404		bus-width = <4>;
405		status = "disabled";
406	};
407
408	emmc: dwmmc@1021c000 {
409		compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc";
410		reg = <0x1021c000 0x4000>;
411		max-frequency = <150000000>;
412		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
413		clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
414			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
415		clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
416		bus-width = <8>;
417		default-sample-phase = <158>;
418		num-slots = <1>;
419		fifo-depth = <0x100>;
420		pinctrl-names = "default";
421		pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
422		resets = <&cru SRST_EMMC>;
423		reset-names = "reset";
424		status = "disabled";
425	};
426
427	i2c0: i2c0@20070000 {
428		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
429		reg = <0x20070000 0x1000>;
430		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
431		#address-cells = <1>;
432		#size-cells = <0>;
433		clock-names = "i2c";
434		clocks = <&cru PCLK_I2C0>;
435		pinctrl-names = "default";
436		pinctrl-0 = <&i2c0_xfer>;
437	};
438
439	i2c1: i2c1@20054000 {
440		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
441		reg = <0x20054000 0x1000>;
442		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
443		#address-cells = <1>;
444		#size-cells = <0>;
445		clock-names = "i2c";
446		clocks = <&cru PCLK_I2C1>;
447		pinctrl-names = "default";
448		pinctrl-0 = <&i2c1_xfer>;
449	};
450
451	i2c2: i2c2@20058000 {
452		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
453		reg = <0x20058000 0x1000>;
454		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
455		#address-cells = <1>;
456		#size-cells = <0>;
457		clock-names = "i2c";
458		clocks = <&cru PCLK_I2C2>;
459		pinctrl-names = "default";
460		pinctrl-0 = <&i2c0_xfer>;
461	};
462
463	i2c3: i2c3@2005c000 {
464		compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c";
465		reg = <0x2005c000 0x1000>;
466		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
467		#address-cells = <1>;
468		#size-cells = <0>;
469		clock-names = "i2c";
470		clocks = <&cru PCLK_I2C3>;
471		pinctrl-names = "default";
472		pinctrl-0 = <&i2c0_xfer>;
473	};
474
475	spi0: spi@20074000 {
476		compatible = "rockchip,rk3128-spi", "rockchip,rk3288-spi";
477		reg = <0x20074000 0x1000>;
478		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
479		#address-cells = <1>;
480		#size-cells = <0>;
481		pinctrl-names = "default";
482		pinctrl-0 = <&spi0_txd_mux0 &spi0_rxd_mux0 &spi0_clk_mux0 &spi0_cs0_mux0 &spi0_cs1_mux0>;
483		rockchip,spi-src-clk = <0>;
484		num-cs = <2>;
485		clocks =<&cru SCLK_SPI>, <&cru PCLK_SPI>;
486		clock-names = "spi","pclk_spi0";
487		dmas = <&pdma 8>, <&pdma 9>;
488		#dma-cells = <2>;
489		dma-names = "tx", "rx";
490	};
491
492	grf: syscon@20008000 {
493		u-boot,dm-pre-reloc;
494		compatible = "rockchip,rk3128-grf", "syscon";
495		reg = <0x20008000 0x1000>;
496	};
497
498	pinctrl: pinctrl@20008000 {
499		compatible = "rockchip,rk3128-pinctrl";
500		reg = <0x20008000 0xA8>,
501		      <0x200080A8 0x4C>,
502		      <0x20008118 0x20>,
503		      <0x20008100 0x04>;
504		reg-names = "base", "mux", "pull", "drv";
505		rockchip,grf = <&grf>;
506		#address-cells = <1>;
507		#size-cells = <1>;
508		ranges;
509
510		gpio0: gpio0@2007c000 {
511			compatible = "rockchip,gpio-bank";
512			reg = <0x2007c000 0x100>;
513			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
514			clocks = <&cru PCLK_GPIO0>;
515			gpio-controller;
516			#gpio-cells = <2>;
517			interrupt-controller;
518			#interrupt-cells = <2>;
519		};
520
521		gpio1: gpio1@20080000 {
522			compatible = "rockchip,gpio-bank";
523			reg = <0x20080000 0x100>;
524			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
525			clocks = <&cru PCLK_GPIO1>;
526			gpio-controller;
527			#gpio-cells = <2>;
528			interrupt-controller;
529			#interrupt-cells = <2>;
530		};
531
532		gpio2: gpio2@20084000 {
533			compatible = "rockchip,gpio-bank";
534			reg = <0x20084000 0x100>;
535			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
536			clocks = <&cru PCLK_GPIO2>;
537			gpio-controller;
538			#gpio-cells = <2>;
539			interrupt-controller;
540			#interrupt-cells = <2>;
541		};
542
543		gpio3: gpio2@20088000 {
544			compatible = "rockchip,gpio-bank";
545			reg = <0x20088000 0x100>;
546			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
547			clocks = <&cru PCLK_GPIO3>;
548			gpio-controller;
549			#gpio-cells = <2>;
550			interrupt-controller;
551			#interrupt-cells = <2>;
552		};
553
554		pcfg_pull_up: pcfg-pull-up {
555			bias-pull-up;
556		};
557
558		pcfg_pull_down: pcfg-pull-down {
559			bias-pull-down;
560		};
561
562		pcfg_pull_none: pcfg-pull-none {
563			bias-disable;
564		};
565
566		emmc {
567			/*
568			 * We run eMMC at max speed; bump up drive strength.
569			 * We also have external pulls, so disable the internal ones.
570			 */
571
572			emmc_clk: emmc-clk {
573				rockchip,pins = <2 7 RK_FUNC_2 &pcfg_pull_none>;
574			};
575
576			emmc_cmd: emmc-cmd {
577				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
578			};
579
580			emmc_pwren: emmc-pwren {
581				rockchip,pins = <2 5 RK_FUNC_2 &pcfg_pull_none>;
582			};
583
584			emmc_bus8: emmc-bus8 {
585				rockchip,pins = <1 24 RK_FUNC_2 &pcfg_pull_none>,
586						<1 25 RK_FUNC_2 &pcfg_pull_none>,
587						<1 26 RK_FUNC_2 &pcfg_pull_none>,
588						<1 27 RK_FUNC_2 &pcfg_pull_none>,
589						<1 28 RK_FUNC_2 &pcfg_pull_none>,
590						<1 29 RK_FUNC_2 &pcfg_pull_none>,
591						<1 30 RK_FUNC_2 &pcfg_pull_none>,
592						<1 31 RK_FUNC_2 &pcfg_pull_none>;
593			};
594		};
595
596		nandc{
597			nandc_ale:nandc-ale {
598				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
599			};
600
601			nandc_cle:nandc-cle {
602				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
603			};
604
605			nandc_wrn:nandc-wrn {
606				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
607			};
608
609			nandc_rdn:nandc-rdn {
610				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
611			};
612
613			nandc_rdy:nandc-rdy {
614				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
615			};
616
617			nandc_cs0:nandc-cs0 {
618				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
619			};
620
621			nandc_data: nandc-data {
622				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
623			};
624		};
625
626
627		uart0 {
628			uart0_xfer: uart0-xfer {
629				rockchip,pins = <0 16 RK_FUNC_1 &pcfg_pull_none>,
630						<0 17 RK_FUNC_1 &pcfg_pull_none>;
631			};
632
633			uart0_cts: uart0-cts {
634				rockchip,pins = <0 18 RK_FUNC_1 &pcfg_pull_none>;
635			};
636
637			uart0_rts: uart0-rts {
638				rockchip,pins = <0 19 RK_FUNC_1 &pcfg_pull_none>;
639			};
640		};
641
642		uart1 {
643			uart1_xfer: uart1-xfer {
644				rockchip,pins = <2 22 RK_FUNC_1 &pcfg_pull_none>,
645						<2 23 RK_FUNC_1 &pcfg_pull_none>;
646			};
647		};
648
649                uart2 {
650                        uart2_xfer: uart2-xfer {
651                                rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_none>,
652                                                <1 19 RK_FUNC_2 &pcfg_pull_none>;
653                        };
654                };
655
656		sdmmc {
657			sdmmc_clk: sdmmc-clk {
658				rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>;
659			};
660
661			sdmmc_cmd: sdmmc-cmd {
662				rockchip,pins = <1 RK_PC1 1 &pcfg_pull_up>;
663			};
664
665			sdmmc_wp: sdmmc-wp {
666				rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up>;
667			};
668
669			sdmmc_pwren: sdmmc-pwren {
670				rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up>;
671			};
672
673			sdmmc_bus4: sdmmc-bus4 {
674				rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up>,
675						<1 RK_PC3 1 &pcfg_pull_up>,
676						<1 RK_PC4 1 &pcfg_pull_up>,
677						<1 RK_PC5 1 &pcfg_pull_up>;
678			};
679		};
680
681		pwm0 {
682			pwm0_pin: pwm0-pin {
683				rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
684			};
685		};
686
687		pwm1 {
688			pwm1_pin: pwm1-pin {
689				rockchip,pins = <0 1 RK_FUNC_2 &pcfg_pull_none>;
690			};
691		};
692
693		pwm2 {
694			pwm2_pin: pwm2-pin {
695				rockchip,pins = <0 1 2 &pcfg_pull_none>;
696			};
697		};
698
699		pwm3 {
700			pwm3_pin: pwm3-pin {
701				rockchip,pins = <0 27 1 &pcfg_pull_none>;
702			};
703		};
704
705		i2c0 {
706			i2c0_xfer: i2c0-xfer {
707				rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
708						<0 3 RK_FUNC_1 &pcfg_pull_none>;
709			};
710		};
711
712		i2c1 {
713			i2c1_xfer: i2c1-xfer {
714				rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
715						<0 3 RK_FUNC_1 &pcfg_pull_none>;
716			};
717		};
718
719		i2c2 {
720			i2c2_xfer: i2c2-xfer {
721				rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
722						<0 3 RK_FUNC_1 &pcfg_pull_none>;
723			};
724		};
725
726		i2c3 {
727			i2c3_xfer: i2c3-xfer {
728				rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
729						<0 3 RK_FUNC_1 &pcfg_pull_none>;
730			};
731		};
732
733		spi0 {
734			spi0_txd_mux0:spi0-txd-mux0 {
735				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
736			};
737
738			spi0_rxd_mux0:spi0-rxd-mux0 {
739				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
740			};
741
742			spi0_clk_mux0:spi0-clk-mux0 {
743				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
744			};
745
746			spi0_cs0_mux0:spi0-cs0-mux0 {
747				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
748			};
749
750			spi0_cs1_mux0:spi0-cs1-mux0 {
751				rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>;
752			};
753		};
754
755	};
756};
757