Linux Audio

Check our new training course

Loading...
v4.17
 
  1/*
  2 * Copyright (C) 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/dts-v1/;
 43#include "imx51.dtsi"
 44#include <dt-bindings/sound/fsl-imx-audmux.h>
 45
 46/ {
 47	model = "ZII RDU1 Board";
 48	compatible = "zii,imx51-rdu1", "fsl,imx51";
 49
 50	chosen {
 51		stdout-path = &uart1;
 52	};
 53
 54	/* Will be filled by the bootloader */
 55	memory@90000000 {
 
 56		reg = <0x90000000 0>;
 57	};
 58
 59	aliases {
 60		mdio-gpio0 = &mdio_gpio;
 61		rtc0 = &ds1341;
 62	};
 63
 64	clk_26M_osc: 26M_osc {
 65		compatible = "fixed-clock";
 66		#clock-cells = <0>;
 67		clock-frequency = <26000000>;
 68	};
 69
 70	clk_26M_osc_gate: 26M_gate {
 71		compatible = "gpio-gate-clock";
 72		pinctrl-names = "default";
 73		pinctrl-0 = <&pinctrl_clk26mhz>;
 74		clocks = <&clk_26M_osc>;
 75		#clock-cells = <0>;
 76		enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
 77	};
 78
 79	clk_26M_usb: usbhost_gate {
 80		compatible = "gpio-gate-clock";
 81		pinctrl-names = "default";
 82		pinctrl-0 = <&pinctrl_usbgate26mhz>;
 83		clocks = <&clk_26M_osc_gate>;
 84		#clock-cells = <0>;
 85		enable-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
 86	};
 87
 88	clk_26M_snd: snd_gate {
 89		compatible = "gpio-gate-clock";
 90		pinctrl-names = "default";
 91		pinctrl-0 = <&pinctrl_sndgate26mhz>;
 92		clocks = <&clk_26M_osc_gate>;
 93		#clock-cells = <0>;
 94		enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
 95	};
 96
 97	reg_5p0v_main: regulator-5p0v-main {
 98		compatible = "regulator-fixed";
 99		regulator-name = "5V_MAIN";
100		regulator-min-microvolt = <5000000>;
101		regulator-max-microvolt = <5000000>;
102		regulator-always-on;
103	};
104
105	reg_3p3v: regulator-3p3v {
106		compatible = "regulator-fixed";
107		regulator-name = "3.3V";
108		regulator-min-microvolt = <3300000>;
109		regulator-max-microvolt = <3300000>;
110		regulator-always-on;
111	};
112
113	disp0 {
114		compatible = "fsl,imx-parallel-display";
115		pinctrl-names = "default";
116		pinctrl-0 = <&pinctrl_ipu_disp1>;
117
118		#address-cells = <1>;
119		#size-cells = <0>;
120
121		port@0 {
122			reg = <0>;
123
124			display_in: endpoint {
125				remote-endpoint = <&ipu_di0_disp1>;
126			};
127		};
128
129		port@1 {
130			reg = <1>;
131
132			display_out: endpoint {
133				remote-endpoint = <&panel_in>;
134			};
135		};
136	};
137
138	panel {
139		/* no compatible here, bootloader will patch in correct one */
140		pinctrl-names = "default";
141		pinctrl-0 = <&pinctrl_panel>;
142		power-supply = <&reg_3p3v>;
143		enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
144		status = "disabled";
145
146		port {
147			panel_in: endpoint {
148				remote-endpoint = <&display_out>;
149			};
150		};
151	};
152
153	i2c_gpio: i2c-gpio {
154		compatible = "i2c-gpio";
155		pinctrl-names = "default";
156		pinctrl-0 = <&pinctrl_swi2c>;
157		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>, /* sda */
158			<&gpio3 4 GPIO_ACTIVE_HIGH>; /* scl */
159		i2c-gpio,delay-us = <50>;
160		status = "okay";
161
162		#address-cells = <1>;
163		#size-cells = <0>;
164
165		sgtl5000: codec@a {
166			compatible = "fsl,sgtl5000";
167			reg = <0x0a>;
168			clocks = <&clk_26M_snd>;
169			VDDA-supply = <&vdig_reg>;
170			VDDIO-supply = <&vvideo_reg>;
171			#sound-dai-cells = <0>;
172		};
173	};
174
175	spi_gpio: spi-gpio {
176		compatible = "spi-gpio";
177		#address-cells = <1>;
178		#size-cells = <0>;
179		pinctrl-names = "default";
180		pinctrl-0 = <&pinctrl_gpiospi0>;
181		status = "okay";
182
183		gpio-sck = <&gpio4 15 GPIO_ACTIVE_HIGH>;
184		gpio-mosi = <&gpio4 12 GPIO_ACTIVE_HIGH>;
185		gpio-miso = <&gpio4 11 GPIO_ACTIVE_HIGH>;
186		num-chipselects = <1>;
187		cs-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
188
189		eeprom@0 {
190			compatible = "eeprom-93xx46";
191			reg = <0>;
192			spi-max-frequency = <1000000>;
193			spi-cs-high;
194			data-size = <8>;
195		};
196	};
197
198	mdio_gpio: mdio-gpio {
199		compatible = "virtual,mdio-gpio";
200		pinctrl-names = "default";
201		pinctrl-0 = <&pinctrl_swmdio>;
202		gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>, /* mdc */
203			<&gpio3 25 GPIO_ACTIVE_HIGH>; /* mdio */
204
205		#address-cells = <1>;
206		#size-cells = <0>;
207
208		switch@0 {
209			compatible = "marvell,mv88e6085";
210			#address-cells = <1>;
211			#size-cells = <0>;
212			reg = <0>;
213			dsa,member = <0 0>;
214
215			ports {
216				#address-cells = <1>;
217				#size-cells = <0>;
218
219				port@0 {
220					reg = <0>;
221					label = "cpu";
222					ethernet = <&fec>;
223
224					fixed-link {
225						speed = <100>;
226						full-duplex;
227					};
228				};
229
230				port@1 {
231					reg = <1>;
232					label = "netaux";
233				};
234
235				port@3 {
236					reg = <3>;
237					label = "netright";
238				};
239
240				port@4 {
241					reg = <4>;
242					label = "netleft";
243				};
244			};
245		};
246	};
247
248	sound {
249		compatible = "simple-audio-card";
250		simple-audio-card,name = "Front";
251		simple-audio-card,format = "i2s";
252		simple-audio-card,bitclock-master = <&sound_codec>;
253		simple-audio-card,frame-master = <&sound_codec>;
254		simple-audio-card,widgets =
255			"Headphone", "Headphone Jack";
256		simple-audio-card,routing =
257			"Headphone Jack", "HPLEFT",
258			"Headphone Jack", "HPRIGHT";
259		simple-audio-card,aux-devs = <&hpa1>;
260
261		sound_cpu: simple-audio-card,cpu {
262			sound-dai = <&ssi2>;
263		};
264
265		sound_codec: simple-audio-card,codec {
266			sound-dai = <&sgtl5000>;
267			clocks = <&clk_26M_snd>;
268		};
269	};
270
271	usbh1phy: usbphy1 {
272		compatible = "usb-nop-xceiv";
273		pinctrl-names = "default";
274		pinctrl-0 = <&pinctrl_usbh1phy>;
275		clocks = <&clk_26M_usb>;
276		clock-names = "main_clk";
277		reset-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
278		vcc-supply = <&vusb_reg>;
279		#phy-cells = <0>;
280	};
281
282	usbh2phy: usbphy2 {
283		compatible = "usb-nop-xceiv";
284		pinctrl-names = "default";
285		pinctrl-0 = <&pinctrl_usbh2phy>;
286		clocks = <&clk_26M_usb>;
287		clock-names = "main_clk";
288		reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
289		vcc-supply = <&vusb_reg>;
290		#phy-cells = <0>;
291	};
292};
293
294&audmux {
295	pinctrl-names = "default";
296	pinctrl-0 = <&pinctrl_audmux>;
297	status = "okay";
298
299	ssi2 {
300		fsl,audmux-port = <1>;
301		fsl,port-config = <
302			(IMX_AUDMUX_V2_PTCR_SYN |
303			 IMX_AUDMUX_V2_PTCR_TFSEL(2) |
304			 IMX_AUDMUX_V2_PTCR_TCSEL(2) |
305			 IMX_AUDMUX_V2_PTCR_TFSDIR |
306			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
307			IMX_AUDMUX_V2_PDCR_RXDSEL(2)
308		>;
309	};
310
311	aud3 {
312		fsl,audmux-port = <2>;
313		fsl,port-config = <
314			IMX_AUDMUX_V2_PTCR_SYN
315			IMX_AUDMUX_V2_PDCR_RXDSEL(1)
316		>;
317	};
318};
319
320&cpu {
321	cpu-supply = <&sw1_reg>;
322};
323
324&ecspi1 {
325	pinctrl-names = "default";
326	pinctrl-0 = <&pinctrl_ecspi1>;
327	cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
328		   <&gpio4 25 GPIO_ACTIVE_LOW>;
329	status = "okay";
330
331	pmic@0 {
332		compatible = "fsl,mc13892";
333		pinctrl-names = "default";
334		pinctrl-0 = <&pinctrl_pmic>;
335		spi-max-frequency = <6000000>;
336		spi-cs-high;
337		reg = <0>;
338		interrupt-parent = <&gpio1>;
339		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
340		fsl,mc13xxx-uses-adc;
341
342		regulators {
343			sw1_reg: sw1 {
344				regulator-min-microvolt = <600000>;
345				regulator-max-microvolt = <1375000>;
346				regulator-boot-on;
347				regulator-always-on;
348			};
349
350			sw2_reg: sw2 {
351				regulator-min-microvolt = <900000>;
352				regulator-max-microvolt = <1850000>;
353				regulator-boot-on;
354				regulator-always-on;
355			};
356
357			sw3_reg: sw3 {
358				regulator-min-microvolt = <1100000>;
359				regulator-max-microvolt = <1850000>;
360				regulator-boot-on;
361				regulator-always-on;
362			};
363
364			sw4_reg: sw4 {
365				regulator-min-microvolt = <1100000>;
366				regulator-max-microvolt = <1850000>;
367				regulator-boot-on;
368				regulator-always-on;
369			};
370
371			vpll_reg: vpll {
372				regulator-min-microvolt = <1050000>;
373				regulator-max-microvolt = <1800000>;
374				regulator-boot-on;
375				regulator-always-on;
376			};
377
378			vdig_reg: vdig {
379				regulator-min-microvolt = <1650000>;
380				regulator-max-microvolt = <1650000>;
381				regulator-boot-on;
382			};
383
384			vsd_reg: vsd {
385				regulator-min-microvolt = <1800000>;
386				regulator-max-microvolt = <3150000>;
387			};
388
389			vusb_reg: vusb {
390				regulator-always-on;
391			};
392
393			vusb2_reg: vusb2 {
394				regulator-min-microvolt = <2400000>;
395				regulator-max-microvolt = <2775000>;
396				regulator-boot-on;
397				regulator-always-on;
398			};
399
400			vvideo_reg: vvideo {
401				regulator-min-microvolt = <2775000>;
402				regulator-max-microvolt = <2775000>;
403			};
404
405			vaudio_reg: vaudio {
406				regulator-min-microvolt = <2300000>;
407				regulator-max-microvolt = <3000000>;
408			};
409
410			vcam_reg: vcam {
411				regulator-min-microvolt = <2500000>;
412				regulator-max-microvolt = <3000000>;
413			};
414
415			vgen1_reg: vgen1 {
416				regulator-min-microvolt = <1200000>;
417				regulator-max-microvolt = <1200000>;
418			};
419
420			vgen2_reg: vgen2 {
421				regulator-min-microvolt = <1200000>;
422				regulator-max-microvolt = <3150000>;
423				regulator-always-on;
424			};
425
426			vgen3_reg: vgen3 {
427				regulator-min-microvolt = <1800000>;
428				regulator-max-microvolt = <2900000>;
429				regulator-always-on;
430			};
431		};
432
433		leds {
434			#address-cells = <1>;
435			#size-cells = <0>;
436			led-control = <0x0 0x0 0x3f83f8 0x0>;
437
438			sysled0@3 {
439				reg = <3>;
440				label = "system:green:status";
441				linux,default-trigger = "default-on";
442			};
443
444			sysled1@4 {
445				reg = <4>;
446				label = "system:green:act";
447				linux,default-trigger = "heartbeat";
448			};
449		};
450	};
451
452	flash@1 {
453		#address-cells = <1>;
454		#size-cells = <1>;
455		compatible = "atmel,at45db642d", "atmel,at45", "atmel,dataflash";
456		spi-max-frequency = <25000000>;
457		reg = <1>;
458	};
459};
460
461&esdhc1 {
462	pinctrl-names = "default";
463	pinctrl-0 = <&pinctrl_esdhc1>;
464	bus-width = <4>;
 
465	non-removable;
 
 
466	status = "okay";
467};
468
469&fec {
470	pinctrl-names = "default";
471	pinctrl-0 = <&pinctrl_fec>;
472	phy-mode = "mii";
473	phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
474	phy-supply = <&vgen3_reg>;
475	status = "okay";
476};
477
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
478&i2c2 {
479	pinctrl-names = "default";
480	pinctrl-0 = <&pinctrl_i2c2>;
481	status = "okay";
482
483	eeprom@50 {
484		compatible = "atmel,24c04";
485		pagesize = <16>;
486		reg = <0x50>;
487	};
488
489	hpa1: amp@60 {
490		compatible = "ti,tpa6130a2";
491		reg = <0x60>;
492		pinctrl-names = "default";
493		pinctrl-0 = <&pinctrl_ampgpio>;
494		power-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
495		Vdd-supply = <&reg_3p3v>;
496	};
497
498	ds1341: rtc@68 {
499		compatible = "maxim,ds1341";
500		reg = <0x68>;
501	};
502
503	/* touch nodes default disabled, bootloader will enable the right one */
504
505	touchscreen@4b {
506		compatible = "atmel,maxtouch";
507		reg = <0x4b>;
508		pinctrl-names = "default";
509		pinctrl-0 = <&pinctrl_ts>;
510		interrupt-parent = <&gpio3>;
511		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
512		status = "disabled";
513	};
514
515	touchscreen@4c {
516		compatible = "atmel,maxtouch";
517		reg = <0x4c>;
518		pinctrl-names = "default";
519		pinctrl-0 = <&pinctrl_ts>;
520		interrupt-parent = <&gpio3>;
521		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
522		status = "disabled";
523	};
524
525	touchscreen@20 {
526		compatible = "syna,rmi4-i2c";
527		reg = <0x20>;
528		pinctrl-names = "default";
529		pinctrl-0 = <&pinctrl_ts>;
530		interrupt-parent = <&gpio3>;
531		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
532		status = "disabled";
533
534		#address-cells = <1>;
535		#size-cells = <0>;
536
537		rmi4-f01@1 {
538			reg = <0x1>;
539			syna,nosleep-mode = <2>;
540		};
541
542		rmi4-f11@11 {
543			reg = <0x11>;
544			touchscreen-inverted-y;
545			touchscreen-swapped-x-y;
546			syna,sensor-type = <1>;
547		};
548	};
549
550};
551
552&ipu_di0_disp1 {
553	remote-endpoint = <&display_in>;
554};
555
 
 
 
 
556&ssi2 {
557	status = "okay";
558};
559
560&uart1 {
561	pinctrl-names = "default";
562	pinctrl-0 = <&pinctrl_uart1>;
563	status = "okay";
564};
565
566&uart2 {
567	pinctrl-names = "default";
568	pinctrl-0 = <&pinctrl_uart2>;
569	status = "okay";
570};
571
572&uart3 {
573	pinctrl-names = "default";
574	pinctrl-0 = <&pinctrl_uart3>;
575	status = "okay";
576
577	rave-sp {
578		compatible = "zii,rave-sp-rdu1";
579		current-speed = <38400>;
 
 
580
581		watchdog {
582			compatible = "zii,rave-sp-watchdog";
583		};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
584	};
585};
586
587&usbh1 {
588	pinctrl-names = "default";
589	pinctrl-0 = <&pinctrl_usbh1>;
590	dr_mode = "host";
591	phy_type = "ulpi";
592	fsl,usbphy = <&usbh1phy>;
593	disable-over-current;
 
594	vbus-supply = <&reg_5p0v_main>;
595	status = "okay";
596};
597
598&usbh2 {
599	pinctrl-names = "default";
600	pinctrl-0 = <&pinctrl_usbh2>;
601	dr_mode = "host";
602	phy_type = "ulpi";
603	fsl,usbphy = <&usbh2phy>;
604	disable-over-current;
605	vbus-supply = <&reg_5p0v_main>;
606	status = "okay";
607};
608
609&usbphy0 {
610	vcc-supply = <&vusb_reg>;
611};
612
613&usbotg {
614	dr_mode = "host";
615	disable-over-current;
616	phy_type = "utmi_wide";
617	vbus-supply = <&reg_5p0v_main>;
618	status = "okay";
619};
620
 
 
 
 
621&iomuxc {
622	pinctrl_ampgpio: ampgpiogrp {
 
 
 
623		fsl,pins = <
624			MX51_PAD_GPIO1_9__GPIO1_9		0x5e
625		>;
626	};
627
628	pinctrl_audmux: audmuxgrp {
629		fsl,pins = <
630			MX51_PAD_AUD3_BB_TXD__AUD3_TXD		0xa5
631			MX51_PAD_AUD3_BB_RXD__AUD3_RXD		0x85
632			MX51_PAD_AUD3_BB_CK__AUD3_TXC		0xa5
633			MX51_PAD_AUD3_BB_FS__AUD3_TXFS		0x85
634		>;
635	};
636
637	pinctrl_clk26mhz: clk26mhzgrp {
638		fsl,pins = <
639			MX51_PAD_DI1_PIN12__GPIO3_1		0x85
640		>;
641	};
642
643	pinctrl_ecspi1: ecspi1grp {
644		fsl,pins = <
645			MX51_PAD_CSPI1_MISO__ECSPI1_MISO	0x185
646			MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI	0x185
647			MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK	0x185
648			MX51_PAD_CSPI1_SS0__GPIO4_24		0x85
649			MX51_PAD_CSPI1_SS1__GPIO4_25		0x85
650		>;
651	};
652
653	pinctrl_esdhc1: esdhc1grp {
654		fsl,pins = <
655			MX51_PAD_SD1_CMD__SD1_CMD		0x400020d5
656			MX51_PAD_SD1_CLK__SD1_CLK		0x20d5
657			MX51_PAD_SD1_DATA0__SD1_DATA0		0x20d5
658			MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
659			MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
660			MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
661		>;
662	};
663
664	pinctrl_fec: fecgrp {
665		fsl,pins = <
666			MX51_PAD_EIM_EB2__FEC_MDIO		0x1f5
667			MX51_PAD_NANDF_D9__FEC_RDATA0		0x2180
668			MX51_PAD_EIM_EB3__FEC_RDATA1		0x180
669			MX51_PAD_EIM_CS2__FEC_RDATA2		0x180
670			MX51_PAD_EIM_CS3__FEC_RDATA3		0x180
671			MX51_PAD_EIM_CS4__FEC_RX_ER		0x180
672			MX51_PAD_NANDF_D11__FEC_RX_DV		0x2084
673			MX51_PAD_EIM_CS5__FEC_CRS		0x180
674			MX51_PAD_NANDF_RB2__FEC_COL		0x2180
675			MX51_PAD_NANDF_RB3__FEC_RX_CLK		0x2180
676			MX51_PAD_NANDF_CS2__FEC_TX_ER		0x2004
677			MX51_PAD_NANDF_CS3__FEC_MDC		0x2004
678			MX51_PAD_NANDF_D8__FEC_TDATA0		0x2180
679			MX51_PAD_NANDF_CS4__FEC_TDATA1		0x2004
680			MX51_PAD_NANDF_CS5__FEC_TDATA2		0x2004
681			MX51_PAD_NANDF_CS6__FEC_TDATA3		0x2004
682			MX51_PAD_DISP2_DAT9__FEC_TX_EN		0x2004
683			MX51_PAD_DISP2_DAT13__FEC_TX_CLK	0x2180
684			MX51_PAD_EIM_A20__GPIO2_14		0x85
685		>;
686	};
687
688	pinctrl_gpiospi0: gpiospi0grp {
689		fsl,pins = <
690			MX51_PAD_CSI2_D18__GPIO4_11		0x85
691			MX51_PAD_CSI2_D19__GPIO4_12		0x85
692			MX51_PAD_CSI2_HSYNC__GPIO4_14		0x85
693			MX51_PAD_CSI2_PIXCLK__GPIO4_15		0x85
694		>;
695	};
696
697	pinctrl_i2c2: i2c2grp {
698		fsl,pins = <
699			MX51_PAD_KEY_COL4__I2C2_SCL		0x400001ed
700			MX51_PAD_KEY_COL5__I2C2_SDA		0x400001ed
701		>;
702	};
703
704	pinctrl_ipu_disp1: ipudisp1grp {
705		fsl,pins = <
706			MX51_PAD_DISP1_DAT0__DISP1_DAT0		0x5
707			MX51_PAD_DISP1_DAT1__DISP1_DAT1		0x5
708			MX51_PAD_DISP1_DAT2__DISP1_DAT2		0x5
709			MX51_PAD_DISP1_DAT3__DISP1_DAT3		0x5
710			MX51_PAD_DISP1_DAT4__DISP1_DAT4		0x5
711			MX51_PAD_DISP1_DAT5__DISP1_DAT5		0x5
712			MX51_PAD_DISP1_DAT6__DISP1_DAT6		0x5
713			MX51_PAD_DISP1_DAT7__DISP1_DAT7		0x5
714			MX51_PAD_DISP1_DAT8__DISP1_DAT8		0x5
715			MX51_PAD_DISP1_DAT9__DISP1_DAT9		0x5
716			MX51_PAD_DISP1_DAT10__DISP1_DAT10	0x5
717			MX51_PAD_DISP1_DAT11__DISP1_DAT11	0x5
718			MX51_PAD_DISP1_DAT12__DISP1_DAT12	0x5
719			MX51_PAD_DISP1_DAT13__DISP1_DAT13	0x5
720			MX51_PAD_DISP1_DAT14__DISP1_DAT14	0x5
721			MX51_PAD_DISP1_DAT15__DISP1_DAT15	0x5
722			MX51_PAD_DISP1_DAT16__DISP1_DAT16	0x5
723			MX51_PAD_DISP1_DAT17__DISP1_DAT17	0x5
724			MX51_PAD_DISP1_DAT18__DISP1_DAT18	0x5
725			MX51_PAD_DISP1_DAT19__DISP1_DAT19	0x5
726			MX51_PAD_DISP1_DAT20__DISP1_DAT20	0x5
727			MX51_PAD_DISP1_DAT21__DISP1_DAT21	0x5
728			MX51_PAD_DISP1_DAT22__DISP1_DAT22	0x5
729			MX51_PAD_DISP1_DAT23__DISP1_DAT23	0x5
730			MX51_PAD_DI1_PIN2__DI1_PIN2		0x5
731			MX51_PAD_DI1_PIN3__DI1_PIN3		0x5
732			MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK	0x5
733		>;
734	};
735
736	pinctrl_panel: panelgrp {
737		fsl,pins = <
738			MX51_PAD_DI1_D0_CS__GPIO3_3		0x85
739		>;
740	};
741
742	pinctrl_pmic: pmicgrp {
743		fsl,pins = <
744			MX51_PAD_GPIO1_4__GPIO1_4		0x1e0
745			MX51_PAD_GPIO1_8__GPIO1_8		0x21e2
746		>;
747	};
748
749	pinctrl_sndgate26mhz: sndgate26mhzgrp {
750		fsl,pins = <
751			MX51_PAD_CSPI1_RDY__GPIO4_26		0x85
752		>;
753	};
754
755	pinctrl_swi2c: swi2cgrp {
756		fsl,pins = <
757			MX51_PAD_GPIO1_2__GPIO1_2		0xc5
758			MX51_PAD_DI1_D1_CS__GPIO3_4		0x400001f5
759		>;
760	};
761
762	pinctrl_swmdio: swmdiogrp {
763		fsl,pins = <
764			MX51_PAD_NANDF_D14__GPIO3_26		0x21e6
765			MX51_PAD_NANDF_D15__GPIO3_25		0x21e6
766		>;
767	};
768
769	pinctrl_ts: tsgrp {
770		fsl,pins = <
771			MX51_PAD_CSI1_D8__GPIO3_12		0x85
772			MX51_PAD_CSI1_D9__GPIO3_13		0x85
773		>;
774	};
775
776	pinctrl_uart1: uart1grp {
777		fsl,pins = <
778			MX51_PAD_UART1_RXD__UART1_RXD		0x1c5
779			MX51_PAD_UART1_TXD__UART1_TXD		0x1c5
780			MX51_PAD_UART1_RTS__UART1_RTS		0x1c4
781			MX51_PAD_UART1_CTS__UART1_CTS		0x1c4
782		>;
783	};
784
785	pinctrl_uart2: uart2grp {
786		fsl,pins = <
787			MX51_PAD_UART2_RXD__UART2_RXD		0xc5
788			MX51_PAD_UART2_TXD__UART2_TXD		0xc5
789		>;
790	};
791
792	pinctrl_uart3: uart3grp {
793		fsl,pins = <
794			MX51_PAD_EIM_D25__UART3_RXD		0x1c5
795			MX51_PAD_EIM_D26__UART3_TXD		0x1c5
796		>;
797	};
798
799	pinctrl_usbgate26mhz: usbgate26mhzgrp {
800		fsl,pins = <
801			MX51_PAD_DISP2_DAT6__GPIO1_19		0x85
802		>;
803	};
804
805	pinctrl_usbh1: usbh1grp {
806		fsl,pins = <
807			MX51_PAD_USBH1_STP__USBH1_STP		0x0
808			MX51_PAD_USBH1_CLK__USBH1_CLK		0x0
809			MX51_PAD_USBH1_DIR__USBH1_DIR		0x0
810			MX51_PAD_USBH1_NXT__USBH1_NXT		0x0
811			MX51_PAD_USBH1_DATA0__USBH1_DATA0	0x0
812			MX51_PAD_USBH1_DATA1__USBH1_DATA1	0x0
813			MX51_PAD_USBH1_DATA2__USBH1_DATA2	0x0
814			MX51_PAD_USBH1_DATA3__USBH1_DATA3	0x0
815			MX51_PAD_USBH1_DATA4__USBH1_DATA4	0x0
816			MX51_PAD_USBH1_DATA5__USBH1_DATA5	0x0
817			MX51_PAD_USBH1_DATA6__USBH1_DATA6	0x0
818			MX51_PAD_USBH1_DATA7__USBH1_DATA7	0x0
819		>;
820	};
821
822	pinctrl_usbh1phy: usbh1phygrp {
823		fsl,pins = <
824			MX51_PAD_NANDF_D0__GPIO4_8		0x85
825		>;
826	};
827
828	pinctrl_usbh2: usbh2grp {
829		fsl,pins = <
830			MX51_PAD_EIM_A26__USBH2_STP		0x0
831			MX51_PAD_EIM_A24__USBH2_CLK		0x0
832			MX51_PAD_EIM_A25__USBH2_DIR		0x0
833			MX51_PAD_EIM_A27__USBH2_NXT		0x0
834			MX51_PAD_EIM_D16__USBH2_DATA0		0x0
835			MX51_PAD_EIM_D17__USBH2_DATA1		0x0
836			MX51_PAD_EIM_D18__USBH2_DATA2		0x0
837			MX51_PAD_EIM_D19__USBH2_DATA3		0x0
838			MX51_PAD_EIM_D20__USBH2_DATA4		0x0
839			MX51_PAD_EIM_D21__USBH2_DATA5		0x0
840			MX51_PAD_EIM_D22__USBH2_DATA6		0x0
841			MX51_PAD_EIM_D23__USBH2_DATA7		0x0
842		>;
843	};
844
845	pinctrl_usbh2phy: usbh2phygrp {
846		fsl,pins = <
847			MX51_PAD_NANDF_D1__GPIO4_7		0x85
848		>;
849	};
850};
v5.4
  1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2/*
  3 * Copyright (C) 2017 Zodiac Inflight Innovations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  4 */
  5
  6/dts-v1/;
  7#include "imx51.dtsi"
  8#include <dt-bindings/sound/fsl-imx-audmux.h>
  9
 10/ {
 11	model = "ZII RDU1 Board";
 12	compatible = "zii,imx51-rdu1", "fsl,imx51";
 13
 14	chosen {
 15		stdout-path = &uart1;
 16	};
 17
 18	/* Will be filled by the bootloader */
 19	memory@90000000 {
 20		device_type = "memory";
 21		reg = <0x90000000 0>;
 22	};
 23
 24	aliases {
 25		mdio-gpio0 = &mdio_gpio;
 26		rtc0 = &ds1341;
 27	};
 28
 29	clk_26M_osc: 26M_osc {
 30		compatible = "fixed-clock";
 31		#clock-cells = <0>;
 32		clock-frequency = <26000000>;
 33	};
 34
 35	clk_26M_osc_gate: 26M_gate {
 36		compatible = "gpio-gate-clock";
 37		pinctrl-names = "default";
 38		pinctrl-0 = <&pinctrl_clk26mhz>;
 39		clocks = <&clk_26M_osc>;
 40		#clock-cells = <0>;
 41		enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
 42	};
 43
 44	clk_26M_usb: usbhost_gate {
 45		compatible = "gpio-gate-clock";
 46		pinctrl-names = "default";
 47		pinctrl-0 = <&pinctrl_usbgate26mhz>;
 48		clocks = <&clk_26M_osc_gate>;
 49		#clock-cells = <0>;
 50		enable-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
 51	};
 52
 53	clk_26M_snd: snd_gate {
 54		compatible = "gpio-gate-clock";
 55		pinctrl-names = "default";
 56		pinctrl-0 = <&pinctrl_sndgate26mhz>;
 57		clocks = <&clk_26M_osc_gate>;
 58		#clock-cells = <0>;
 59		enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
 60	};
 61
 62	reg_5p0v_main: regulator-5p0v-main {
 63		compatible = "regulator-fixed";
 64		regulator-name = "5V_MAIN";
 65		regulator-min-microvolt = <5000000>;
 66		regulator-max-microvolt = <5000000>;
 67		regulator-always-on;
 68	};
 69
 70	reg_3p3v: regulator-3p3v {
 71		compatible = "regulator-fixed";
 72		regulator-name = "3.3V";
 73		regulator-min-microvolt = <3300000>;
 74		regulator-max-microvolt = <3300000>;
 75		regulator-always-on;
 76	};
 77
 78	disp0 {
 79		compatible = "fsl,imx-parallel-display";
 80		pinctrl-names = "default";
 81		pinctrl-0 = <&pinctrl_ipu_disp1>;
 82
 83		#address-cells = <1>;
 84		#size-cells = <0>;
 85
 86		port@0 {
 87			reg = <0>;
 88
 89			display_in: endpoint {
 90				remote-endpoint = <&ipu_di0_disp1>;
 91			};
 92		};
 93
 94		port@1 {
 95			reg = <1>;
 96
 97			display_out: endpoint {
 98				remote-endpoint = <&panel_in>;
 99			};
100		};
101	};
102
103	panel {
104		/* no compatible here, bootloader will patch in correct one */
105		pinctrl-names = "default";
106		pinctrl-0 = <&pinctrl_panel>;
107		power-supply = <&reg_3p3v>;
108		enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
109		status = "disabled";
110
111		port {
112			panel_in: endpoint {
113				remote-endpoint = <&display_out>;
114			};
115		};
116	};
117
118	i2c_gpio: i2c-gpio {
119		compatible = "i2c-gpio";
120		pinctrl-names = "default";
121		pinctrl-0 = <&pinctrl_swi2c>;
122		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>, /* sda */
123			<&gpio3 4 GPIO_ACTIVE_HIGH>; /* scl */
124		i2c-gpio,delay-us = <50>;
125		status = "okay";
126
127		#address-cells = <1>;
128		#size-cells = <0>;
129
130		sgtl5000: codec@a {
131			compatible = "fsl,sgtl5000";
132			reg = <0x0a>;
133			clocks = <&clk_26M_snd>;
134			VDDA-supply = <&vdig_reg>;
135			VDDIO-supply = <&vvideo_reg>;
136			#sound-dai-cells = <0>;
137		};
138	};
139
140	spi_gpio: spi-gpio {
141		compatible = "spi-gpio";
142		#address-cells = <1>;
143		#size-cells = <0>;
144		pinctrl-names = "default";
145		pinctrl-0 = <&pinctrl_gpiospi0>;
146		status = "okay";
147
148		gpio-sck = <&gpio4 15 GPIO_ACTIVE_HIGH>;
149		gpio-mosi = <&gpio4 12 GPIO_ACTIVE_HIGH>;
150		gpio-miso = <&gpio4 11 GPIO_ACTIVE_HIGH>;
151		num-chipselects = <1>;
152		cs-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
153
154		eeprom@0 {
155			compatible = "eeprom-93xx46";
156			reg = <0>;
157			spi-max-frequency = <1000000>;
158			spi-cs-high;
159			data-size = <8>;
160		};
161	};
162
163	mdio_gpio: mdio-gpio {
164		compatible = "virtual,mdio-gpio";
165		pinctrl-names = "default";
166		pinctrl-0 = <&pinctrl_swmdio>;
167		gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>, /* mdc */
168			<&gpio3 25 GPIO_ACTIVE_HIGH>; /* mdio */
169
170		#address-cells = <1>;
171		#size-cells = <0>;
172
173		switch@0 {
174			compatible = "marvell,mv88e6085";
 
 
175			reg = <0>;
176			dsa,member = <0 0>;
177
178			ports {
179				#address-cells = <1>;
180				#size-cells = <0>;
181
182				port@0 {
183					reg = <0>;
184					label = "cpu";
185					ethernet = <&fec>;
186
187					fixed-link {
188						speed = <100>;
189						full-duplex;
190					};
191				};
192
193				port@1 {
194					reg = <1>;
195					label = "netaux";
196				};
197
198				port@3 {
199					reg = <3>;
200					label = "netright";
201				};
202
203				port@4 {
204					reg = <4>;
205					label = "netleft";
206				};
207			};
208		};
209	};
210
211	sound {
212		compatible = "simple-audio-card";
213		simple-audio-card,name = "Front";
214		simple-audio-card,format = "i2s";
215		simple-audio-card,bitclock-master = <&sound_codec>;
216		simple-audio-card,frame-master = <&sound_codec>;
217		simple-audio-card,widgets =
218			"Headphone", "Headphone Jack";
219		simple-audio-card,routing =
220			"Headphone Jack", "HPLEFT",
221			"Headphone Jack", "HPRIGHT";
222		simple-audio-card,aux-devs = <&hpa1>;
223
224		sound_cpu: simple-audio-card,cpu {
225			sound-dai = <&ssi2>;
226		};
227
228		sound_codec: simple-audio-card,codec {
229			sound-dai = <&sgtl5000>;
230			clocks = <&clk_26M_snd>;
231		};
232	};
233
234	usbh1phy: usbphy1 {
235		compatible = "usb-nop-xceiv";
236		pinctrl-names = "default";
237		pinctrl-0 = <&pinctrl_usbh1phy>;
238		clocks = <&clk_26M_usb>;
239		clock-names = "main_clk";
240		reset-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
241		vcc-supply = <&vusb_reg>;
242		#phy-cells = <0>;
243	};
244
245	usbh2phy: usbphy2 {
246		compatible = "usb-nop-xceiv";
247		pinctrl-names = "default";
248		pinctrl-0 = <&pinctrl_usbh2phy>;
249		clocks = <&clk_26M_usb>;
250		clock-names = "main_clk";
251		reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
252		vcc-supply = <&vusb_reg>;
253		#phy-cells = <0>;
254	};
255};
256
257&audmux {
258	pinctrl-names = "default";
259	pinctrl-0 = <&pinctrl_audmux>;
260	status = "okay";
261
262	ssi2 {
263		fsl,audmux-port = <1>;
264		fsl,port-config = <
265			(IMX_AUDMUX_V2_PTCR_SYN |
266			 IMX_AUDMUX_V2_PTCR_TFSEL(2) |
267			 IMX_AUDMUX_V2_PTCR_TCSEL(2) |
268			 IMX_AUDMUX_V2_PTCR_TFSDIR |
269			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
270			IMX_AUDMUX_V2_PDCR_RXDSEL(2)
271		>;
272	};
273
274	aud3 {
275		fsl,audmux-port = <2>;
276		fsl,port-config = <
277			IMX_AUDMUX_V2_PTCR_SYN
278			IMX_AUDMUX_V2_PDCR_RXDSEL(1)
279		>;
280	};
281};
282
283&cpu {
284	cpu-supply = <&sw1_reg>;
285};
286
287&ecspi1 {
288	pinctrl-names = "default";
289	pinctrl-0 = <&pinctrl_ecspi1>;
290	cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
291		   <&gpio4 25 GPIO_ACTIVE_LOW>;
292	status = "okay";
293
294	pmic@0 {
295		compatible = "fsl,mc13892";
296		pinctrl-names = "default";
297		pinctrl-0 = <&pinctrl_pmic>;
298		spi-max-frequency = <6000000>;
299		spi-cs-high;
300		reg = <0>;
301		interrupt-parent = <&gpio1>;
302		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
303		fsl,mc13xxx-uses-adc;
304
305		regulators {
306			sw1_reg: sw1 {
307				regulator-min-microvolt = <600000>;
308				regulator-max-microvolt = <1375000>;
309				regulator-boot-on;
310				regulator-always-on;
311			};
312
313			sw2_reg: sw2 {
314				regulator-min-microvolt = <900000>;
315				regulator-max-microvolt = <1850000>;
316				regulator-boot-on;
317				regulator-always-on;
318			};
319
320			sw3_reg: sw3 {
321				regulator-min-microvolt = <1100000>;
322				regulator-max-microvolt = <1850000>;
323				regulator-boot-on;
324				regulator-always-on;
325			};
326
327			sw4_reg: sw4 {
328				regulator-min-microvolt = <1100000>;
329				regulator-max-microvolt = <1850000>;
330				regulator-boot-on;
331				regulator-always-on;
332			};
333
334			vpll_reg: vpll {
335				regulator-min-microvolt = <1050000>;
336				regulator-max-microvolt = <1800000>;
337				regulator-boot-on;
338				regulator-always-on;
339			};
340
341			vdig_reg: vdig {
342				regulator-min-microvolt = <1650000>;
343				regulator-max-microvolt = <1650000>;
344				regulator-boot-on;
345			};
346
347			vsd_reg: vsd {
348				regulator-min-microvolt = <1800000>;
349				regulator-max-microvolt = <3150000>;
350			};
351
352			vusb_reg: vusb {
353				regulator-always-on;
354			};
355
356			vusb2_reg: vusb2 {
357				regulator-min-microvolt = <2400000>;
358				regulator-max-microvolt = <2775000>;
359				regulator-boot-on;
360				regulator-always-on;
361			};
362
363			vvideo_reg: vvideo {
364				regulator-min-microvolt = <2775000>;
365				regulator-max-microvolt = <2775000>;
366			};
367
368			vaudio_reg: vaudio {
369				regulator-min-microvolt = <2300000>;
370				regulator-max-microvolt = <3000000>;
371			};
372
373			vcam_reg: vcam {
374				regulator-min-microvolt = <2500000>;
375				regulator-max-microvolt = <3000000>;
376			};
377
378			vgen1_reg: vgen1 {
379				regulator-min-microvolt = <1200000>;
380				regulator-max-microvolt = <1200000>;
381			};
382
383			vgen2_reg: vgen2 {
384				regulator-min-microvolt = <1200000>;
385				regulator-max-microvolt = <3150000>;
386				regulator-always-on;
387			};
388
389			vgen3_reg: vgen3 {
390				regulator-min-microvolt = <1800000>;
391				regulator-max-microvolt = <2900000>;
392				regulator-always-on;
393			};
394		};
395
396		leds {
397			#address-cells = <1>;
398			#size-cells = <0>;
399			led-control = <0x0 0x0 0x3f83f8 0x0>;
400
401			sysled0@3 {
402				reg = <3>;
403				label = "system:green:status";
404				linux,default-trigger = "default-on";
405			};
406
407			sysled1@4 {
408				reg = <4>;
409				label = "system:green:act";
410				linux,default-trigger = "heartbeat";
411			};
412		};
413	};
414
415	flash@1 {
416		#address-cells = <1>;
417		#size-cells = <1>;
418		compatible = "atmel,at45db642d", "atmel,at45", "atmel,dataflash";
419		spi-max-frequency = <25000000>;
420		reg = <1>;
421	};
422};
423
424&esdhc1 {
425	pinctrl-names = "default";
426	pinctrl-0 = <&pinctrl_esdhc1>;
427	bus-width = <4>;
428	no-1-8-v;
429	non-removable;
430	no-sdio;
431	no-sd;
432	status = "okay";
433};
434
435&fec {
436	pinctrl-names = "default";
437	pinctrl-0 = <&pinctrl_fec>;
438	phy-mode = "mii";
439	phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
440	phy-supply = <&vgen3_reg>;
441	status = "okay";
442};
443
444&gpio1 {
445	gpio-line-names = "", "", "", "",
446			  "", "", "", "",
447			  "", "hp-amp-shutdown-b", "", "",
448			  "", "", "", "",
449			  "", "", "", "",
450			  "", "", "", "",
451			  "", "", "", "",
452			  "", "", "", "";
453
454	unused-sd3-wp-gpio {
455		/*
456		 * See pinctrl_esdhc1 below for more details on this
457		 */
458		gpio-hog;
459		gpios = <1 GPIO_ACTIVE_HIGH>;
460		output-high;
461	};
462};
463
464&i2c2 {
465	pinctrl-names = "default";
466	pinctrl-0 = <&pinctrl_i2c2>;
467	status = "okay";
468
 
 
 
 
 
 
469	hpa1: amp@60 {
470		compatible = "ti,tpa6130a2";
471		reg = <0x60>;
 
 
 
472		Vdd-supply = <&reg_3p3v>;
473	};
474
475	ds1341: rtc@68 {
476		compatible = "dallas,ds1341";
477		reg = <0x68>;
478	};
479
480	/* touch nodes default disabled, bootloader will enable the right one */
481
482	touchscreen@4b {
483		compatible = "atmel,maxtouch";
484		reg = <0x4b>;
485		pinctrl-names = "default";
486		pinctrl-0 = <&pinctrl_ts>;
487		interrupt-parent = <&gpio3>;
488		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
489		status = "disabled";
490	};
491
492	touchscreen@4c {
493		compatible = "atmel,maxtouch";
494		reg = <0x4c>;
495		pinctrl-names = "default";
496		pinctrl-0 = <&pinctrl_ts>;
497		interrupt-parent = <&gpio3>;
498		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
499		status = "disabled";
500	};
501
502	touchscreen@20 {
503		compatible = "syna,rmi4-i2c";
504		reg = <0x20>;
505		pinctrl-names = "default";
506		pinctrl-0 = <&pinctrl_ts>;
507		interrupt-parent = <&gpio3>;
508		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
509		status = "disabled";
510
511		#address-cells = <1>;
512		#size-cells = <0>;
513
514		rmi4-f01@1 {
515			reg = <0x1>;
516			syna,nosleep-mode = <2>;
517		};
518
519		rmi4-f11@11 {
520			reg = <0x11>;
521			touchscreen-inverted-x;
522			touchscreen-swapped-x-y;
523			syna,sensor-type = <1>;
524		};
525	};
526
527};
528
529&ipu_di0_disp1 {
530	remote-endpoint = <&display_in>;
531};
532
533&pmu {
534	secure-reg-access;
535};
536
537&ssi2 {
538	status = "okay";
539};
540
541&uart1 {
542	pinctrl-names = "default";
543	pinctrl-0 = <&pinctrl_uart1>;
544	status = "okay";
545};
546
547&uart2 {
548	pinctrl-names = "default";
549	pinctrl-0 = <&pinctrl_uart2>;
550	status = "okay";
551};
552
553&uart3 {
554	pinctrl-names = "default";
555	pinctrl-0 = <&pinctrl_uart3>;
556	status = "okay";
557
558	rave-sp {
559		compatible = "zii,rave-sp-rdu1";
560		current-speed = <38400>;
561		#address-cells = <1>;
562		#size-cells = <1>;
563
564		watchdog {
565			compatible = "zii,rave-sp-watchdog";
566		};
567
568		backlight {
569			compatible = "zii,rave-sp-backlight";
570		};
571
572		pwrbutton {
573			compatible = "zii,rave-sp-pwrbutton";
574		};
575
576		eeprom@a3 {
577			compatible = "zii,rave-sp-eeprom";
578			reg = <0xa3 0x2000>;
579			#address-cells = <1>;
580			#size-cells = <1>;
581			zii,eeprom-name = "dds-eeprom";
582		};
583
584		eeprom@a4 {
585			compatible = "zii,rave-sp-eeprom";
586			reg = <0xa4 0x4000>;
587			#address-cells = <1>;
588			#size-cells = <1>;
589			zii,eeprom-name = "main-eeprom";
590		};
591
592		eeprom@ae {
593			compatible = "zii,rave-sp-eeprom";
594			reg = <0xae 0x200>;
595			zii,eeprom-name = "switch-eeprom";
596			/*
597			 * Not all RDU1s have this functionality, so we
598			 * rely on the bootloader to enable this
599			 */
600			status = "disabled";
601		};
602	};
603};
604
605&usbh1 {
606	pinctrl-names = "default";
607	pinctrl-0 = <&pinctrl_usbh1>;
608	dr_mode = "host";
609	phy_type = "ulpi";
610	fsl,usbphy = <&usbh1phy>;
611	disable-over-current;
612	maximum-speed = "full-speed";
613	vbus-supply = <&reg_5p0v_main>;
614	status = "okay";
615};
616
617&usbh2 {
618	pinctrl-names = "default";
619	pinctrl-0 = <&pinctrl_usbh2>;
620	dr_mode = "host";
621	phy_type = "ulpi";
622	fsl,usbphy = <&usbh2phy>;
623	disable-over-current;
624	vbus-supply = <&reg_5p0v_main>;
625	status = "okay";
626};
627
628&usbphy0 {
629	vcc-supply = <&vusb_reg>;
630};
631
632&usbotg {
633	dr_mode = "host";
634	disable-over-current;
635	phy_type = "utmi_wide";
636	vbus-supply = <&reg_5p0v_main>;
637	status = "okay";
638};
639
640&wdog1 {
641	status = "disabled";
642};
643
644&iomuxc {
645	pinctrl-names = "default";
646	pinctrl-0 = <&pinctrl_hog>;
647
648	pinctrl_hog: hoggrp {
649		fsl,pins = <
650			MX51_PAD_GPIO1_9__GPIO1_9		0x5e
651		>;
652	};
653
654	pinctrl_audmux: audmuxgrp {
655		fsl,pins = <
656			MX51_PAD_AUD3_BB_TXD__AUD3_TXD		0xa5
657			MX51_PAD_AUD3_BB_RXD__AUD3_RXD		0x85
658			MX51_PAD_AUD3_BB_CK__AUD3_TXC		0xa5
659			MX51_PAD_AUD3_BB_FS__AUD3_TXFS		0x85
660		>;
661	};
662
663	pinctrl_clk26mhz: clk26mhzgrp {
664		fsl,pins = <
665			MX51_PAD_DI1_PIN12__GPIO3_1		0x85
666		>;
667	};
668
669	pinctrl_ecspi1: ecspi1grp {
670		fsl,pins = <
671			MX51_PAD_CSPI1_MISO__ECSPI1_MISO	0x185
672			MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI	0x185
673			MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK	0x185
674			MX51_PAD_CSPI1_SS0__GPIO4_24		0x85
675			MX51_PAD_CSPI1_SS1__GPIO4_25		0x85
676		>;
677	};
678
679	pinctrl_esdhc1: esdhc1grp {
680		fsl,pins = <
681			MX51_PAD_SD1_CMD__SD1_CMD		0x400020d5
682			MX51_PAD_SD1_CLK__SD1_CLK		0x20d5
683			MX51_PAD_SD1_DATA0__SD1_DATA0		0x20d5
684			MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
685			MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
686			MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
687			/*
688			 * GPIO1_1 is not directly used by eSDHC1 in
689			 * any capacity, but earlier versions of RDU1
690			 * used that pin as WP GPIO for eSDHC3 and
691			 * because of that that pad has an external
692			 * pull-up resistor. This is problematic
693			 * because out of reset the pad is configured
694			 * as ALT0 which serves as SD1_WP, which, when
695			 * pulled high by and external pull-up, will
696			 * inhibit execution of any write request to
697			 * attached eMMC device.
698			 *
699			 * To avoid this problem we configure the pad
700			 * to ALT1/GPIO and avoid driving SD1_WP
701			 * signal high.
702			 */
703			MX51_PAD_GPIO1_1__GPIO1_1		0x0000
704		>;
705	};
706
707	pinctrl_fec: fecgrp {
708		fsl,pins = <
709			MX51_PAD_EIM_EB2__FEC_MDIO		0x1f5
710			MX51_PAD_NANDF_D9__FEC_RDATA0		0x2180
711			MX51_PAD_EIM_EB3__FEC_RDATA1		0x180
712			MX51_PAD_EIM_CS2__FEC_RDATA2		0x180
713			MX51_PAD_EIM_CS3__FEC_RDATA3		0x180
714			MX51_PAD_EIM_CS4__FEC_RX_ER		0x180
715			MX51_PAD_NANDF_D11__FEC_RX_DV		0x2084
716			MX51_PAD_EIM_CS5__FEC_CRS		0x180
717			MX51_PAD_NANDF_RB2__FEC_COL		0x2180
718			MX51_PAD_NANDF_RB3__FEC_RX_CLK		0x2180
719			MX51_PAD_NANDF_CS2__FEC_TX_ER		0x2004
720			MX51_PAD_NANDF_CS3__FEC_MDC		0x2004
721			MX51_PAD_NANDF_D8__FEC_TDATA0		0x2180
722			MX51_PAD_NANDF_CS4__FEC_TDATA1		0x2004
723			MX51_PAD_NANDF_CS5__FEC_TDATA2		0x2004
724			MX51_PAD_NANDF_CS6__FEC_TDATA3		0x2004
725			MX51_PAD_DISP2_DAT9__FEC_TX_EN		0x2004
726			MX51_PAD_DISP2_DAT13__FEC_TX_CLK	0x2180
727			MX51_PAD_EIM_A20__GPIO2_14		0x85
728		>;
729	};
730
731	pinctrl_gpiospi0: gpiospi0grp {
732		fsl,pins = <
733			MX51_PAD_CSI2_D18__GPIO4_11		0x85
734			MX51_PAD_CSI2_D19__GPIO4_12		0x85
735			MX51_PAD_CSI2_HSYNC__GPIO4_14		0x85
736			MX51_PAD_CSI2_PIXCLK__GPIO4_15		0x85
737		>;
738	};
739
740	pinctrl_i2c2: i2c2grp {
741		fsl,pins = <
742			MX51_PAD_KEY_COL4__I2C2_SCL		0x400001ed
743			MX51_PAD_KEY_COL5__I2C2_SDA		0x400001ed
744		>;
745	};
746
747	pinctrl_ipu_disp1: ipudisp1grp {
748		fsl,pins = <
749			MX51_PAD_DISP1_DAT0__DISP1_DAT0		0x5
750			MX51_PAD_DISP1_DAT1__DISP1_DAT1		0x5
751			MX51_PAD_DISP1_DAT2__DISP1_DAT2		0x5
752			MX51_PAD_DISP1_DAT3__DISP1_DAT3		0x5
753			MX51_PAD_DISP1_DAT4__DISP1_DAT4		0x5
754			MX51_PAD_DISP1_DAT5__DISP1_DAT5		0x5
755			MX51_PAD_DISP1_DAT6__DISP1_DAT6		0x5
756			MX51_PAD_DISP1_DAT7__DISP1_DAT7		0x5
757			MX51_PAD_DISP1_DAT8__DISP1_DAT8		0x5
758			MX51_PAD_DISP1_DAT9__DISP1_DAT9		0x5
759			MX51_PAD_DISP1_DAT10__DISP1_DAT10	0x5
760			MX51_PAD_DISP1_DAT11__DISP1_DAT11	0x5
761			MX51_PAD_DISP1_DAT12__DISP1_DAT12	0x5
762			MX51_PAD_DISP1_DAT13__DISP1_DAT13	0x5
763			MX51_PAD_DISP1_DAT14__DISP1_DAT14	0x5
764			MX51_PAD_DISP1_DAT15__DISP1_DAT15	0x5
765			MX51_PAD_DISP1_DAT16__DISP1_DAT16	0x5
766			MX51_PAD_DISP1_DAT17__DISP1_DAT17	0x5
767			MX51_PAD_DISP1_DAT18__DISP1_DAT18	0x5
768			MX51_PAD_DISP1_DAT19__DISP1_DAT19	0x5
769			MX51_PAD_DISP1_DAT20__DISP1_DAT20	0x5
770			MX51_PAD_DISP1_DAT21__DISP1_DAT21	0x5
771			MX51_PAD_DISP1_DAT22__DISP1_DAT22	0x5
772			MX51_PAD_DISP1_DAT23__DISP1_DAT23	0x5
773			MX51_PAD_DI1_PIN2__DI1_PIN2		0x5
774			MX51_PAD_DI1_PIN3__DI1_PIN3		0x5
775			MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK	0x5
776		>;
777	};
778
779	pinctrl_panel: panelgrp {
780		fsl,pins = <
781			MX51_PAD_DI1_D0_CS__GPIO3_3		0x85
782		>;
783	};
784
785	pinctrl_pmic: pmicgrp {
786		fsl,pins = <
787			MX51_PAD_GPIO1_4__GPIO1_4		0x1e0
788			MX51_PAD_GPIO1_8__GPIO1_8		0x21e2
789		>;
790	};
791
792	pinctrl_sndgate26mhz: sndgate26mhzgrp {
793		fsl,pins = <
794			MX51_PAD_CSPI1_RDY__GPIO4_26		0x85
795		>;
796	};
797
798	pinctrl_swi2c: swi2cgrp {
799		fsl,pins = <
800			MX51_PAD_GPIO1_2__GPIO1_2		0xc5
801			MX51_PAD_DI1_D1_CS__GPIO3_4		0x400001f5
802		>;
803	};
804
805	pinctrl_swmdio: swmdiogrp {
806		fsl,pins = <
807			MX51_PAD_NANDF_D14__GPIO3_26		0x21e6
808			MX51_PAD_NANDF_D15__GPIO3_25		0x21e6
809		>;
810	};
811
812	pinctrl_ts: tsgrp {
813		fsl,pins = <
814			MX51_PAD_CSI1_D8__GPIO3_12		0x04
815			MX51_PAD_CSI1_D9__GPIO3_13		0x85
816		>;
817	};
818
819	pinctrl_uart1: uart1grp {
820		fsl,pins = <
821			MX51_PAD_UART1_RXD__UART1_RXD		0x1c5
822			MX51_PAD_UART1_TXD__UART1_TXD		0x1c5
823			MX51_PAD_UART1_RTS__UART1_RTS		0x1c4
824			MX51_PAD_UART1_CTS__UART1_CTS		0x1c4
825		>;
826	};
827
828	pinctrl_uart2: uart2grp {
829		fsl,pins = <
830			MX51_PAD_UART2_RXD__UART2_RXD		0xc5
831			MX51_PAD_UART2_TXD__UART2_TXD		0xc5
832		>;
833	};
834
835	pinctrl_uart3: uart3grp {
836		fsl,pins = <
837			MX51_PAD_EIM_D25__UART3_RXD		0x1c5
838			MX51_PAD_EIM_D26__UART3_TXD		0x1c5
839		>;
840	};
841
842	pinctrl_usbgate26mhz: usbgate26mhzgrp {
843		fsl,pins = <
844			MX51_PAD_DISP2_DAT6__GPIO1_19		0x85
845		>;
846	};
847
848	pinctrl_usbh1: usbh1grp {
849		fsl,pins = <
850			MX51_PAD_USBH1_STP__USBH1_STP		0x0
851			MX51_PAD_USBH1_CLK__USBH1_CLK		0x0
852			MX51_PAD_USBH1_DIR__USBH1_DIR		0x0
853			MX51_PAD_USBH1_NXT__USBH1_NXT		0x0
854			MX51_PAD_USBH1_DATA0__USBH1_DATA0	0x0
855			MX51_PAD_USBH1_DATA1__USBH1_DATA1	0x0
856			MX51_PAD_USBH1_DATA2__USBH1_DATA2	0x0
857			MX51_PAD_USBH1_DATA3__USBH1_DATA3	0x0
858			MX51_PAD_USBH1_DATA4__USBH1_DATA4	0x0
859			MX51_PAD_USBH1_DATA5__USBH1_DATA5	0x0
860			MX51_PAD_USBH1_DATA6__USBH1_DATA6	0x0
861			MX51_PAD_USBH1_DATA7__USBH1_DATA7	0x0
862		>;
863	};
864
865	pinctrl_usbh1phy: usbh1phygrp {
866		fsl,pins = <
867			MX51_PAD_NANDF_D0__GPIO4_8		0x85
868		>;
869	};
870
871	pinctrl_usbh2: usbh2grp {
872		fsl,pins = <
873			MX51_PAD_EIM_A26__USBH2_STP		0x0
874			MX51_PAD_EIM_A24__USBH2_CLK		0x0
875			MX51_PAD_EIM_A25__USBH2_DIR		0x0
876			MX51_PAD_EIM_A27__USBH2_NXT		0x0
877			MX51_PAD_EIM_D16__USBH2_DATA0		0x0
878			MX51_PAD_EIM_D17__USBH2_DATA1		0x0
879			MX51_PAD_EIM_D18__USBH2_DATA2		0x0
880			MX51_PAD_EIM_D19__USBH2_DATA3		0x0
881			MX51_PAD_EIM_D20__USBH2_DATA4		0x0
882			MX51_PAD_EIM_D21__USBH2_DATA5		0x0
883			MX51_PAD_EIM_D22__USBH2_DATA6		0x0
884			MX51_PAD_EIM_D23__USBH2_DATA7		0x0
885		>;
886	};
887
888	pinctrl_usbh2phy: usbh2phygrp {
889		fsl,pins = <
890			MX51_PAD_NANDF_D1__GPIO4_7		0x85
891		>;
892	};
893};