1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for common parts of Salvator-X board variants
4 *
5 * Copyright (C) 2015-2016 Renesas Electronics Corp.
6 */
7
8/*
9 * SSI-AK4613
10 *
11 * This command is required when Playback/Capture
12 *
13 *	amixer set "DVC Out" 100%
14 *	amixer set "DVC In" 100%
15 *
16 * You can use Mute
17 *
18 *	amixer set "DVC Out Mute" on
19 *	amixer set "DVC In Mute" on
20 *
21 * You can use Volume Ramp
22 *
23 *	amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
24 *	amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
25 *	amixer set "DVC Out Ramp" on
26 *	aplay xxx.wav &
27 *	amixer set "DVC Out"  80%  // Volume Down
28 *	amixer set "DVC Out" 100%  // Volume Up
29 */
30
31#include <dt-bindings/gpio/gpio.h>
32#include <dt-bindings/input/input.h>
33
34/ {
35	aliases {
36		serial0 = &scif2;
37		serial1 = &hscif1;
38		ethernet0 = &avb;
39		mmc0 = &sdhi2;
40		mmc1 = &sdhi0;
41		mmc2 = &sdhi3;
42	};
43
44	chosen {
45		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
46		stdout-path = "serial0:115200n8";
47	};
48
49	audio_clkout: audio-clkout {
50		/*
51		 * This is same as <&rcar_sound 0>
52		 * but needed to avoid cs2000/rcar_sound probe dead-lock
53		 */
54		compatible = "fixed-clock";
55		#clock-cells = <0>;
56		clock-frequency = <12288000>;
57	};
58
59	backlight: backlight {
60		compatible = "pwm-backlight";
61		pwms = <&pwm1 0 50000>;
62
63		brightness-levels = <256 128 64 16 8 4 0>;
64		default-brightness-level = <6>;
65
66		power-supply = <&reg_12v>;
67		enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
68	};
69
70	cvbs-in {
71		compatible = "composite-video-connector";
72		label = "CVBS IN";
73
74		port {
75			cvbs_con: endpoint {
76				remote-endpoint = <&adv7482_ain7>;
77			};
78		};
79	};
80
81	hdmi-in {
82		compatible = "hdmi-connector";
83		label = "HDMI IN";
84		type = "a";
85
86		port {
87			hdmi_in_con: endpoint {
88				remote-endpoint = <&adv7482_hdmi>;
89			};
90		};
91	};
92
93	hdmi0-out {
94		compatible = "hdmi-connector";
95		label = "HDMI0 OUT";
96		type = "a";
97
98		port {
99			hdmi0_con: endpoint {
100			};
101		};
102	};
103
104	hdmi1-out {
105		compatible = "hdmi-connector";
106		label = "HDMI1 OUT";
107		type = "a";
108
109		port {
110			hdmi1_con: endpoint {
111			};
112		};
113	};
114
115	keys {
116		compatible = "gpio-keys";
117
118		pinctrl-0 = <&keys_pins>;
119		pinctrl-names = "default";
120
121		key-1 {
122			gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
123			linux,code = <KEY_1>;
124			label = "SW4-1";
125			wakeup-source;
126			debounce-interval = <20>;
127		};
128		key-2 {
129			gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
130			linux,code = <KEY_2>;
131			label = "SW4-2";
132			wakeup-source;
133			debounce-interval = <20>;
134		};
135		key-3 {
136			gpios = <&gpio5 22 GPIO_ACTIVE_LOW>;
137			linux,code = <KEY_3>;
138			label = "SW4-3";
139			wakeup-source;
140			debounce-interval = <20>;
141		};
142		key-4 {
143			gpios = <&gpio5 23 GPIO_ACTIVE_LOW>;
144			linux,code = <KEY_4>;
145			label = "SW4-4";
146			wakeup-source;
147			debounce-interval = <20>;
148		};
149		key-a {
150			gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
151			linux,code = <KEY_A>;
152			label = "TSW0";
153			wakeup-source;
154			debounce-interval = <20>;
155		};
156		key-b {
157			gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
158			linux,code = <KEY_B>;
159			label = "TSW1";
160			wakeup-source;
161			debounce-interval = <20>;
162		};
163		key-c {
164			gpios = <&gpio6 13 GPIO_ACTIVE_LOW>;
165			linux,code = <KEY_C>;
166			label = "TSW2";
167			wakeup-source;
168			debounce-interval = <20>;
169		};
170	};
171
172	reg_1p8v: regulator0 {
173		compatible = "regulator-fixed";
174		regulator-name = "fixed-1.8V";
175		regulator-min-microvolt = <1800000>;
176		regulator-max-microvolt = <1800000>;
177		regulator-boot-on;
178		regulator-always-on;
179	};
180
181	reg_3p3v: regulator1 {
182		compatible = "regulator-fixed";
183		regulator-name = "fixed-3.3V";
184		regulator-min-microvolt = <3300000>;
185		regulator-max-microvolt = <3300000>;
186		regulator-boot-on;
187		regulator-always-on;
188	};
189
190	reg_12v: regulator2 {
191		compatible = "regulator-fixed";
192		regulator-name = "fixed-12V";
193		regulator-min-microvolt = <12000000>;
194		regulator-max-microvolt = <12000000>;
195		regulator-boot-on;
196		regulator-always-on;
197	};
198
199	sound_card: sound {
200		compatible = "audio-graph-card";
201
202		label = "rcar-sound";
203
204		dais = <&rsnd_port0	/* ak4613 */
205			&rsnd_port1>;	/* HDMI0  */
206	};
207
208	vbus0_usb2: regulator-vbus0-usb2 {
209		compatible = "regulator-fixed";
210
211		regulator-name = "USB20_VBUS0";
212		regulator-min-microvolt = <5000000>;
213		regulator-max-microvolt = <5000000>;
214
215		gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
216		enable-active-high;
217	};
218
219	vcc_sdhi0: regulator-vcc-sdhi0 {
220		compatible = "regulator-fixed";
221
222		regulator-name = "SDHI0 Vcc";
223		regulator-min-microvolt = <3300000>;
224		regulator-max-microvolt = <3300000>;
225
226		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
227		enable-active-high;
228	};
229
230	vccq_sdhi0: regulator-vccq-sdhi0 {
231		compatible = "regulator-gpio";
232
233		regulator-name = "SDHI0 VccQ";
234		regulator-min-microvolt = <1800000>;
235		regulator-max-microvolt = <3300000>;
236
237		gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
238		gpios-states = <1>;
239		states = <3300000 1>, <1800000 0>;
240	};
241
242	vcc_sdhi3: regulator-vcc-sdhi3 {
243		compatible = "regulator-fixed";
244
245		regulator-name = "SDHI3 Vcc";
246		regulator-min-microvolt = <3300000>;
247		regulator-max-microvolt = <3300000>;
248
249		gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
250		enable-active-high;
251	};
252
253	vccq_sdhi3: regulator-vccq-sdhi3 {
254		compatible = "regulator-gpio";
255
256		regulator-name = "SDHI3 VccQ";
257		regulator-min-microvolt = <1800000>;
258		regulator-max-microvolt = <3300000>;
259
260		gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
261		gpios-states = <1>;
262		states = <3300000 1>, <1800000 0>;
263	};
264
265	vga {
266		compatible = "vga-connector";
267
268		port {
269			vga_in: endpoint {
270				remote-endpoint = <&adv7123_out>;
271			};
272		};
273	};
274
275	vga-encoder {
276		compatible = "adi,adv7123";
277
278		ports {
279			#address-cells = <1>;
280			#size-cells = <0>;
281
282			port@0 {
283				reg = <0>;
284				adv7123_in: endpoint {
285					remote-endpoint = <&du_out_rgb>;
286				};
287			};
288			port@1 {
289				reg = <1>;
290				adv7123_out: endpoint {
291					remote-endpoint = <&vga_in>;
292				};
293			};
294		};
295	};
296
297	x12_clk: x12 {
298		compatible = "fixed-clock";
299		#clock-cells = <0>;
300		clock-frequency = <24576000>;
301	};
302
303	/* External DU dot clocks */
304	x21_clk: x21-clock {
305		compatible = "fixed-clock";
306		#clock-cells = <0>;
307		clock-frequency = <33000000>;
308	};
309
310	x22_clk: x22-clock {
311		compatible = "fixed-clock";
312		#clock-cells = <0>;
313		clock-frequency = <33000000>;
314	};
315
316	x23_clk: x23-clock {
317		compatible = "fixed-clock";
318		#clock-cells = <0>;
319		clock-frequency = <25000000>;
320	};
321};
322
323&a57_0 {
324	cpu-supply = <&dvfs>;
325};
326
327&audio_clk_a {
328	clock-frequency = <22579200>;
329};
330
331&avb {
332	pinctrl-0 = <&avb_pins>;
333	pinctrl-names = "default";
334	phy-handle = <&phy0>;
335	tx-internal-delay-ps = <2000>;
336	status = "okay";
337
338	phy0: ethernet-phy@0 {
339		rxc-skew-ps = <1500>;
340		reg = <0>;
341		interrupt-parent = <&gpio2>;
342		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
343		reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
344	};
345};
346
347&csi20 {
348	status = "okay";
349
350	ports {
351		port@0 {
352			reg = <0>;
353			csi20_in: endpoint {
354				clock-lanes = <0>;
355				data-lanes = <1>;
356				remote-endpoint = <&adv7482_txb>;
357			};
358		};
359	};
360};
361
362&csi40 {
363	status = "okay";
364
365	ports {
366		port@0 {
367			reg = <0>;
368
369			csi40_in: endpoint {
370				clock-lanes = <0>;
371				data-lanes = <1 2 3 4>;
372				remote-endpoint = <&adv7482_txa>;
373			};
374		};
375	};
376};
377
378&du {
379	pinctrl-0 = <&du_pins>;
380	pinctrl-names = "default";
381	status = "okay";
382
383	ports {
384		port@0 {
385			endpoint {
386				remote-endpoint = <&adv7123_in>;
387			};
388		};
389	};
390};
391
392&ehci0 {
393	dr_mode = "otg";
394	status = "okay";
395};
396
397&ehci1 {
398	status = "okay";
399};
400
401&extalr_clk {
402	clock-frequency = <32768>;
403};
404
405&hdmi0 {
406	status = "okay";
407
408	ports {
409		port@1 {
410			reg = <1>;
411			rcar_dw_hdmi0_out: endpoint {
412				remote-endpoint = <&hdmi0_con>;
413			};
414		};
415		port@2 {
416			reg = <2>;
417			dw_hdmi0_snd_in: endpoint {
418				remote-endpoint = <&rsnd_endpoint1>;
419			};
420		};
421	};
422};
423
424&hdmi0_con {
425	remote-endpoint = <&rcar_dw_hdmi0_out>;
426};
427
428&hscif1 {
429	pinctrl-0 = <&hscif1_pins>;
430	pinctrl-names = "default";
431
432	uart-has-rtscts;
433	/* Please only enable hscif1 or scif1 */
434	status = "okay";
435};
436
437&hsusb {
438	dr_mode = "otg";
439	status = "okay";
440};
441
442&i2c2 {
443	pinctrl-0 = <&i2c2_pins>;
444	pinctrl-names = "default";
445
446	status = "okay";
447
448	clock-frequency = <100000>;
449
450	ak4613: codec@10 {
451		compatible = "asahi-kasei,ak4613";
452		#sound-dai-cells = <0>;
453		reg = <0x10>;
454		clocks = <&rcar_sound 3>;
455
456		asahi-kasei,in1-single-end;
457		asahi-kasei,in2-single-end;
458		asahi-kasei,out1-single-end;
459		asahi-kasei,out2-single-end;
460		asahi-kasei,out3-single-end;
461		asahi-kasei,out4-single-end;
462		asahi-kasei,out5-single-end;
463		asahi-kasei,out6-single-end;
464
465		port {
466			ak4613_endpoint: endpoint {
467				remote-endpoint = <&rsnd_endpoint0>;
468			};
469		};
470	};
471
472	cs2000: clk_multiplier@4f {
473		#clock-cells = <0>;
474		compatible = "cirrus,cs2000-cp";
475		reg = <0x4f>;
476		clocks = <&audio_clkout>, <&x12_clk>;
477		clock-names = "clk_in", "ref_clk";
478
479		assigned-clocks = <&cs2000>;
480		assigned-clock-rates = <24576000>; /* 1/1 divide */
481	};
482};
483
484&i2c4 {
485	status = "okay";
486
487	pca9654: gpio@20 {
488		compatible = "onnn,pca9654";
489		reg = <0x20>;
490		gpio-controller;
491		#gpio-cells = <2>;
492	};
493
494	video-receiver@70 {
495		compatible = "adi,adv7482";
496		reg = <0x70 0x71 0x72 0x73 0x74 0x75
497		       0x60 0x61 0x62 0x63 0x64 0x65>;
498		reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater",
499			    "infoframe", "cbus", "cec", "sdp", "txa", "txb" ;
500
501		#address-cells = <1>;
502		#size-cells = <0>;
503
504		interrupt-parent = <&gpio6>;
505		interrupt-names = "intrq1", "intrq2";
506		interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
507			     <31 IRQ_TYPE_LEVEL_LOW>;
508
509		port@7 {
510			reg = <7>;
511
512			adv7482_ain7: endpoint {
513				remote-endpoint = <&cvbs_con>;
514			};
515		};
516
517		port@8 {
518			reg = <8>;
519
520			adv7482_hdmi: endpoint {
521				remote-endpoint = <&hdmi_in_con>;
522			};
523		};
524
525		port@a {
526			reg = <10>;
527
528			adv7482_txa: endpoint {
529				clock-lanes = <0>;
530				data-lanes = <1 2 3 4>;
531				remote-endpoint = <&csi40_in>;
532			};
533		};
534
535		port@b {
536			reg = <11>;
537
538			adv7482_txb: endpoint {
539				clock-lanes = <0>;
540				data-lanes = <1>;
541				remote-endpoint = <&csi20_in>;
542			};
543		};
544	};
545
546	csa_vdd: adc@7c {
547		compatible = "maxim,max9611";
548		reg = <0x7c>;
549
550		shunt-resistor-micro-ohms = <5000>;
551	};
552
553	csa_dvfs: adc@7f {
554		compatible = "maxim,max9611";
555		reg = <0x7f>;
556
557		shunt-resistor-micro-ohms = <5000>;
558	};
559};
560
561&i2c_dvfs {
562	status = "okay";
563
564	clock-frequency = <400000>;
565
566	pmic: pmic@30 {
567		pinctrl-0 = <&irq0_pins>;
568		pinctrl-names = "default";
569
570		compatible = "rohm,bd9571mwv";
571		reg = <0x30>;
572		interrupt-parent = <&intc_ex>;
573		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
574		interrupt-controller;
575		#interrupt-cells = <2>;
576		gpio-controller;
577		#gpio-cells = <2>;
578		rohm,ddr-backup-power = <0xf>;
579		rohm,rstbmode-level;
580
581		regulators {
582			dvfs: dvfs {
583				regulator-name = "dvfs";
584				regulator-min-microvolt = <750000>;
585				regulator-max-microvolt = <1030000>;
586				regulator-boot-on;
587				regulator-always-on;
588			};
589		};
590	};
591
592	eeprom@50 {
593		compatible = "rohm,br24t01", "atmel,24c01";
594		reg = <0x50>;
595		pagesize = <8>;
596	};
597};
598
599&ohci0 {
600	dr_mode = "otg";
601	status = "okay";
602};
603
604&ohci1 {
605	status = "okay";
606};
607
608&pcie_bus_clk {
609	clock-frequency = <100000000>;
610};
611
612&pciec0 {
613	status = "okay";
614};
615
616&pciec1 {
617	status = "okay";
618};
619
620&pfc {
621	pinctrl-0 = <&scif_clk_pins>;
622	pinctrl-names = "default";
623
624	avb_pins: avb {
625		mux {
626			groups = "avb_link", "avb_mdio", "avb_mii";
627			function = "avb";
628		};
629
630		pins_mdio {
631			groups = "avb_mdio";
632			drive-strength = <24>;
633		};
634
635		pins_mii_tx {
636			pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
637			       "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
638			drive-strength = <12>;
639		};
640	};
641
642	du_pins: du {
643		groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0";
644		function = "du";
645	};
646
647	hscif1_pins: hscif1 {
648		groups = "hscif1_data_a", "hscif1_ctrl_a";
649		function = "hscif1";
650	};
651
652	i2c2_pins: i2c2 {
653		groups = "i2c2_a";
654		function = "i2c2";
655	};
656
657	irq0_pins: irq0 {
658		groups = "intc_ex_irq0";
659		function = "intc_ex";
660	};
661
662	keys_pins: keys {
663		pins = "GP_5_17", "GP_5_20", "GP_5_22";
664		bias-pull-up;
665	};
666
667	pwm1_pins: pwm1 {
668		groups = "pwm1_a";
669		function = "pwm1";
670	};
671
672	scif1_pins: scif1 {
673		groups = "scif1_data_a", "scif1_ctrl";
674		function = "scif1";
675	};
676
677	scif2_pins: scif2 {
678		groups = "scif2_data_a";
679		function = "scif2";
680	};
681
682	scif_clk_pins: scif_clk {
683		groups = "scif_clk_a";
684		function = "scif_clk";
685	};
686
687	sdhi0_pins: sd0 {
688		groups = "sdhi0_data4", "sdhi0_ctrl";
689		function = "sdhi0";
690		power-source = <3300>;
691	};
692
693	sdhi0_pins_uhs: sd0_uhs {
694		groups = "sdhi0_data4", "sdhi0_ctrl";
695		function = "sdhi0";
696		power-source = <1800>;
697	};
698
699	sdhi2_pins: sd2 {
700		groups = "sdhi2_data8", "sdhi2_ctrl", "sdhi2_ds";
701		function = "sdhi2";
702		power-source = <1800>;
703	};
704
705	sdhi3_pins: sd3 {
706		groups = "sdhi3_data4", "sdhi3_ctrl";
707		function = "sdhi3";
708		power-source = <3300>;
709	};
710
711	sdhi3_pins_uhs: sd3_uhs {
712		groups = "sdhi3_data4", "sdhi3_ctrl";
713		function = "sdhi3";
714		power-source = <1800>;
715	};
716
717	sound_pins: sound {
718		groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
719		function = "ssi";
720	};
721
722	sound_clk_pins: sound_clk {
723		groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
724			 "audio_clkout_a", "audio_clkout3_a";
725		function = "audio_clk";
726	};
727
728	usb0_pins: usb0 {
729		groups = "usb0";
730		function = "usb0";
731	};
732
733	usb1_pins: usb1 {
734		mux {
735			groups = "usb1";
736			function = "usb1";
737		};
738
739		ovc {
740			pins = "GP_6_27";
741			bias-pull-up;
742		};
743
744		pwen {
745			pins = "GP_6_26";
746			bias-pull-down;
747		};
748	};
749
750	usb30_pins: usb30 {
751		groups = "usb30";
752		function = "usb30";
753	};
754};
755
756&pwm1 {
757	pinctrl-0 = <&pwm1_pins>;
758	pinctrl-names = "default";
759
760	status = "okay";
761};
762
763&rcar_sound {
764	pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
765	pinctrl-names = "default";
766
767	/* Single DAI */
768	#sound-dai-cells = <0>;
769
770	/* audio_clkout0/1/2/3 */
771	#clock-cells = <1>;
772	clock-frequency = <12288000 11289600>;
773
774	status = "okay";
775
776	/* update <audio_clk_b> to <cs2000> */
777	clocks = <&cpg CPG_MOD 1005>,
778		 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
779		 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
780		 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
781		 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
782		 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
783		 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
784		 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
785		 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
786		 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
787		 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
788		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
789		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
790		 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
791		 <&audio_clk_a>, <&cs2000>,
792		 <&audio_clk_c>,
793		 <&cpg CPG_CORE CPG_AUDIO_CLK_I>;
794
795	ports {
796		#address-cells = <1>;
797		#size-cells = <0>;
798		rsnd_port0: port@0 {
799			reg = <0>;
800			rsnd_endpoint0: endpoint {
801				remote-endpoint = <&ak4613_endpoint>;
802
803				dai-format = "left_j";
804				bitclock-master = <&rsnd_endpoint0>;
805				frame-master = <&rsnd_endpoint0>;
806
807				playback = <&ssi0>, <&src0>, <&dvc0>;
808				capture  = <&ssi1>, <&src1>, <&dvc1>;
809			};
810		};
811
812		rsnd_port1: port@1 {
813			reg = <1>;
814			rsnd_endpoint1: endpoint {
815				remote-endpoint = <&dw_hdmi0_snd_in>;
816
817				dai-format = "i2s";
818				bitclock-master = <&rsnd_endpoint1>;
819				frame-master = <&rsnd_endpoint1>;
820
821				playback = <&ssi2>;
822			};
823		};
824	};
825};
826
827&rwdt {
828	timeout-sec = <60>;
829	status = "okay";
830};
831
832&scif1 {
833	pinctrl-0 = <&scif1_pins>;
834	pinctrl-names = "default";
835
836	uart-has-rtscts;
837	/* Please only enable hscif1 or scif1 */
838	/* status = "okay"; */
839};
840
841&scif2 {
842	pinctrl-0 = <&scif2_pins>;
843	pinctrl-names = "default";
844
845	status = "okay";
846};
847
848&scif_clk {
849	clock-frequency = <14745600>;
850};
851
852&sdhi0 {
853	pinctrl-0 = <&sdhi0_pins>;
854	pinctrl-1 = <&sdhi0_pins_uhs>;
855	pinctrl-names = "default", "state_uhs";
856
857	vmmc-supply = <&vcc_sdhi0>;
858	vqmmc-supply = <&vccq_sdhi0>;
859	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
860	wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
861	bus-width = <4>;
862	sd-uhs-sdr50;
863	sd-uhs-sdr104;
864	status = "okay";
865};
866
867&sdhi2 {
868	/* used for on-board 8bit eMMC */
869	pinctrl-0 = <&sdhi2_pins>;
870	pinctrl-1 = <&sdhi2_pins>;
871	pinctrl-names = "default", "state_uhs";
872
873	vmmc-supply = <&reg_3p3v>;
874	vqmmc-supply = <&reg_1p8v>;
875	bus-width = <8>;
876	mmc-hs200-1_8v;
877	mmc-hs400-1_8v;
878	no-sd;
879	no-sdio;
880	non-removable;
881	fixed-emmc-driver-type = <1>;
882	full-pwr-cycle-in-suspend;
883	status = "okay";
884};
885
886&sdhi3 {
887	pinctrl-0 = <&sdhi3_pins>;
888	pinctrl-1 = <&sdhi3_pins_uhs>;
889	pinctrl-names = "default", "state_uhs";
890
891	vmmc-supply = <&vcc_sdhi3>;
892	vqmmc-supply = <&vccq_sdhi3>;
893	cd-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
894	wp-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
895	bus-width = <4>;
896	sd-uhs-sdr50;
897	sd-uhs-sdr104;
898	status = "okay";
899};
900
901&ssi1 {
902	shared-pin;
903};
904
905&usb_extal_clk {
906	clock-frequency = <50000000>;
907};
908
909&usb2_phy0 {
910	pinctrl-0 = <&usb0_pins>;
911	pinctrl-names = "default";
912
913	vbus-supply = <&vbus0_usb2>;
914	status = "okay";
915};
916
917&usb2_phy1 {
918	pinctrl-0 = <&usb1_pins>;
919	pinctrl-names = "default";
920
921	status = "okay";
922};
923
924&usb3_peri0 {
925	phys = <&usb3_phy0>;
926	phy-names = "usb";
927
928	companion = <&xhci0>;
929
930	status = "okay";
931};
932
933&usb3_phy0 {
934	status = "okay";
935};
936
937&usb3s0_clk {
938	clock-frequency = <100000000>;
939};
940
941&vin0 {
942	status = "okay";
943};
944
945&vin1 {
946	status = "okay";
947};
948
949&vin2 {
950	status = "okay";
951};
952
953&vin3 {
954	status = "okay";
955};
956
957&vin4 {
958	status = "okay";
959};
960
961&vin5 {
962	status = "okay";
963};
964
965&vin6 {
966	status = "okay";
967};
968
969&vin7 {
970	status = "okay";
971};
972
973&xhci0 {
974	pinctrl-0 = <&usb30_pins>;
975	pinctrl-names = "default";
976
977	status = "okay";
978};
979