1279377Simp/*
2279377Simp * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
3279377Simp * Copyright 2013 Lothar Wa��mann <LW@KARO-electronics.de>
4279377Simp *
5279377Simp * The code contained herein is licensed under the GNU General Public
6279377Simp * License. You may obtain a copy of the GNU General Public License
7279377Simp * Version 2 at the following locations:
8279377Simp *
9279377Simp * http://www.opensource.org/licenses/gpl-license.html
10279377Simp * http://www.gnu.org/copyleft/gpl.html
11279377Simp */
12279377Simp
13279377Simp/dts-v1/;
14279377Simp#include "imx28.dtsi"
15279377Simp#include <dt-bindings/gpio/gpio.h>
16295436Sandrew#include <dt-bindings/interrupt-controller/irq.h>
17279377Simp
18279377Simp/ {
19279377Simp	model = "Ka-Ro electronics TX28 module";
20279377Simp	compatible = "karo,tx28", "fsl,imx28";
21279377Simp
22279377Simp	aliases {
23279377Simp		can0 = &can0;
24279377Simp		can1 = &can1;
25279377Simp		display = &display0;
26279377Simp		ds1339 = &ds1339;
27279377Simp		gpio5 = &gpio5;
28279377Simp		lcdif = &lcdif;
29279377Simp		lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
30279377Simp		lcdif_24bit_pins = &lcdif_24bit_pins_a;
31279377Simp		reg_can_xcvr = &reg_can_xcvr;
32279377Simp		spi_gpio = &spi_gpio;
33279377Simp		spi_mxs = &ssp3;
34279377Simp		stk5led = &user_led;
35279377Simp		usbotg = &usb0;
36279377Simp	};
37279377Simp
38279377Simp	memory {
39279377Simp		reg = <0 0>; /* will be filled in by U-Boot */
40279377Simp	};
41279377Simp
42279377Simp	onewire {
43279377Simp		compatible = "w1-gpio";
44279377Simp		gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
45279377Simp		status = "disabled";
46279377Simp	};
47279377Simp
48279377Simp	regulators {
49279377Simp		compatible = "simple-bus";
50279377Simp		#address-cells = <1>;
51279377Simp		#size-cells = <0>;
52279377Simp
53279377Simp		reg_usb0_vbus: regulator@0 {
54279377Simp			compatible = "regulator-fixed";
55279377Simp			reg = <0>;
56279377Simp			regulator-name = "usb0_vbus";
57279377Simp			regulator-min-microvolt = <5000000>;
58279377Simp			regulator-max-microvolt = <5000000>;
59279377Simp			gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
60279377Simp			enable-active-high;
61279377Simp		};
62279377Simp
63279377Simp		reg_usb1_vbus: regulator@1 {
64279377Simp			compatible = "regulator-fixed";
65279377Simp			reg = <1>;
66279377Simp			regulator-name = "usb1_vbus";
67279377Simp			regulator-min-microvolt = <5000000>;
68279377Simp			regulator-max-microvolt = <5000000>;
69279377Simp			gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
70279377Simp			enable-active-high;
71279377Simp		};
72279377Simp
73279377Simp		reg_2p5v: regulator@2 {
74279377Simp			compatible = "regulator-fixed";
75279377Simp			reg = <2>;
76279377Simp			regulator-name = "2P5V";
77279377Simp			regulator-min-microvolt = <2500000>;
78279377Simp			regulator-max-microvolt = <2500000>;
79279377Simp			regulator-always-on;
80279377Simp		};
81279377Simp
82279377Simp		reg_3p3v: regulator@3 {
83279377Simp			compatible = "regulator-fixed";
84279377Simp			reg = <3>;
85279377Simp			regulator-name = "3P3V";
86279377Simp			regulator-min-microvolt = <3300000>;
87279377Simp			regulator-max-microvolt = <3300000>;
88279377Simp			regulator-always-on;
89279377Simp		};
90279377Simp
91279377Simp		reg_can_xcvr: regulator@4 {
92279377Simp			compatible = "regulator-fixed";
93279377Simp			reg = <4>;
94279377Simp			regulator-name = "CAN XCVR";
95279377Simp			regulator-min-microvolt = <3300000>;
96279377Simp			regulator-max-microvolt = <3300000>;
97279377Simp			gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
98279377Simp			pinctrl-names = "default";
99279377Simp			pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
100279377Simp		};
101279377Simp
102279377Simp		reg_lcd: regulator@5 {
103279377Simp			compatible = "regulator-fixed";
104279377Simp			reg = <5>;
105279377Simp			regulator-name = "LCD POWER";
106279377Simp			regulator-min-microvolt = <3300000>;
107279377Simp			regulator-max-microvolt = <3300000>;
108279377Simp			gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
109279377Simp			enable-active-high;
110279377Simp		};
111279377Simp
112279377Simp		reg_lcd_reset: regulator@6 {
113279377Simp			compatible = "regulator-fixed";
114279377Simp			reg = <6>;
115279377Simp			regulator-name = "LCD RESET";
116279377Simp			regulator-min-microvolt = <3300000>;
117279377Simp			regulator-max-microvolt = <3300000>;
118279377Simp			gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
119279377Simp			startup-delay-us = <300000>;
120279377Simp			enable-active-high;
121279377Simp			regulator-always-on;
122279377Simp			regulator-boot-on;
123279377Simp		};
124279377Simp	};
125279377Simp
126279377Simp	clocks {
127279377Simp		#address-cells = <1>;
128279377Simp		#size-cells = <0>;
129279377Simp		mclk: clock@0 {
130279377Simp			compatible = "fixed-clock";
131279377Simp			reg = <0>;
132279377Simp			#clock-cells = <0>;
133279377Simp			clock-frequency = <27000000>;
134279377Simp		};
135279377Simp	};
136279377Simp
137279377Simp	sound {
138279377Simp		compatible = "fsl,imx28-tx28-sgtl5000",
139279377Simp			     "fsl,mxs-audio-sgtl5000";
140279377Simp		model = "imx28-tx28-sgtl5000";
141279377Simp		saif-controllers = <&saif0 &saif1>;
142279377Simp		audio-codec = <&sgtl5000>;
143279377Simp	};
144279377Simp
145279377Simp	leds {
146279377Simp		compatible = "gpio-leds";
147279377Simp
148279377Simp		user_led: user {
149279377Simp			label = "Heartbeat";
150279377Simp			gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
151279377Simp			linux,default-trigger = "heartbeat";
152279377Simp		};
153279377Simp	};
154279377Simp
155279377Simp	backlight {
156279377Simp		compatible = "pwm-backlight";
157279377Simp		pwms = <&pwm 0 500000>;
158279377Simp		/*
159279377Simp		 * a silly way to create a 1:1 relationship between the
160279377Simp		 * PWM value and the actual duty cycle
161279377Simp		 */
162279377Simp		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
163279377Simp				     10 11 12 13 14 15 16 17 18 19
164279377Simp				     20 21 22 23 24 25 26 27 28 29
165279377Simp				     30 31 32 33 34 35 36 37 38 39
166279377Simp				     40 41 42 43 44 45 46 47 48 49
167279377Simp				     50 51 52 53 54 55 56 57 58 59
168279377Simp				     60 61 62 63 64 65 66 67 68 69
169279377Simp				     70 71 72 73 74 75 76 77 78 79
170279377Simp				     80 81 82 83 84 85 86 87 88 89
171279377Simp				     90 91 92 93 94 95 96 97 98 99
172279377Simp				    100>;
173279377Simp		default-brightness-level = <50>;
174279377Simp	};
175279377Simp
176279377Simp	matrix_keypad: matrix-keypad@0 {
177279377Simp		compatible = "gpio-matrix-keypad";
178279377Simp		col-gpios = <
179279377Simp			&gpio5 0 GPIO_ACTIVE_HIGH
180279377Simp			&gpio5 1 GPIO_ACTIVE_HIGH
181279377Simp			&gpio5 2 GPIO_ACTIVE_HIGH
182279377Simp			&gpio5 3 GPIO_ACTIVE_HIGH
183279377Simp		>;
184279377Simp		row-gpios = <
185279377Simp			&gpio5 4 GPIO_ACTIVE_HIGH
186279377Simp			&gpio5 5 GPIO_ACTIVE_HIGH
187279377Simp			&gpio5 6 GPIO_ACTIVE_HIGH
188279377Simp			&gpio5 7 GPIO_ACTIVE_HIGH
189279377Simp		>;
190279377Simp		/* sample keymap */
191279377Simp		linux,keymap = <
192279377Simp			0x00000074 /* row 0, col 0, KEY_POWER */
193279377Simp			0x00010052 /* row 0, col 1, KEY_KP0 */
194279377Simp			0x0002004f /* row 0, col 2, KEY_KP1 */
195279377Simp			0x00030050 /* row 0, col 3, KEY_KP2 */
196279377Simp			0x01000051 /* row 1, col 0, KEY_KP3 */
197279377Simp			0x0101004b /* row 1, col 1, KEY_KP4 */
198279377Simp			0x0102004c /* row 1, col 2, KEY_KP5 */
199279377Simp			0x0103004d /* row 1, col 3, KEY_KP6 */
200279377Simp			0x02000047 /* row 2, col 0, KEY_KP7 */
201279377Simp			0x02010048 /* row 2, col 1, KEY_KP8 */
202279377Simp			0x02020049 /* row 2, col 2, KEY_KP9 */
203279377Simp		>;
204279377Simp		gpio-activelow;
205279377Simp		linux,wakeup;
206279377Simp		debounce-delay-ms = <100>;
207279377Simp		col-scan-delay-us = <5000>;
208279377Simp		linux,no-autorepeat;
209279377Simp	};
210279377Simp
211279377Simp	spi_gpio: spi-gpio {
212279377Simp		compatible = "spi-gpio";
213279377Simp		#address-cells = <1>;
214279377Simp		#size-cells = <0>;
215279377Simp		pinctrl-names = "default";
216279377Simp		pinctrl-0 = <&tx28_spi_gpio_pins>;
217279377Simp
218279377Simp		gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>;
219279377Simp		gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>;
220279377Simp		gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>;
221279377Simp		num-chipselects = <3>;
222279377Simp		cs-gpios = <
223279377Simp			&gpio2 27 GPIO_ACTIVE_LOW
224279377Simp			&gpio3 8 GPIO_ACTIVE_LOW
225279377Simp			&gpio3 9 GPIO_ACTIVE_LOW
226279377Simp		>;
227279377Simp		/* enable this and disable ssp3 below, if you need full duplex SPI transfer */
228279377Simp		status = "disabled";
229279377Simp
230279377Simp		spi@0 {
231279377Simp			compatible = "spidev";
232279377Simp			reg = <0>;
233279377Simp			spi-max-frequency = <57600000>;
234279377Simp		};
235279377Simp
236279377Simp		spi@1 {
237279377Simp			compatible = "spidev";
238279377Simp			reg = <1>;
239279377Simp			spi-max-frequency = <57600000>;
240279377Simp		};
241279377Simp
242279377Simp		spi@2 {
243279377Simp			compatible = "spidev";
244279377Simp			reg = <2>;
245279377Simp			spi-max-frequency = <57600000>;
246279377Simp		};
247279377Simp	};
248279377Simp};
249279377Simp
250279377Simp/* 2nd TX-Std UART - (A)UART1  */
251279377Simp&auart1 {
252279377Simp	pinctrl-names = "default";
253279377Simp	pinctrl-0 = <&auart1_pins_a>;
254279377Simp	status = "okay";
255279377Simp};
256279377Simp
257279377Simp/* 3rd TX-Std UART - (A)UART3  */
258279377Simp&auart3 {
259279377Simp	pinctrl-names = "default";
260279377Simp	pinctrl-0 = <&auart3_pins_a>;
261279377Simp	status = "okay";
262279377Simp};
263279377Simp
264279377Simp&can0 {
265279377Simp	pinctrl-names = "default";
266279377Simp	pinctrl-0 = <&can0_pins_a>;
267279377Simp	xceiver-supply = <&reg_can_xcvr>;
268279377Simp	status = "okay";
269279377Simp};
270279377Simp
271279377Simp&can1 {
272279377Simp	pinctrl-names = "default";
273279377Simp	pinctrl-0 = <&can1_pins_a>;
274279377Simp	xceiver-supply = <&reg_can_xcvr>;
275279377Simp	status = "okay";
276279377Simp};
277279377Simp
278279377Simp&digctl {
279279377Simp	status = "okay";
280279377Simp};
281279377Simp
282279377Simp/* 1st TX-Std UART - (D)UART */
283279377Simp&duart {
284279377Simp	pinctrl-names = "default";
285279377Simp	pinctrl-0 = <&duart_4pins_a>;
286279377Simp	status = "okay";
287279377Simp};
288279377Simp
289279377Simp&gpmi {
290279377Simp	pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
291279377Simp	nand-on-flash-bbt;
292279377Simp	status = "okay";
293279377Simp};
294279377Simp
295279377Simp&i2c0 {
296279377Simp	pinctrl-names = "default";
297279377Simp	pinctrl-0 = <&i2c0_pins_a>;
298279377Simp	clock-frequency = <400000>;
299279377Simp	status = "okay";
300279377Simp
301279377Simp	sgtl5000: sgtl5000@0a {
302279377Simp		compatible = "fsl,sgtl5000";
303279377Simp		reg = <0x0a>;
304279377Simp		VDDA-supply = <&reg_2p5v>;
305279377Simp		VDDIO-supply = <&reg_3p3v>;
306279377Simp		clocks = <&mclk>;
307279377Simp	};
308279377Simp
309279377Simp	gpio5: pca953x@20 {
310279377Simp		compatible = "nxp,pca9554";
311279377Simp		reg = <0x20>;
312279377Simp		pinctrl-names = "default";
313279377Simp		pinctrl-0 = <&tx28_pca9554_pins>;
314279377Simp		interrupt-parent = <&gpio3>;
315279377Simp		interrupts = <28 0>;
316279377Simp		gpio-controller;
317279377Simp		#gpio-cells = <2>;
318279377Simp		interrupt-controller;
319279377Simp		#interrupt-cells = <2>;
320279377Simp	};
321279377Simp
322279377Simp	polytouch: edt-ft5x06@38 {
323279377Simp		compatible = "edt,edt-ft5x06";
324279377Simp		reg = <0x38>;
325279377Simp		pinctrl-names = "default";
326279377Simp		pinctrl-0 = <&tx28_edt_ft5x06_pins>;
327279377Simp		interrupt-parent = <&gpio2>;
328295436Sandrew		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
329279377Simp		reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
330279377Simp		wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
331279377Simp	};
332279377Simp
333279377Simp	touchscreen: tsc2007@48 {
334279377Simp		compatible = "ti,tsc2007";
335279377Simp		reg = <0x48>;
336279377Simp		pinctrl-names = "default";
337279377Simp		pinctrl-0 = <&tx28_tsc2007_pins>;
338279377Simp		interrupt-parent = <&gpio3>;
339279377Simp		interrupts = <20 0>;
340279377Simp		pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
341279377Simp		ti,x-plate-ohms = /bits/ 16 <660>;
342279377Simp	};
343279377Simp
344279377Simp	ds1339: rtc@68 {
345279377Simp		compatible = "mxim,ds1339";
346279377Simp		reg = <0x68>;
347279377Simp	};
348279377Simp};
349279377Simp
350279377Simp&lcdif {
351279377Simp	pinctrl-names = "default";
352279377Simp	pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
353279377Simp	lcd-supply = <&reg_lcd>;
354279377Simp	display = <&display0>;
355279377Simp	status = "okay";
356279377Simp
357279377Simp	display0: display0 {
358279377Simp		bits-per-pixel = <32>;
359279377Simp		bus-width = <24>;
360279377Simp		display-timings {
361279377Simp			native-mode = <&timing5>;
362279377Simp			timing0: timing0 {
363279377Simp				panel-name = "VGA";
364279377Simp				clock-frequency = <25175000>;
365279377Simp				hactive = <640>;
366279377Simp				vactive = <480>;
367279377Simp				hback-porch = <48>;
368279377Simp				hsync-len = <96>;
369279377Simp				hfront-porch = <16>;
370279377Simp				vback-porch = <33>;
371279377Simp				vsync-len = <2>;
372279377Simp				vfront-porch = <10>;
373279377Simp				hsync-active = <0>;
374279377Simp				vsync-active = <0>;
375279377Simp				de-active = <1>;
376279377Simp				pixelclk-active = <1>;
377279377Simp			};
378279377Simp
379279377Simp			timing1: timing1 {
380279377Simp				panel-name = "ETV570";
381279377Simp				clock-frequency = <25175000>;
382279377Simp				hactive = <640>;
383279377Simp				vactive = <480>;
384279377Simp				hback-porch = <114>;
385279377Simp				hsync-len = <30>;
386279377Simp				hfront-porch = <16>;
387279377Simp				vback-porch = <32>;
388279377Simp				vsync-len = <3>;
389279377Simp				vfront-porch = <10>;
390279377Simp				hsync-active = <0>;
391279377Simp				vsync-active = <0>;
392279377Simp				de-active = <1>;
393279377Simp				pixelclk-active = <1>;
394279377Simp			};
395279377Simp
396279377Simp			timing2: timing2 {
397279377Simp				panel-name = "ET0350";
398279377Simp				clock-frequency = <6500000>;
399279377Simp				hactive = <320>;
400279377Simp				vactive = <240>;
401279377Simp				hback-porch = <34>;
402279377Simp				hsync-len = <34>;
403279377Simp				hfront-porch = <20>;
404279377Simp				vback-porch = <15>;
405279377Simp				vsync-len = <3>;
406279377Simp				vfront-porch = <4>;
407279377Simp				hsync-active = <0>;
408279377Simp				vsync-active = <0>;
409279377Simp				de-active = <1>;
410279377Simp				pixelclk-active = <1>;
411279377Simp			};
412279377Simp
413279377Simp			timing3: timing3 {
414279377Simp				panel-name = "ET0430";
415279377Simp				clock-frequency = <9000000>;
416279377Simp				hactive = <480>;
417279377Simp				vactive = <272>;
418279377Simp				hback-porch = <2>;
419279377Simp				hsync-len = <41>;
420279377Simp				hfront-porch = <2>;
421279377Simp				vback-porch = <2>;
422279377Simp				vsync-len = <10>;
423279377Simp				vfront-porch = <2>;
424279377Simp				hsync-active = <0>;
425279377Simp				vsync-active = <0>;
426279377Simp				de-active = <1>;
427279377Simp				pixelclk-active = <1>;
428279377Simp			};
429279377Simp
430279377Simp			timing4: timing4 {
431279377Simp				panel-name = "ET0500", "ET0700";
432279377Simp				clock-frequency = <33260000>;
433279377Simp				hactive = <800>;
434279377Simp				vactive = <480>;
435279377Simp				hback-porch = <88>;
436279377Simp				hsync-len = <128>;
437279377Simp				hfront-porch = <40>;
438279377Simp				vback-porch = <33>;
439279377Simp				vsync-len = <2>;
440279377Simp				vfront-porch = <10>;
441279377Simp				hsync-active = <0>;
442279377Simp				vsync-active = <0>;
443279377Simp				de-active = <1>;
444279377Simp				pixelclk-active = <1>;
445279377Simp			};
446279377Simp
447279377Simp			timing5: timing5 {
448279377Simp				panel-name = "ETQ570";
449279377Simp				clock-frequency = <6400000>;
450279377Simp				hactive = <320>;
451279377Simp				vactive = <240>;
452279377Simp				hback-porch = <38>;
453279377Simp				hsync-len = <30>;
454279377Simp				hfront-porch = <30>;
455279377Simp				vback-porch = <16>;
456279377Simp				vsync-len = <3>;
457279377Simp				vfront-porch = <4>;
458279377Simp				hsync-active = <0>;
459279377Simp				vsync-active = <0>;
460279377Simp				de-active = <1>;
461279377Simp				pixelclk-active = <1>;
462279377Simp			};
463279377Simp		};
464279377Simp	};
465279377Simp};
466279377Simp
467279377Simp&lradc {
468279377Simp	fsl,lradc-touchscreen-wires = <4>;
469279377Simp	status = "okay";
470279377Simp};
471279377Simp
472279377Simp&mac0 {
473279377Simp	phy-mode = "rmii";
474279377Simp	pinctrl-names = "default", "gpio_mode";
475279377Simp	pinctrl-0 = <&mac0_pins_a>;
476279377Simp	pinctrl-1 = <&tx28_mac0_pins_gpio>;
477279377Simp	status = "okay";
478279377Simp};
479279377Simp
480279377Simp&mac1 {
481279377Simp	phy-mode = "rmii";
482279377Simp	pinctrl-names = "default";
483279377Simp	pinctrl-0 = <&mac1_pins_a>;
484279377Simp	/* not enabled by default */
485279377Simp};
486279377Simp
487279377Simp&mxs_rtc {
488279377Simp	status = "okay";
489279377Simp};
490279377Simp
491279377Simp&ocotp {
492279377Simp	status = "okay";
493279377Simp};
494279377Simp
495279377Simp&pwm {
496279377Simp	pinctrl-names = "default";
497279377Simp	pinctrl-0 = <&pwm0_pins_a>;
498279377Simp	status = "okay";
499279377Simp};
500279377Simp
501279377Simp&pinctrl {
502279377Simp	pinctrl-names = "default";
503279377Simp	pinctrl-0 = <&hog_pins_a>;
504279377Simp
505279377Simp	hog_pins_a: hog@0 {
506279377Simp		reg = <0>;
507279377Simp		fsl,pinmux-ids = <
508279377Simp			MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
509279377Simp		>;
510279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
511279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
512279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
513279377Simp	};
514279377Simp
515279377Simp	tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins {
516279377Simp		fsl,pinmux-ids = <
517279377Simp			MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
518279377Simp			MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
519279377Simp			MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
520279377Simp		>;
521279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
522279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
523279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
524279377Simp	};
525279377Simp
526279377Simp	tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
527279377Simp		fsl,pinmux-ids = <
528279377Simp			MX28_PAD_LCD_D00__GPIO_1_0
529279377Simp		>;
530279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
531279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
532279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
533279377Simp	};
534279377Simp
535279377Simp	tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
536279377Simp		fsl,pinmux-ids = <
537279377Simp			/* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
538279377Simp			MX28_PAD_LCD_D01__LCD_D1
539279377Simp			MX28_PAD_LCD_D02__LCD_D2
540279377Simp			MX28_PAD_LCD_D03__LCD_D3
541279377Simp			MX28_PAD_LCD_D04__LCD_D4
542279377Simp			MX28_PAD_LCD_D05__LCD_D5
543279377Simp			MX28_PAD_LCD_D06__LCD_D6
544279377Simp			MX28_PAD_LCD_D07__LCD_D7
545279377Simp			MX28_PAD_LCD_D08__LCD_D8
546279377Simp			MX28_PAD_LCD_D09__LCD_D9
547279377Simp			MX28_PAD_LCD_D10__LCD_D10
548279377Simp			MX28_PAD_LCD_D11__LCD_D11
549279377Simp			MX28_PAD_LCD_D12__LCD_D12
550279377Simp			MX28_PAD_LCD_D13__LCD_D13
551279377Simp			MX28_PAD_LCD_D14__LCD_D14
552279377Simp			MX28_PAD_LCD_D15__LCD_D15
553279377Simp			MX28_PAD_LCD_D16__LCD_D16
554279377Simp			MX28_PAD_LCD_D17__LCD_D17
555279377Simp			MX28_PAD_LCD_D18__LCD_D18
556279377Simp			MX28_PAD_LCD_D19__LCD_D19
557279377Simp			MX28_PAD_LCD_D20__LCD_D20
558279377Simp			MX28_PAD_LCD_D21__LCD_D21
559279377Simp			MX28_PAD_LCD_D22__LCD_D22
560279377Simp			MX28_PAD_LCD_D23__LCD_D23
561279377Simp		>;
562279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
563279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
564279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
565279377Simp	};
566279377Simp
567279377Simp	tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
568279377Simp		fsl,pinmux-ids = <
569279377Simp			MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
570279377Simp			MX28_PAD_LCD_RESET__GPIO_3_30  /* Reset */
571279377Simp		>;
572279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
573279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
574279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
575279377Simp	};
576279377Simp
577279377Simp	tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
578279377Simp		fsl,pinmux-ids = <
579279377Simp			MX28_PAD_ENET0_MDC__GPIO_4_0
580279377Simp			MX28_PAD_ENET0_MDIO__GPIO_4_1
581279377Simp			MX28_PAD_ENET0_RX_EN__GPIO_4_2
582279377Simp			MX28_PAD_ENET0_RXD0__GPIO_4_3
583279377Simp			MX28_PAD_ENET0_RXD1__GPIO_4_4
584279377Simp			MX28_PAD_ENET0_TX_EN__GPIO_4_6
585279377Simp			MX28_PAD_ENET0_TXD0__GPIO_4_7
586279377Simp			MX28_PAD_ENET0_TXD1__GPIO_4_8
587279377Simp			MX28_PAD_ENET_CLK__GPIO_4_16
588279377Simp		>;
589279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
590279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
591279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
592279377Simp	};
593279377Simp
594279377Simp	tx28_pca9554_pins: tx28-pca9554-pins {
595279377Simp		fsl,pinmux-ids = <
596279377Simp			MX28_PAD_PWM3__GPIO_3_28
597279377Simp		>;
598279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
599279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
600279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
601279377Simp	};
602279377Simp
603279377Simp	tx28_spi_gpio_pins: spi-gpiogrp {
604279377Simp		fsl,pinmux-ids = <
605279377Simp			MX28_PAD_AUART2_RX__GPIO_3_8
606279377Simp			MX28_PAD_AUART2_TX__GPIO_3_9
607279377Simp			MX28_PAD_SSP3_SCK__GPIO_2_24
608279377Simp			MX28_PAD_SSP3_MOSI__GPIO_2_25
609279377Simp			MX28_PAD_SSP3_MISO__GPIO_2_26
610279377Simp			MX28_PAD_SSP3_SS0__GPIO_2_27
611279377Simp		>;
612279377Simp		fsl,drive-strength = <MXS_DRIVE_8mA>;
613279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
614279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
615279377Simp	};
616279377Simp
617279377Simp	tx28_tsc2007_pins: tx28-tsc2007-pins {
618279377Simp		fsl,pinmux-ids = <
619279377Simp			MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
620279377Simp		>;
621279377Simp		fsl,drive-strength = <MXS_DRIVE_4mA>;
622279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
623279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
624279377Simp	};
625279377Simp
626279377Simp
627279377Simp	tx28_usbphy0_pins: tx28-usbphy0-pins {
628279377Simp		fsl,pinmux-ids = <
629279377Simp			MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
630279377Simp			MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
631279377Simp		>;
632279377Simp		fsl,drive-strength = <MXS_DRIVE_12mA>;
633279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
634279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
635279377Simp	};
636279377Simp
637279377Simp	tx28_usbphy1_pins: tx28-usbphy1-pins {
638279377Simp		fsl,pinmux-ids = <
639279377Simp			MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
640279377Simp			MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
641279377Simp		>;
642279377Simp		fsl,drive-strength = <MXS_DRIVE_12mA>;
643279377Simp		fsl,voltage = <MXS_VOLTAGE_HIGH>;
644279377Simp		fsl,pull-up = <MXS_PULL_DISABLE>;
645279377Simp	};
646279377Simp};
647279377Simp
648279377Simp&saif0 {
649279377Simp	pinctrl-names = "default";
650279377Simp	pinctrl-0 = <&saif0_pins_b>;
651279377Simp	fsl,saif-master;
652279377Simp	status = "okay";
653279377Simp};
654279377Simp
655279377Simp&saif1 {
656279377Simp	pinctrl-names = "default";
657279377Simp	pinctrl-0 = <&saif1_pins_a>;
658279377Simp	status = "okay";
659279377Simp};
660279377Simp
661279377Simp&ssp0 {
662279377Simp	compatible = "fsl,imx28-mmc";
663279377Simp	pinctrl-names = "default", "special";
664279377Simp	pinctrl-0 = <&mmc0_4bit_pins_a
665279377Simp		     &mmc0_cd_cfg
666279377Simp		     &mmc0_sck_cfg>;
667279377Simp	bus-width = <4>;
668279377Simp	status = "okay";
669279377Simp};
670279377Simp
671279377Simp&ssp3 {
672279377Simp	compatible = "fsl,imx28-spi";
673279377Simp	pinctrl-names = "default";
674279377Simp	pinctrl-0 = <&spi3_pins_a>;
675279377Simp	clock-frequency = <57600000>;
676279377Simp	status = "okay";
677279377Simp
678279377Simp	spi@0 {
679279377Simp		compatible = "spidev";
680279377Simp		reg = <0>;
681279377Simp		spi-max-frequency = <57600000>;
682279377Simp	};
683279377Simp
684279377Simp	spi@1 {
685279377Simp		compatible = "spidev";
686279377Simp		reg = <1>;
687279377Simp		spi-max-frequency = <57600000>;
688279377Simp	};
689279377Simp
690279377Simp	spi@2 {
691279377Simp		compatible = "spidev";
692279377Simp		reg = <2>;
693279377Simp		spi-max-frequency = <57600000>;
694279377Simp	};
695279377Simp};
696279377Simp
697279377Simp&usb0 {
698279377Simp	vbus-supply = <&reg_usb0_vbus>;
699279377Simp	disable-over-current;
700279377Simp	dr_mode = "peripheral";
701279377Simp	status = "okay";
702279377Simp};
703279377Simp
704279377Simp&usb1 {
705279377Simp	vbus-supply = <&reg_usb1_vbus>;
706279377Simp	disable-over-current;
707279377Simp	dr_mode = "host";
708279377Simp	status = "okay";
709279377Simp};
710279377Simp
711279377Simp&usbphy0 {
712279377Simp	pinctrl-names = "default";
713279377Simp	pinctrl-0 = <&tx28_usbphy0_pins>;
714279377Simp	phy_type = "utmi";
715279377Simp	status = "okay";
716279377Simp};
717279377Simp
718279377Simp&usbphy1 {
719279377Simp	pinctrl-names = "default";
720279377Simp	pinctrl-0 = <&tx28_usbphy1_pins>;
721279377Simp	phy_type = "utmi";
722279377Simp	status = "okay";
723279377Simp};
724