• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2016-2017 Zodiac Inflight Innovations
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 *  a) This file is free software; you can redistribute it and/or
10 *     modify it under the terms of the GNU General Public License
11 *     version 2 as published by the Free Software Foundation.
12 *
13 *     This file is distributed in the hope that it will be useful,
14 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *     GNU General Public License for more details.
17 *
18 * Or, alternatively,
19 *
20 *  b) Permission is hereby granted, free of charge, to any person
21 *     obtaining a copy of this software and associated documentation
22 *     files (the "Software"), to deal in the Software without
23 *     restriction, including without limitation the rights to use,
24 *     copy, modify, merge, publish, distribute, sublicense, and/or
25 *     sell copies of the Software, and to permit persons to whom the
26 *     Software is furnished to do so, subject to the following
27 *     conditions:
28 *
29 *     The above copyright notice and this permission notice shall be
30 *     included in all copies or substantial portions of the Software.
31 *
32 *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND,
33 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39 *     OTHER DEALINGS IN THE SOFTWARE.
40 */
41
42#include <dt-bindings/gpio/gpio.h>
43#include <dt-bindings/sound/fsl-imx-audmux.h>
44
45/ {
46	chosen {
47		stdout-path = &uart1;
48	};
49
50	aliases {
51		mdio-gpio0 = &mdio1;
52		rtc0 = &ds1341;
53	};
54
55	mdio1: mdio {
56		compatible = "virtual,mdio-gpio";
57		#address-cells = <1>;
58		#size-cells = <0>;
59		pinctrl-names = "default";
60		pinctrl-0 = <&pinctrl_mdio1>;
61		gpios = <&gpio6 5 GPIO_ACTIVE_HIGH
62		         &gpio6 4 GPIO_ACTIVE_HIGH>;
63
64		phy: ethernet-phy@0 {
65			pinctrl-0 = <&pinctrl_rmii_phy_irq>;
66			pinctrl-names = "default";
67			reg = <0>;
68			interrupt-parent = <&gpio3>;
69			interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
70		};
71	};
72
73	reg_28p0v: regulator-28p0v {
74		compatible = "regulator-fixed";
75		regulator-name = "28V_IN";
76		regulator-min-microvolt = <28000000>;
77		regulator-max-microvolt = <28000000>;
78		regulator-always-on;
79	};
80
81	reg_12p0v: regulator-12p0v {
82		compatible = "regulator-fixed";
83		vin-supply = <&reg_28p0v>;
84		regulator-name = "12V_MAIN";
85		regulator-min-microvolt = <12000000>;
86		regulator-max-microvolt = <12000000>;
87		regulator-always-on;
88	};
89
90	reg_5p0v_main: regulator-5p0v-main {
91		compatible = "regulator-fixed";
92		vin-supply = <&reg_12p0v>;
93		regulator-name = "5V_MAIN";
94		regulator-min-microvolt = <5000000>;
95		regulator-max-microvolt = <5000000>;
96		regulator-always-on;
97	};
98
99	reg_5p0v_user_usb: regulator-5p0v-user-usb {
100		compatible = "regulator-fixed";
101		pinctrl-names = "default";
102		pinctrl-0 = <&pinctrl_reg_user_usb>;
103		vin-supply = <&reg_5p0v_main>;
104		regulator-name = "5V_USER_USB";
105		regulator-min-microvolt = <5000000>;
106		regulator-max-microvolt = <5000000>;
107		gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
108		startup-delay-us = <1000>;
109	};
110
111	reg_3p3v_pmic: regulator-3p3v-pmic {
112		compatible = "regulator-fixed";
113		vin-supply = <&reg_12p0v>;
114		regulator-name = "PMIC_3V3";
115		regulator-min-microvolt = <3300000>;
116		regulator-max-microvolt = <3300000>;
117		regulator-always-on;
118	};
119
120	reg_3p3v: regulator-3p3v {
121		compatible = "regulator-fixed";
122		vin-supply = <&reg_3p3v_pmic>;
123		regulator-name = "GEN_3V3";
124		regulator-min-microvolt = <3300000>;
125		regulator-max-microvolt = <3300000>;
126		regulator-always-on;
127	};
128
129	reg_3p3v_sd: regulator-3p3v-sd {
130		compatible = "regulator-fixed";
131		pinctrl-names = "default";
132		pinctrl-0 = <&pinctrl_reg_3p3v_sd>;
133		vin-supply = <&reg_3p3v>;
134		regulator-name = "3V3_SD";
135		regulator-min-microvolt = <3300000>;
136		regulator-max-microvolt = <3300000>;
137		gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
138		startup-delay-us = <1000>;
139		enable-active-high;
140		regulator-always-on;
141	};
142
143	reg_3p3v_display: regulator-3p3v-display {
144		compatible = "regulator-fixed";
145		vin-supply = <&reg_12p0v>;
146		regulator-name = "3V3_DISPLAY";
147		regulator-min-microvolt = <3300000>;
148		regulator-max-microvolt = <3300000>;
149		regulator-always-on;
150	};
151
152	reg_3p3v_ssd: regulator-3p3v-ssd {
153		compatible = "regulator-fixed";
154		vin-supply = <&reg_12p0v>;
155		regulator-name = "3V3_SSD";
156		regulator-min-microvolt = <3300000>;
157		regulator-max-microvolt = <3300000>;
158		regulator-always-on;
159	};
160
161	sound1 {
162		compatible = "simple-audio-card";
163		simple-audio-card,name = "Front";
164		simple-audio-card,format = "i2s";
165		simple-audio-card,bitclock-master = <&sound1_codec>;
166		simple-audio-card,frame-master = <&sound1_codec>;
167		simple-audio-card,widgets =
168			"Headphone", "Headphone Jack";
169		simple-audio-card,routing =
170			"Headphone Jack", "HPLEFT",
171			"Headphone Jack", "HPRIGHT",
172			"LEFTIN", "HPL",
173			"RIGHTIN", "HPR";
174		simple-audio-card,aux-devs = <&hpa1>;
175
176		sound1_cpu: simple-audio-card,cpu {
177			sound-dai = <&ssi2>;
178		};
179
180		sound1_codec: simple-audio-card,codec {
181			sound-dai = <&codec1>;
182			clocks = <&cs2000>;
183		};
184	};
185
186	sound2 {
187		compatible = "simple-audio-card";
188		simple-audio-card,name = "Back";
189		simple-audio-card,format = "i2s";
190		simple-audio-card,bitclock-master = <&sound2_codec>;
191		simple-audio-card,frame-master = <&sound2_codec>;
192		simple-audio-card,widgets =
193			"Headphone", "Headphone Jack";
194		simple-audio-card,routing =
195			"Headphone Jack", "HPLEFT",
196			"Headphone Jack", "HPRIGHT",
197			"LEFTIN", "HPL",
198			"RIGHTIN", "HPR";
199		simple-audio-card,aux-devs = <&hpa2>;
200
201		sound2_cpu: simple-audio-card,cpu {
202			sound-dai = <&ssi1>;
203		};
204
205		sound2_codec: simple-audio-card,codec {
206			sound-dai = <&codec2>;
207			clocks = <&cs2000>;
208		};
209	};
210
211	panel {
212		power-supply = <&reg_3p3v_display>;
213		status = "disabled";
214
215		port {
216			panel_in: endpoint {
217				remote-endpoint = <&lvds0_out>;
218			};
219		};
220	};
221
222	disp0: disp0 {
223		#address-cells = <1>;
224		#size-cells = <0>;
225		compatible = "fsl,imx-parallel-display";
226		pinctrl-names = "default";
227		pinctrl-0 = <&pinctrl_disp0>;
228		status = "disabled";
229
230		port@0 {
231			reg = <0>;
232
233			disp0_in_0: endpoint {
234				remote-endpoint = <&ipu1_di0_disp0>;
235			};
236		};
237
238		port@1 {
239			reg = <1>;
240
241			disp0_out: endpoint {
242				remote-endpoint = <&tc358767_in>;
243			};
244		};
245	};
246
247	cs2000_ref: cs2000-ref {
248		compatible = "fixed-clock";
249		#clock-cells = <0>;
250		clock-frequency = <24576000>;
251	};
252
253	cs2000_in_dummy: cs2000-in-dummy {
254		compatible = "fixed-clock";
255		#clock-cells = <0>;
256		clock-frequency = <0>;
257	};
258
259	edp_refclk: edp-refclk {
260		compatible = "fixed-clock";
261		#clock-cells = <0>;
262		clock-frequency = <19200000>;
263	};
264};
265
266&cpu0 {
267	fsl,soc-operating-points = <
268		/* ARM kHz  SOC-PU uV */
269		1200000 1300000
270		996000	1275000
271		852000	1275000
272		792000	1200000
273		396000	1200000
274	>;
275};
276
277&reg_arm {
278	vin-supply = <&sw1a_reg>;
279};
280
281&reg_pu {
282	vin-supply = <&sw1c_reg>;
283};
284
285&reg_soc {
286	vin-supply = <&sw1c_reg>;
287};
288
289&ldb {
290	lvds-channel@0 {
291		port@4 {
292			reg = <4>;
293
294			lvds0_out: endpoint {
295				remote-endpoint = <&panel_in>;
296			};
297		};
298	};
299};
300
301&uart1 {
302	pinctrl-names = "default";
303	pinctrl-0 = <&pinctrl_uart1>;
304	status = "okay";
305};
306
307&uart3 {
308	pinctrl-names = "default";
309	pinctrl-0 = <&pinctrl_uart3>;
310	uart-has-rtscts;
311	linux,rs485-enabled-at-boot-time;
312	status = "okay";
313};
314
315&uart4 {
316	pinctrl-names = "default";
317	pinctrl-0 = <&pinctrl_uart4>;
318	status = "okay";
319
320	rave-sp {
321		compatible = "zii,rave-sp-rdu2";
322		current-speed = <1000000>;
323		#address-cells = <1>;
324		#size-cells = <1>;
325
326		watchdog {
327			compatible = "zii,rave-sp-watchdog";
328		};
329
330		backlight {
331			compatible = "zii,rave-sp-backlight";
332		};
333
334		pwrbutton {
335			compatible = "zii,rave-sp-pwrbutton";
336		};
337
338		eeprom@a3 {
339			compatible = "zii,rave-sp-eeprom";
340			reg = <0xa3 0x4000>;
341			#address-cells = <1>;
342			#size-cells = <1>;
343			zii,eeprom-name = "dds-eeprom";
344		};
345
346		eeprom@a4 {
347			compatible = "zii,rave-sp-eeprom";
348			reg = <0xa4 0x4000>;
349			#address-cells = <1>;
350			#size-cells = <1>;
351			zii,eeprom-name = "main-eeprom";
352		};
353	};
354};
355
356&ecspi1 {
357	pinctrl-names = "default";
358	pinctrl-0 = <&pinctrl_ecspi1>;
359	cs-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
360	status = "okay";
361
362	flash@0 {
363		compatible = "st,m25p128", "jedec,spi-nor";
364		spi-max-frequency = <20000000>;
365		reg = <0>;
366	};
367};
368
369&i2c1 {
370	pinctrl-names = "default";
371	pinctrl-0 = <&pinctrl_i2c1>;
372	clock-frequency = <100000>;
373	status = "okay";
374
375	codec2: codec@18 {
376		compatible = "ti,tlv320dac3100";
377		pinctrl-names = "default";
378		pinctrl-0 = <&pinctrl_codec2>;
379		reg = <0x18>;
380		#sound-dai-cells = <0>;
381		HPVDD-supply = <&reg_3p3v>;
382		SPRVDD-supply = <&reg_3p3v>;
383		SPLVDD-supply = <&reg_3p3v>;
384		AVDD-supply = <&reg_3p3v>;
385		IOVDD-supply = <&reg_3p3v>;
386		DVDD-supply = <&vgen4_reg>;
387		gpio-reset = <&gpio1 2 GPIO_ACTIVE_HIGH>;
388	};
389
390	accel@1c {
391		pinctrl-names = "default";
392		pinctrl-0 = <&pinctrl_accel>;
393		compatible = "fsl,mma8451";
394		reg = <0x1c>;
395		interrupt-parent = <&gpio1>;
396		interrupt-names = "int1", "int2";
397		interrupts = <18 IRQ_TYPE_LEVEL_LOW>, <20 IRQ_TYPE_LEVEL_LOW>;
398	};
399
400	hpa2: amp@60 {
401		compatible = "ti,tpa6130a2";
402		pinctrl-names = "default";
403		pinctrl-0 = <&pinctrl_tpa2>;
404		reg = <0x60>;
405		power-gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
406		Vdd-supply = <&reg_5p0v_main>;
407	};
408
409	edp-bridge@68 {
410		compatible = "toshiba,tc358767";
411		pinctrl-names = "default";
412		pinctrl-0 = <&pinctrl_tc358767>;
413		reg = <0x68>;
414		shutdown-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
415		clock-names = "ref";
416		clocks = <&edp_refclk>;
417		status = "disabled";
418
419		ports {
420			#address-cells = <1>;
421			#size-cells = <0>;
422
423			port@1 {
424				reg = <1>;
425
426				tc358767_in: endpoint {
427					remote-endpoint = <&disp0_out>;
428				};
429			};
430		};
431	};
432};
433
434&i2c2 {
435	pinctrl-names = "default";
436	pinctrl-0 = <&pinctrl_i2c2>;
437	clock-frequency = <100000>;
438	status = "okay";
439
440	pmic@8 {
441		compatible = "fsl,pfuze100";
442		pinctrl-names = "default";
443		pinctrl-0 = <&pinctrl_pfuze100_irq>;
444		reg = <0x08>;
445		interrupt-parent = <&gpio7>;
446		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
447
448		regulators {
449			sw1a_reg: sw1ab {
450				regulator-min-microvolt = <300000>;
451				regulator-max-microvolt = <1875000>;
452				regulator-boot-on;
453				regulator-always-on;
454				regulator-ramp-delay = <6250>;
455			};
456
457			sw1c_reg: sw1c {
458				regulator-min-microvolt = <300000>;
459				regulator-max-microvolt = <1875000>;
460				regulator-boot-on;
461				regulator-always-on;
462				regulator-ramp-delay = <6250>;
463			};
464
465			sw2_reg: sw2 {
466				regulator-min-microvolt = <800000>;
467				regulator-max-microvolt = <3000000>;
468				regulator-boot-on;
469				regulator-always-on;
470			};
471
472			sw3a_reg: sw3a {
473				regulator-min-microvolt = <400000>;
474				regulator-max-microvolt = <1500000>;
475				regulator-boot-on;
476				regulator-always-on;
477			};
478
479			sw3b_reg: sw3b {
480				regulator-min-microvolt = <400000>;
481				regulator-max-microvolt = <1500000>;
482				regulator-boot-on;
483				regulator-always-on;
484			};
485
486			sw4_reg: sw4 {
487				regulator-min-microvolt = <800000>;
488				regulator-max-microvolt = <1800000>;
489				regulator-boot-on;
490				regulator-always-on;
491			};
492
493			snvs_reg: vsnvs {
494				regulator-min-microvolt = <1000000>;
495				regulator-max-microvolt = <3000000>;
496				regulator-boot-on;
497				regulator-always-on;
498			};
499
500			vref_reg: vrefddr {
501				regulator-boot-on;
502				regulator-always-on;
503			};
504
505			vgen2_reg: vgen2 {
506				regulator-min-microvolt = <1000000>;
507				regulator-max-microvolt = <1500000>;
508				regulator-always-on;
509			};
510
511			vgen4_reg: vgen4 {
512				regulator-min-microvolt = <1200000>;
513				regulator-max-microvolt = <1800000>;
514				regulator-always-on;
515			};
516
517			vgen5_reg: vgen5 {
518				regulator-min-microvolt = <1800000>;
519				regulator-max-microvolt = <2500000>;
520				regulator-always-on;
521			};
522
523			vgen6_reg: vgen6 {
524				regulator-min-microvolt = <1800000>;
525				regulator-max-microvolt = <2800000>;
526				regulator-always-on;
527			};
528		};
529	};
530
531	temp-sense@48 {
532		compatible = "national,lm75";
533		reg = <0x48>;
534	};
535
536	cs2000: clkgen@4e {
537		compatible = "cirrus,cs2000-cp";
538		reg = <0x4e>;
539		#clock-cells = <0>;
540		clock-names = "clk_in", "ref_clk";
541		clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
542		assigned-clocks = <&cs2000>;
543		assigned-clock-rates = <24000000>;
544	};
545
546	eeprom@54 {
547		compatible = "atmel,24c128";
548		reg = <0x54>;
549	};
550
551	ds1341: rtc@68 {
552		compatible = "dallas,ds1341";
553		reg = <0x68>;
554	};
555};
556
557&i2c3 {
558	pinctrl-names = "default";
559	pinctrl-0 = <&pinctrl_i2c3>;
560	clock-frequency = <400000>;
561	status = "okay";
562
563	codec1: codec@18 {
564		compatible = "ti,tlv320dac3100";
565		pinctrl-names = "default";
566		pinctrl-0 = <&pinctrl_codec1>;
567		reg = <0x18>;
568		#sound-dai-cells = <0>;
569		HPVDD-supply = <&reg_3p3v>;
570		SPRVDD-supply = <&reg_3p3v>;
571		SPLVDD-supply = <&reg_3p3v>;
572		AVDD-supply = <&reg_3p3v>;
573		IOVDD-supply = <&reg_3p3v>;
574		DVDD-supply = <&vgen4_reg>;
575		gpio-reset = <&gpio1 0 GPIO_ACTIVE_HIGH>;
576	};
577
578	touchscreen@20 {
579		compatible = "syna,rmi4-i2c";
580		pinctrl-names = "default";
581		pinctrl-0 = <&pinctrl_ts>;
582		reg = <0x20>;
583		interrupt-parent = <&gpio1>;
584		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
585		vdd-supply = <&reg_5p0v_main>;
586		vio-supply = <&reg_3p3v>;
587
588		#address-cells = <1>;
589		#size-cells = <0>;
590
591		rmi4-f01@1 {
592			reg = <0x1>;
593			syna,nosleep-mode = <2>;
594		};
595
596		rmi4-f11@11 {
597			reg = <0x11>;
598			touchscreen-inverted-x;
599			touchscreen-swapped-x-y;
600			syna,sensor-type = <1>;
601		};
602
603		rmi4-f12@12 {
604			reg = <0x12>;
605			touchscreen-inverted-x;
606			touchscreen-swapped-x-y;
607			syna,sensor-type = <1>;
608		};
609	};
610
611	touchscreen@2a {
612		compatible = "eeti,exc3000";
613		pinctrl-names = "default";
614		pinctrl-0 = <&pinctrl_ts>;
615		reg = <0x2a>;
616		interrupt-parent = <&gpio1>;
617		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
618		touchscreen-inverted-x;
619		touchscreen-swapped-x-y;
620		status = "disabled";
621	};
622
623	hpa1: amp@60 {
624		compatible = "ti,tpa6130a2";
625		pinctrl-names = "default";
626		pinctrl-0 = <&pinctrl_tpa1>;
627		reg = <0x60>;
628		power-gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
629		Vdd-supply = <&reg_5p0v_main>;
630	};
631};
632
633&ipu1_di0_disp0 {
634	remote-endpoint = <&disp0_in_0>;
635};
636
637&pcie {
638	pinctrl-names = "default";
639	pinctrl-0 = <&pinctrl_pcie>;
640	reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
641	status = "okay";
642
643	host@0 {
644		reg = <0 0 0 0 0>;
645
646		#address-cells = <3>;
647		#size-cells = <2>;
648
649		i210: i210@0 {
650			reg = <0 0 0 0 0>;
651		};
652	};
653};
654
655&usdhc2 {
656	pinctrl-names = "default";
657	pinctrl-0 = <&pinctrl_usdhc2>;
658	bus-width = <4>;
659	cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
660	disable-wp;
661	vmmc-supply = <&reg_3p3v_sd>;
662	vqmmc-supply = <&reg_3p3v>;
663	no-1-8-v;
664	no-sdio;
665	status = "okay";
666};
667
668&usdhc3 {
669	pinctrl-names = "default";
670	pinctrl-0 = <&pinctrl_usdhc3>;
671	bus-width = <4>;
672	cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
673	disable-wp;
674	vmmc-supply = <&reg_3p3v_sd>;
675	vqmmc-supply = <&reg_3p3v>;
676	no-1-8-v;
677	no-sdio;
678	status = "okay";
679};
680
681&usdhc4 {
682	pinctrl-names = "default";
683	pinctrl-0 = <&pinctrl_usdhc4>;
684	bus-width = <8>;
685	vmmc-supply = <&reg_3p3v>;
686	vqmmc-supply = <&reg_3p3v>;
687	no-1-8-v;
688	non-removable;
689	no-sdio;
690	no-sd;
691	status = "okay";
692};
693
694&sata {
695	target-supply = <&reg_3p3v_ssd>;
696	status = "okay";
697};
698
699&fec {
700	pinctrl-names = "default";
701	pinctrl-0 = <&pinctrl_enet>;
702	phy-mode = "rmii";
703	phy-handle = <&phy>;
704	phy-reset-gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
705	phy-reset-duration = <100>;
706	phy-supply = <&reg_3p3v>;
707	status = "okay";
708
709	mdio {
710		#address-cells = <1>;
711		#size-cells = <0>;
712		status = "okay";
713
714		switch: switch@0 {
715			compatible = "marvell,mv88e6085";
716			pinctrl-0 = <&pinctrl_switch_irq>;
717			pinctrl-names = "default";
718			reg = <0>;
719			dsa,member = <0 0>;
720			eeprom-length = <512>;
721			interrupt-parent = <&gpio6>;
722			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
723			interrupt-controller;
724			#interrupt-cells = <2>;
725
726			ports {
727				#address-cells = <1>;
728				#size-cells = <0>;
729
730				port@0 {
731					reg = <0>;
732					label = "gigabit_proc";
733					phy-handle = <&switchphy0>;
734				};
735
736				port@1 {
737					reg = <1>;
738					label = "netaux";
739					phy-handle = <&switchphy1>;
740				};
741
742				port@2 {
743					reg = <2>;
744					label = "cpu";
745					ethernet = <&fec>;
746
747					fixed-link {
748						speed = <100>;
749						full-duplex;
750					};
751				};
752
753				port@3 {
754					reg = <3>;
755					label = "netright";
756					phy-handle = <&switchphy3>;
757				};
758
759				port@4 {
760					reg = <4>;
761					label = "netleft";
762					phy-handle = <&switchphy4>;
763				};
764			};
765
766			mdio {
767				#address-cells = <1>;
768				#size-cells = <0>;
769
770				switchphy0: switchphy@0 {
771					reg = <0>;
772					interrupt-parent = <&switch>;
773					interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
774				};
775
776				switchphy1: switchphy@1 {
777					reg = <1>;
778					interrupt-parent = <&switch>;
779					interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
780				};
781
782				switchphy2: switchphy@2 {
783					reg = <2>;
784					interrupt-parent = <&switch>;
785					interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
786				};
787
788				switchphy3: switchphy@3 {
789					reg = <3>;
790					interrupt-parent = <&switch>;
791					interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
792				};
793
794				switchphy4: switchphy@4 {
795					reg = <4>;
796					interrupt-parent = <&switch>;
797					interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
798				};
799			};
800		};
801	};
802};
803
804&usbh1 {
805	vbus-supply = <&reg_5p0v_main>;
806	disable-over-current;
807	maximum-speed = "full-speed";
808	status = "okay";
809};
810
811&usbotg {
812	vbus-supply = <&reg_5p0v_user_usb>;
813	disable-over-current;
814	dr_mode = "host";
815	status = "okay";
816};
817
818&ssi1 {
819	status = "okay";
820};
821
822&ssi2 {
823	status = "okay";
824};
825
826&audmux {
827	pinctrl-names = "default";
828	pinctrl-0 = <&pinctrl_audmux>;
829	status = "okay";
830
831	ssi1 {
832		fsl,audmux-port = <0>;
833		fsl,port-config = <
834			(IMX_AUDMUX_V2_PTCR_SYN |
835			 IMX_AUDMUX_V2_PTCR_TFSEL(2) |
836			 IMX_AUDMUX_V2_PTCR_TCSEL(2) |
837			 IMX_AUDMUX_V2_PTCR_TFSDIR |
838			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
839			IMX_AUDMUX_V2_PDCR_RXDSEL(2)
840		>;
841	};
842
843	aud3 {
844		fsl,audmux-port = <2>;
845		fsl,port-config = <
846			IMX_AUDMUX_V2_PTCR_SYN
847			IMX_AUDMUX_V2_PDCR_RXDSEL(0)
848		>;
849	};
850
851	ssi2 {
852		fsl,audmux-port = <1>;
853		fsl,port-config = <
854			(IMX_AUDMUX_V2_PTCR_SYN |
855			 IMX_AUDMUX_V2_PTCR_TFSEL(4) |
856			 IMX_AUDMUX_V2_PTCR_TCSEL(4) |
857			 IMX_AUDMUX_V2_PTCR_TFSDIR |
858			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
859			IMX_AUDMUX_V2_PDCR_RXDSEL(4)
860		>;
861	};
862
863	aud5 {
864		fsl,audmux-port = <4>;
865		fsl,port-config = <
866			IMX_AUDMUX_V2_PTCR_SYN
867			IMX_AUDMUX_V2_PDCR_RXDSEL(1)
868		>;
869	};
870};
871
872&wdog1 {
873	status = "disabled";
874};
875
876&iomuxc {
877	pinctrl_accel: accelgrp {
878		fsl,pins = <
879			MX6QDL_PAD_SD1_CMD__GPIO1_IO18		0x4001b000
880			MX6QDL_PAD_SD1_CLK__GPIO1_IO20		0x4001b000
881		>;
882	};
883
884	pinctrl_audmux: audmuxgrp {
885		fsl,pins = <
886			MX6QDL_PAD_KEY_COL0__AUD5_TXC		0x130b0
887			MX6QDL_PAD_KEY_ROW0__AUD5_TXD		0x130b0
888			MX6QDL_PAD_KEY_COL1__AUD5_TXFS		0x130b0
889			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
890			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x130b0
891			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
892		>;
893	};
894
895	pinctrl_codec1: dac1grp {
896		fsl,pins = <
897			MX6QDL_PAD_GPIO_0__GPIO1_IO00		0x40000038
898		>;
899	};
900
901	pinctrl_codec2: dac2grp {
902		fsl,pins = <
903			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x40000038
904		>;
905	};
906
907	pinctrl_disp0: disp0grp {
908		fsl,pins = <
909			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x100f9
910			MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x100f9
911			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x100f9
912			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x100f9
913			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x100f9
914			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x100f9
915			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x100f9
916			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x100f9
917			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x100f9
918			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x100f9
919			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x100f9
920			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x100f9
921			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x100f9
922			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x100f9
923			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x100f9
924			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x100f9
925			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x100f9
926			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x100f9
927			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x100f9
928			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x100f9
929			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x100f9
930			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x100f9
931			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x100f9
932			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x100f9
933			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x100f9
934			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x100f9
935			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x100f9
936			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x100f9
937		>;
938	};
939
940	pinctrl_ecspi1: ecspi1grp {
941		fsl,pins = <
942			MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
943			MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
944			MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
945			MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x1b0b1
946		>;
947	};
948
949	pinctrl_enet: enetgrp {
950		fsl,pins = <
951			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x000b1
952			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b1
953			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x100f5
954			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x100f5
955			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x100c0
956			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x100c0
957			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x100f5
958			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x100f5
959			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x40010040
960			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x100b0
961			MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23	0x1b0b0
962		>;
963	};
964
965	pinctrl_i2c1: i2c1grp {
966		fsl,pins = <
967			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
968			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
969		>;
970	};
971
972	pinctrl_i2c2: i2c2grp {
973		fsl,pins = <
974			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
975			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
976		>;
977	};
978
979	pinctrl_i2c3: i2c3grp {
980		fsl,pins = <
981			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1
982			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
983		>;
984	};
985
986	pinctrl_mdio1: bitbangmdiogrp {
987		fsl,pins = <
988			/* Bitbang MDIO for DEB Switch */
989			MX6QDL_PAD_CSI0_DAT19__GPIO6_IO05	0x4001b030
990			MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04	0x40018830
991		>;
992	};
993
994	pinctrl_pcie: pciegrp {
995		fsl,pins = <
996			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x10038
997		>;
998	};
999
1000	pinctrl_pfuze100_irq: pfuze100grp {
1001		fsl,pins = <
1002			MX6QDL_PAD_GPIO_18__GPIO7_IO13		0x40010000
1003		>;
1004	};
1005
1006	pinctrl_reg_3p3v_sd: mmcsupply1grp {
1007		fsl,pins = <
1008			MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x858
1009		>;
1010	};
1011
1012	pinctrl_reg_user_usb: usbotggrp {
1013		fsl,pins = <
1014			MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x40000038
1015		>;
1016	};
1017
1018	pinctrl_rmii_phy_irq: phygrp {
1019		fsl,pins = <
1020			MX6QDL_PAD_EIM_D30__GPIO3_IO30		0x40010000
1021		>;
1022	};
1023
1024	pinctrl_switch_irq: switchgrp {
1025		fsl,pins = <
1026			MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03	0x4001b000
1027		>;
1028	};
1029
1030	pinctrl_tc358767: tc358767grp {
1031		fsl,pins = <
1032			MX6QDL_PAD_GPIO_9__GPIO1_IO09		0x10
1033		>;
1034	};
1035
1036	pinctrl_tpa1: tpa6130-1grp {
1037		fsl,pins = <
1038			MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x40000038
1039		>;
1040	};
1041
1042	pinctrl_tpa2: tpa6130-2grp {
1043		fsl,pins = <
1044			MX6QDL_PAD_GPIO_5__GPIO1_IO05		0x40000038
1045		>;
1046	};
1047
1048	pinctrl_ts: tsgrp {
1049		fsl,pins = <
1050			MX6QDL_PAD_GPIO_8__GPIO1_IO08		0x1b0b0
1051			MX6QDL_PAD_GPIO_7__GPIO1_IO07		0x1b0b0
1052		>;
1053	};
1054
1055	pinctrl_uart1: uart1grp {
1056		fsl,pins = <
1057			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
1058			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
1059		>;
1060	};
1061
1062	pinctrl_uart3: uart3grp {
1063		fsl,pins = <
1064			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
1065			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
1066			MX6QDL_PAD_EIM_D31__UART3_RTS_B		0x1b0b1
1067		>;
1068	};
1069
1070	pinctrl_uart4: uart4grp {
1071		fsl,pins = <
1072			MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA	0x1b0b1
1073			MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA	0x1b0b1
1074		>;
1075	};
1076
1077	pinctrl_usdhc2: usdhc2grp {
1078		fsl,pins = <
1079			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x10059
1080			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10069
1081			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
1082			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
1083			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
1084			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
1085			MX6QDL_PAD_NANDF_D2__GPIO2_IO02		0x40010040
1086		>;
1087	};
1088
1089	pinctrl_usdhc3: usdhc3grp {
1090		fsl,pins = <
1091			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x10059
1092			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10069
1093			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
1094			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
1095			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
1096			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
1097			MX6QDL_PAD_NANDF_D0__GPIO2_IO00		0x40010040
1098
1099		>;
1100	};
1101
1102	pinctrl_usdhc4: usdhc4grp {
1103		fsl,pins = <
1104			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
1105			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
1106			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
1107			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
1108			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
1109			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
1110			MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
1111			MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
1112			MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
1113			MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
1114			MX6QDL_PAD_NANDF_ALE__SD4_RESET		0x1b0b1
1115		>;
1116	};
1117};
1118