xref: /linux/scripts/dtc/include-prefixes/arm/nxp/mxs/imx28-tx28.dts (revision 620360bf7dbfe3c61bdbf3a88535a0030ff787b5)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR MIT
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
4724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
5724ba675SRob Herring */
6724ba675SRob Herring
7724ba675SRob Herring/dts-v1/;
8724ba675SRob Herring#include "imx28.dtsi"
9724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
10724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	model = "Ka-Ro electronics TX28 module";
14724ba675SRob Herring	compatible = "karo,tx28", "fsl,imx28";
15724ba675SRob Herring
16724ba675SRob Herring	aliases {
17724ba675SRob Herring		can0 = &can0;
18724ba675SRob Herring		can1 = &can1;
19724ba675SRob Herring		display = &display0;
20724ba675SRob Herring		ds1339 = &ds1339;
21724ba675SRob Herring		gpio5 = &gpio5;
22724ba675SRob Herring		lcdif = &lcdif;
23724ba675SRob Herring		lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
24724ba675SRob Herring		lcdif_24bit_pins = &lcdif_24bit_pins_a;
25724ba675SRob Herring		reg_can_xcvr = &reg_can_xcvr;
26724ba675SRob Herring		spi_gpio = &spi_gpio;
27724ba675SRob Herring		spi_mxs = &ssp3;
28724ba675SRob Herring		stk5led = &user_led;
29724ba675SRob Herring		usbotg = &usb0;
30724ba675SRob Herring	};
31724ba675SRob Herring
32724ba675SRob Herring	memory@40000000 {
33724ba675SRob Herring		device_type = "memory";
34724ba675SRob Herring		reg = <0x40000000 0>; /* will be filled in by U-Boot */
35724ba675SRob Herring	};
36724ba675SRob Herring
37724ba675SRob Herring	onewire {
38724ba675SRob Herring		compatible = "w1-gpio";
39724ba675SRob Herring		gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
40724ba675SRob Herring		status = "disabled";
41724ba675SRob Herring	};
42724ba675SRob Herring
43724ba675SRob Herring	reg_usb0_vbus: regulator-usb0-vbus {
44724ba675SRob Herring		compatible = "regulator-fixed";
45724ba675SRob Herring		regulator-name = "usb0_vbus";
46724ba675SRob Herring		regulator-min-microvolt = <5000000>;
47724ba675SRob Herring		regulator-max-microvolt = <5000000>;
48724ba675SRob Herring		gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
49724ba675SRob Herring		enable-active-high;
50724ba675SRob Herring	};
51724ba675SRob Herring
52724ba675SRob Herring	reg_usb1_vbus: regulator-usb1-vbus {
53724ba675SRob Herring		compatible = "regulator-fixed";
54724ba675SRob Herring		regulator-name = "usb1_vbus";
55724ba675SRob Herring		regulator-min-microvolt = <5000000>;
56724ba675SRob Herring		regulator-max-microvolt = <5000000>;
57724ba675SRob Herring		gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
58724ba675SRob Herring		enable-active-high;
59724ba675SRob Herring	};
60724ba675SRob Herring
61724ba675SRob Herring	reg_2p5v: regulator-2p5v {
62724ba675SRob Herring		compatible = "regulator-fixed";
63724ba675SRob Herring		regulator-name = "2P5V";
64724ba675SRob Herring		regulator-min-microvolt = <2500000>;
65724ba675SRob Herring		regulator-max-microvolt = <2500000>;
66724ba675SRob Herring		regulator-always-on;
67724ba675SRob Herring	};
68724ba675SRob Herring
69724ba675SRob Herring	reg_3p3v: regulator-3p3v {
70724ba675SRob Herring		compatible = "regulator-fixed";
71724ba675SRob Herring		regulator-name = "3P3V";
72724ba675SRob Herring		regulator-min-microvolt = <3300000>;
73724ba675SRob Herring		regulator-max-microvolt = <3300000>;
74724ba675SRob Herring		regulator-always-on;
75724ba675SRob Herring	};
76724ba675SRob Herring
77724ba675SRob Herring	reg_can_xcvr: regulator-can-xcvr {
78724ba675SRob Herring		compatible = "regulator-fixed";
79724ba675SRob Herring		regulator-name = "CAN XCVR";
80724ba675SRob Herring		regulator-min-microvolt = <3300000>;
81724ba675SRob Herring		regulator-max-microvolt = <3300000>;
82724ba675SRob Herring		gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
83724ba675SRob Herring		pinctrl-names = "default";
84724ba675SRob Herring		pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
85724ba675SRob Herring	};
86724ba675SRob Herring
87724ba675SRob Herring	reg_lcd: regulator-lcd-power {
88724ba675SRob Herring		compatible = "regulator-fixed";
89724ba675SRob Herring		regulator-name = "LCD POWER";
90724ba675SRob Herring		regulator-min-microvolt = <3300000>;
91724ba675SRob Herring		regulator-max-microvolt = <3300000>;
92724ba675SRob Herring		gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
93724ba675SRob Herring		enable-active-high;
94724ba675SRob Herring	};
95724ba675SRob Herring
96724ba675SRob Herring	reg_lcd_reset: regulator-lcd-reset {
97724ba675SRob Herring		compatible = "regulator-fixed";
98724ba675SRob Herring		regulator-name = "LCD RESET";
99724ba675SRob Herring		regulator-min-microvolt = <3300000>;
100724ba675SRob Herring		regulator-max-microvolt = <3300000>;
101724ba675SRob Herring		gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
102724ba675SRob Herring		startup-delay-us = <300000>;
103724ba675SRob Herring		enable-active-high;
104724ba675SRob Herring		regulator-always-on;
105724ba675SRob Herring		regulator-boot-on;
106724ba675SRob Herring	};
107724ba675SRob Herring
108724ba675SRob Herring	mclk: clock-mclk {
109724ba675SRob Herring		compatible = "fixed-clock";
110724ba675SRob Herring		#clock-cells = <0>;
111724ba675SRob Herring		clock-frequency = <26000000>;
112724ba675SRob Herring	};
113724ba675SRob Herring
114724ba675SRob Herring	sound {
115724ba675SRob Herring		compatible = "fsl,imx28-tx28-sgtl5000",
116724ba675SRob Herring			     "fsl,mxs-audio-sgtl5000";
117724ba675SRob Herring		model = "imx28-tx28-sgtl5000";
118724ba675SRob Herring		saif-controllers = <&saif0 &saif1>;
119724ba675SRob Herring		audio-codec = <&sgtl5000>;
120724ba675SRob Herring	};
121724ba675SRob Herring
122724ba675SRob Herring	leds {
123724ba675SRob Herring		compatible = "gpio-leds";
124724ba675SRob Herring
125724ba675SRob Herring		user_led: user {
126724ba675SRob Herring			label = "Heartbeat";
127724ba675SRob Herring			gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
128724ba675SRob Herring			linux,default-trigger = "heartbeat";
129724ba675SRob Herring		};
130724ba675SRob Herring	};
131724ba675SRob Herring
132724ba675SRob Herring	backlight {
133724ba675SRob Herring		compatible = "pwm-backlight";
1341970fc65SFabio Estevam		pwms = <&pwm 0 500000 0>;
135724ba675SRob Herring		/*
136724ba675SRob Herring		 * a silly way to create a 1:1 relationship between the
137724ba675SRob Herring		 * PWM value and the actual duty cycle
138724ba675SRob Herring		 */
139724ba675SRob Herring		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
140724ba675SRob Herring				     10 11 12 13 14 15 16 17 18 19
141724ba675SRob Herring				     20 21 22 23 24 25 26 27 28 29
142724ba675SRob Herring				     30 31 32 33 34 35 36 37 38 39
143724ba675SRob Herring				     40 41 42 43 44 45 46 47 48 49
144724ba675SRob Herring				     50 51 52 53 54 55 56 57 58 59
145724ba675SRob Herring				     60 61 62 63 64 65 66 67 68 69
146724ba675SRob Herring				     70 71 72 73 74 75 76 77 78 79
147724ba675SRob Herring				     80 81 82 83 84 85 86 87 88 89
148724ba675SRob Herring				     90 91 92 93 94 95 96 97 98 99
149724ba675SRob Herring				    100>;
150724ba675SRob Herring		default-brightness-level = <50>;
151724ba675SRob Herring	};
152724ba675SRob Herring
153724ba675SRob Herring	matrix_keypad: matrix-keypad {
154724ba675SRob Herring		compatible = "gpio-matrix-keypad";
155724ba675SRob Herring		col-gpios = <
156724ba675SRob Herring			&gpio5 0 GPIO_ACTIVE_HIGH
157724ba675SRob Herring			&gpio5 1 GPIO_ACTIVE_HIGH
158724ba675SRob Herring			&gpio5 2 GPIO_ACTIVE_HIGH
159724ba675SRob Herring			&gpio5 3 GPIO_ACTIVE_HIGH
160724ba675SRob Herring		>;
161724ba675SRob Herring		row-gpios = <
162724ba675SRob Herring			&gpio5 4 GPIO_ACTIVE_HIGH
163724ba675SRob Herring			&gpio5 5 GPIO_ACTIVE_HIGH
164724ba675SRob Herring			&gpio5 6 GPIO_ACTIVE_HIGH
165724ba675SRob Herring			&gpio5 7 GPIO_ACTIVE_HIGH
166724ba675SRob Herring		>;
167724ba675SRob Herring		/* sample keymap */
168724ba675SRob Herring		linux,keymap = <
169724ba675SRob Herring			0x00000074 /* row 0, col 0, KEY_POWER */
170724ba675SRob Herring			0x00010052 /* row 0, col 1, KEY_KP0 */
171724ba675SRob Herring			0x0002004f /* row 0, col 2, KEY_KP1 */
172724ba675SRob Herring			0x00030050 /* row 0, col 3, KEY_KP2 */
173724ba675SRob Herring			0x01000051 /* row 1, col 0, KEY_KP3 */
174724ba675SRob Herring			0x0101004b /* row 1, col 1, KEY_KP4 */
175724ba675SRob Herring			0x0102004c /* row 1, col 2, KEY_KP5 */
176724ba675SRob Herring			0x0103004d /* row 1, col 3, KEY_KP6 */
177724ba675SRob Herring			0x02000047 /* row 2, col 0, KEY_KP7 */
178724ba675SRob Herring			0x02010048 /* row 2, col 1, KEY_KP8 */
179724ba675SRob Herring			0x02020049 /* row 2, col 2, KEY_KP9 */
180724ba675SRob Herring		>;
181724ba675SRob Herring		gpio-activelow;
182724ba675SRob Herring		wakeup-source;
183724ba675SRob Herring		debounce-delay-ms = <100>;
184724ba675SRob Herring		col-scan-delay-us = <5000>;
185724ba675SRob Herring		linux,no-autorepeat;
186724ba675SRob Herring	};
187724ba675SRob Herring
188724ba675SRob Herring	spi_gpio: spi {
189724ba675SRob Herring		compatible = "spi-gpio";
190724ba675SRob Herring		#address-cells = <1>;
191724ba675SRob Herring		#size-cells = <0>;
192724ba675SRob Herring		pinctrl-names = "default";
193724ba675SRob Herring		pinctrl-0 = <&tx28_spi_gpio_pins>;
194724ba675SRob Herring
195724ba675SRob Herring		sck-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
196724ba675SRob Herring		mosi-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
197724ba675SRob Herring		miso-gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
198724ba675SRob Herring		num-chipselects = <3>;
199724ba675SRob Herring		cs-gpios = <
200724ba675SRob Herring			&gpio2 27 GPIO_ACTIVE_LOW
201724ba675SRob Herring			&gpio3 8 GPIO_ACTIVE_LOW
202724ba675SRob Herring			&gpio3 9 GPIO_ACTIVE_LOW
203724ba675SRob Herring		>;
204724ba675SRob Herring		/* enable this and disable ssp3 below, if you need full duplex SPI transfer */
205724ba675SRob Herring		status = "disabled";
206724ba675SRob Herring	};
207724ba675SRob Herring};
208724ba675SRob Herring
209724ba675SRob Herring/* 2nd TX-Std UART - (A)UART1  */
210724ba675SRob Herring&auart1 {
211724ba675SRob Herring	pinctrl-names = "default";
212724ba675SRob Herring	pinctrl-0 = <&auart1_pins_a>;
213724ba675SRob Herring	status = "okay";
214724ba675SRob Herring};
215724ba675SRob Herring
216724ba675SRob Herring/* 3rd TX-Std UART - (A)UART3  */
217724ba675SRob Herring&auart3 {
218724ba675SRob Herring	pinctrl-names = "default";
219724ba675SRob Herring	pinctrl-0 = <&auart3_pins_a>;
220724ba675SRob Herring	status = "okay";
221724ba675SRob Herring};
222724ba675SRob Herring
223724ba675SRob Herring&can0 {
224724ba675SRob Herring	pinctrl-names = "default";
225724ba675SRob Herring	pinctrl-0 = <&can0_pins_a>;
226724ba675SRob Herring	xceiver-supply = <&reg_can_xcvr>;
227724ba675SRob Herring	status = "okay";
228724ba675SRob Herring};
229724ba675SRob Herring
230724ba675SRob Herring&can1 {
231724ba675SRob Herring	pinctrl-names = "default";
232724ba675SRob Herring	pinctrl-0 = <&can1_pins_a>;
233724ba675SRob Herring	xceiver-supply = <&reg_can_xcvr>;
234724ba675SRob Herring	status = "okay";
235724ba675SRob Herring};
236724ba675SRob Herring
237724ba675SRob Herring&digctl {
238724ba675SRob Herring	status = "okay";
239724ba675SRob Herring};
240724ba675SRob Herring
241724ba675SRob Herring/* 1st TX-Std UART - (D)UART */
242724ba675SRob Herring&duart {
243724ba675SRob Herring	pinctrl-names = "default";
244724ba675SRob Herring	pinctrl-0 = <&duart_4pins_a>;
245724ba675SRob Herring	status = "okay";
246724ba675SRob Herring};
247724ba675SRob Herring
248724ba675SRob Herring&gpmi {
249724ba675SRob Herring	pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
250724ba675SRob Herring	nand-on-flash-bbt;
251724ba675SRob Herring	status = "okay";
252724ba675SRob Herring};
253724ba675SRob Herring
254724ba675SRob Herring&i2c0 {
255724ba675SRob Herring	pinctrl-names = "default";
256724ba675SRob Herring	pinctrl-0 = <&i2c0_pins_a>;
257724ba675SRob Herring	clock-frequency = <400000>;
258724ba675SRob Herring	status = "okay";
259724ba675SRob Herring
260724ba675SRob Herring	sgtl5000: sgtl5000@a {
261724ba675SRob Herring		compatible = "fsl,sgtl5000";
262724ba675SRob Herring		reg = <0x0a>;
263*620360bfSFabio Estevam		#sound-dai-cells = <0>;
264724ba675SRob Herring		VDDA-supply = <&reg_2p5v>;
265724ba675SRob Herring		VDDIO-supply = <&reg_3p3v>;
266724ba675SRob Herring		clocks = <&mclk>;
267724ba675SRob Herring	};
268724ba675SRob Herring
269724ba675SRob Herring	gpio5: pca953x@20 {
270724ba675SRob Herring		compatible = "nxp,pca9554";
271724ba675SRob Herring		reg = <0x20>;
272724ba675SRob Herring		pinctrl-names = "default";
273724ba675SRob Herring		pinctrl-0 = <&tx28_pca9554_pins>;
274724ba675SRob Herring		interrupt-parent = <&gpio3>;
275724ba675SRob Herring		interrupts = <28 IRQ_TYPE_NONE>;
276724ba675SRob Herring		gpio-controller;
277724ba675SRob Herring		#gpio-cells = <2>;
278724ba675SRob Herring		interrupt-controller;
279724ba675SRob Herring		#interrupt-cells = <2>;
280724ba675SRob Herring	};
281724ba675SRob Herring
282724ba675SRob Herring	polytouch: edt-ft5x06@38 {
283724ba675SRob Herring		compatible = "edt,edt-ft5x06";
284724ba675SRob Herring		reg = <0x38>;
285724ba675SRob Herring		pinctrl-names = "default";
286724ba675SRob Herring		pinctrl-0 = <&tx28_edt_ft5x06_pins>;
287724ba675SRob Herring		interrupt-parent = <&gpio2>;
288724ba675SRob Herring		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
289724ba675SRob Herring		reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
290724ba675SRob Herring		wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
291724ba675SRob Herring		wakeup-source;
292724ba675SRob Herring	};
293724ba675SRob Herring
294724ba675SRob Herring	touchscreen: tsc2007@48 {
295724ba675SRob Herring		compatible = "ti,tsc2007";
296724ba675SRob Herring		reg = <0x48>;
297724ba675SRob Herring		pinctrl-names = "default";
298724ba675SRob Herring		pinctrl-0 = <&tx28_tsc2007_pins>;
299724ba675SRob Herring		interrupt-parent = <&gpio3>;
300724ba675SRob Herring		interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
301724ba675SRob Herring		pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
302724ba675SRob Herring		ti,x-plate-ohms = /bits/ 16 <660>;
303724ba675SRob Herring	};
304724ba675SRob Herring
305724ba675SRob Herring	ds1339: rtc@68 {
306724ba675SRob Herring		compatible = "dallas,ds1339";
307724ba675SRob Herring		reg = <0x68>;
308724ba675SRob Herring		trickle-resistor-ohms = <250>;
309724ba675SRob Herring		trickle-diode-disable;
310724ba675SRob Herring	};
311724ba675SRob Herring};
312724ba675SRob Herring
313724ba675SRob Herring&lcdif {
314724ba675SRob Herring	pinctrl-names = "default";
315724ba675SRob Herring	pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
316724ba675SRob Herring	lcd-supply = <&reg_lcd>;
317724ba675SRob Herring	display = <&display0>;
318724ba675SRob Herring	status = "okay";
319724ba675SRob Herring
320724ba675SRob Herring	display0: display0 {
321724ba675SRob Herring		bits-per-pixel = <32>;
322724ba675SRob Herring		bus-width = <24>;
323724ba675SRob Herring		display-timings {
324724ba675SRob Herring			native-mode = <&timing5>;
325724ba675SRob Herring			timing0: timing0 {
326724ba675SRob Herring				panel-name = "VGA";
327724ba675SRob Herring				clock-frequency = <25175000>;
328724ba675SRob Herring				hactive = <640>;
329724ba675SRob Herring				vactive = <480>;
330724ba675SRob Herring				hback-porch = <48>;
331724ba675SRob Herring				hsync-len = <96>;
332724ba675SRob Herring				hfront-porch = <16>;
333724ba675SRob Herring				vback-porch = <33>;
334724ba675SRob Herring				vsync-len = <2>;
335724ba675SRob Herring				vfront-porch = <10>;
336724ba675SRob Herring				hsync-active = <0>;
337724ba675SRob Herring				vsync-active = <0>;
338724ba675SRob Herring				de-active = <1>;
339724ba675SRob Herring				pixelclk-active = <1>;
340724ba675SRob Herring			};
341724ba675SRob Herring
342724ba675SRob Herring			timing1: timing1 {
343724ba675SRob Herring				panel-name = "ETV570";
344724ba675SRob Herring				clock-frequency = <25175000>;
345724ba675SRob Herring				hactive = <640>;
346724ba675SRob Herring				vactive = <480>;
347724ba675SRob Herring				hback-porch = <114>;
348724ba675SRob Herring				hsync-len = <30>;
349724ba675SRob Herring				hfront-porch = <16>;
350724ba675SRob Herring				vback-porch = <32>;
351724ba675SRob Herring				vsync-len = <3>;
352724ba675SRob Herring				vfront-porch = <10>;
353724ba675SRob Herring				hsync-active = <0>;
354724ba675SRob Herring				vsync-active = <0>;
355724ba675SRob Herring				de-active = <1>;
356724ba675SRob Herring				pixelclk-active = <1>;
357724ba675SRob Herring			};
358724ba675SRob Herring
359724ba675SRob Herring			timing2: timing2 {
360724ba675SRob Herring				panel-name = "ET0350";
361724ba675SRob Herring				clock-frequency = <6500000>;
362724ba675SRob Herring				hactive = <320>;
363724ba675SRob Herring				vactive = <240>;
364724ba675SRob Herring				hback-porch = <34>;
365724ba675SRob Herring				hsync-len = <34>;
366724ba675SRob Herring				hfront-porch = <20>;
367724ba675SRob Herring				vback-porch = <15>;
368724ba675SRob Herring				vsync-len = <3>;
369724ba675SRob Herring				vfront-porch = <4>;
370724ba675SRob Herring				hsync-active = <0>;
371724ba675SRob Herring				vsync-active = <0>;
372724ba675SRob Herring				de-active = <1>;
373724ba675SRob Herring				pixelclk-active = <1>;
374724ba675SRob Herring			};
375724ba675SRob Herring
376724ba675SRob Herring			timing3: timing3 {
377724ba675SRob Herring				panel-name = "ET0430";
378724ba675SRob Herring				clock-frequency = <9000000>;
379724ba675SRob Herring				hactive = <480>;
380724ba675SRob Herring				vactive = <272>;
381724ba675SRob Herring				hback-porch = <2>;
382724ba675SRob Herring				hsync-len = <41>;
383724ba675SRob Herring				hfront-porch = <2>;
384724ba675SRob Herring				vback-porch = <2>;
385724ba675SRob Herring				vsync-len = <10>;
386724ba675SRob Herring				vfront-porch = <2>;
387724ba675SRob Herring				hsync-active = <0>;
388724ba675SRob Herring				vsync-active = <0>;
389724ba675SRob Herring				de-active = <1>;
390724ba675SRob Herring				pixelclk-active = <1>;
391724ba675SRob Herring			};
392724ba675SRob Herring
393724ba675SRob Herring			timing4: timing4 {
394724ba675SRob Herring				panel-name = "ET0500", "ET0700";
395724ba675SRob Herring				clock-frequency = <33260000>;
396724ba675SRob Herring				hactive = <800>;
397724ba675SRob Herring				vactive = <480>;
398724ba675SRob Herring				hback-porch = <88>;
399724ba675SRob Herring				hsync-len = <128>;
400724ba675SRob Herring				hfront-porch = <40>;
401724ba675SRob Herring				vback-porch = <33>;
402724ba675SRob Herring				vsync-len = <2>;
403724ba675SRob Herring				vfront-porch = <10>;
404724ba675SRob Herring				hsync-active = <0>;
405724ba675SRob Herring				vsync-active = <0>;
406724ba675SRob Herring				de-active = <1>;
407724ba675SRob Herring				pixelclk-active = <1>;
408724ba675SRob Herring			};
409724ba675SRob Herring
410724ba675SRob Herring			timing5: timing5 {
411724ba675SRob Herring				panel-name = "ETQ570";
412724ba675SRob Herring				clock-frequency = <6400000>;
413724ba675SRob Herring				hactive = <320>;
414724ba675SRob Herring				vactive = <240>;
415724ba675SRob Herring				hback-porch = <38>;
416724ba675SRob Herring				hsync-len = <30>;
417724ba675SRob Herring				hfront-porch = <30>;
418724ba675SRob Herring				vback-porch = <16>;
419724ba675SRob Herring				vsync-len = <3>;
420724ba675SRob Herring				vfront-porch = <4>;
421724ba675SRob Herring				hsync-active = <0>;
422724ba675SRob Herring				vsync-active = <0>;
423724ba675SRob Herring				de-active = <1>;
424724ba675SRob Herring				pixelclk-active = <1>;
425724ba675SRob Herring			};
426724ba675SRob Herring		};
427724ba675SRob Herring	};
428724ba675SRob Herring};
429724ba675SRob Herring
430724ba675SRob Herring&lradc {
431724ba675SRob Herring	fsl,lradc-touchscreen-wires = <4>;
432724ba675SRob Herring	status = "okay";
433724ba675SRob Herring};
434724ba675SRob Herring
435724ba675SRob Herring&mac0 {
436724ba675SRob Herring	phy-mode = "rmii";
437724ba675SRob Herring	pinctrl-names = "default", "gpio_mode";
438724ba675SRob Herring	pinctrl-0 = <&mac0_pins_a>;
439724ba675SRob Herring	pinctrl-1 = <&tx28_mac0_pins_gpio>;
440724ba675SRob Herring	status = "okay";
441724ba675SRob Herring};
442724ba675SRob Herring
443724ba675SRob Herring&mac1 {
444724ba675SRob Herring	phy-mode = "rmii";
445724ba675SRob Herring	pinctrl-names = "default";
446724ba675SRob Herring	pinctrl-0 = <&mac1_pins_a>;
447724ba675SRob Herring	/* not enabled by default */
448724ba675SRob Herring};
449724ba675SRob Herring
450724ba675SRob Herring&mxs_rtc {
451724ba675SRob Herring	status = "okay";
452724ba675SRob Herring};
453724ba675SRob Herring
454724ba675SRob Herring&ocotp {
455724ba675SRob Herring	status = "okay";
456724ba675SRob Herring};
457724ba675SRob Herring
458724ba675SRob Herring&pwm {
459724ba675SRob Herring	pinctrl-names = "default";
460724ba675SRob Herring	pinctrl-0 = <&pwm0_pins_a>;
461724ba675SRob Herring	status = "okay";
462724ba675SRob Herring};
463724ba675SRob Herring
464724ba675SRob Herring&pinctrl {
465724ba675SRob Herring	pinctrl-names = "default";
466724ba675SRob Herring	pinctrl-0 = <&hog_pins_a>;
467724ba675SRob Herring
468724ba675SRob Herring	hog_pins_a: hog@0 {
469724ba675SRob Herring		reg = <0>;
470724ba675SRob Herring		fsl,pinmux-ids = <
471724ba675SRob Herring			MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
472724ba675SRob Herring		>;
473724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
474724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
475724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
476724ba675SRob Herring	};
477724ba675SRob Herring
478724ba675SRob Herring	tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins@0 {
479724ba675SRob Herring		reg = <0>;
480724ba675SRob Herring		fsl,pinmux-ids = <
481724ba675SRob Herring			MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
482724ba675SRob Herring			MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
483724ba675SRob Herring			MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
484724ba675SRob Herring		>;
485724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
486724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
487724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
488724ba675SRob Herring	};
489724ba675SRob Herring
490724ba675SRob Herring	tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins@0 {
491724ba675SRob Herring		reg = <0>;
492724ba675SRob Herring		fsl,pinmux-ids = <
493724ba675SRob Herring			MX28_PAD_LCD_D00__GPIO_1_0
494724ba675SRob Herring		>;
495724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
496724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
497724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
498724ba675SRob Herring	};
499724ba675SRob Herring
500724ba675SRob Herring	tx28_lcdif_23bit_pins: tx28-lcdif-23bit@0 {
501724ba675SRob Herring		reg = <0>;
502724ba675SRob Herring		fsl,pinmux-ids = <
503724ba675SRob Herring			/* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
504724ba675SRob Herring			MX28_PAD_LCD_D01__LCD_D1
505724ba675SRob Herring			MX28_PAD_LCD_D02__LCD_D2
506724ba675SRob Herring			MX28_PAD_LCD_D03__LCD_D3
507724ba675SRob Herring			MX28_PAD_LCD_D04__LCD_D4
508724ba675SRob Herring			MX28_PAD_LCD_D05__LCD_D5
509724ba675SRob Herring			MX28_PAD_LCD_D06__LCD_D6
510724ba675SRob Herring			MX28_PAD_LCD_D07__LCD_D7
511724ba675SRob Herring			MX28_PAD_LCD_D08__LCD_D8
512724ba675SRob Herring			MX28_PAD_LCD_D09__LCD_D9
513724ba675SRob Herring			MX28_PAD_LCD_D10__LCD_D10
514724ba675SRob Herring			MX28_PAD_LCD_D11__LCD_D11
515724ba675SRob Herring			MX28_PAD_LCD_D12__LCD_D12
516724ba675SRob Herring			MX28_PAD_LCD_D13__LCD_D13
517724ba675SRob Herring			MX28_PAD_LCD_D14__LCD_D14
518724ba675SRob Herring			MX28_PAD_LCD_D15__LCD_D15
519724ba675SRob Herring			MX28_PAD_LCD_D16__LCD_D16
520724ba675SRob Herring			MX28_PAD_LCD_D17__LCD_D17
521724ba675SRob Herring			MX28_PAD_LCD_D18__LCD_D18
522724ba675SRob Herring			MX28_PAD_LCD_D19__LCD_D19
523724ba675SRob Herring			MX28_PAD_LCD_D20__LCD_D20
524724ba675SRob Herring			MX28_PAD_LCD_D21__LCD_D21
525724ba675SRob Herring			MX28_PAD_LCD_D22__LCD_D22
526724ba675SRob Herring			MX28_PAD_LCD_D23__LCD_D23
527724ba675SRob Herring		>;
528724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
529724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
530724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
531724ba675SRob Herring	};
532724ba675SRob Herring
533724ba675SRob Herring	tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl@0 {
534724ba675SRob Herring		reg = <0>;
535724ba675SRob Herring		fsl,pinmux-ids = <
536724ba675SRob Herring			MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
537724ba675SRob Herring			MX28_PAD_LCD_RESET__GPIO_3_30  /* Reset */
538724ba675SRob Herring		>;
539724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
540724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
541724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
542724ba675SRob Herring	};
543724ba675SRob Herring
544724ba675SRob Herring	tx28_mac0_pins_gpio: tx28-mac0-gpio-pins@0 {
545724ba675SRob Herring		reg = <0>;
546724ba675SRob Herring		fsl,pinmux-ids = <
547724ba675SRob Herring			MX28_PAD_ENET0_MDC__GPIO_4_0
548724ba675SRob Herring			MX28_PAD_ENET0_MDIO__GPIO_4_1
549724ba675SRob Herring			MX28_PAD_ENET0_RX_EN__GPIO_4_2
550724ba675SRob Herring			MX28_PAD_ENET0_RXD0__GPIO_4_3
551724ba675SRob Herring			MX28_PAD_ENET0_RXD1__GPIO_4_4
552724ba675SRob Herring			MX28_PAD_ENET0_TX_EN__GPIO_4_6
553724ba675SRob Herring			MX28_PAD_ENET0_TXD0__GPIO_4_7
554724ba675SRob Herring			MX28_PAD_ENET0_TXD1__GPIO_4_8
555724ba675SRob Herring			MX28_PAD_ENET_CLK__GPIO_4_16
556724ba675SRob Herring		>;
557724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
558724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
559724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
560724ba675SRob Herring	};
561724ba675SRob Herring
562724ba675SRob Herring	tx28_pca9554_pins: tx28-pca9554-pins@0 {
563724ba675SRob Herring		reg = <0>;
564724ba675SRob Herring		fsl,pinmux-ids = <
565724ba675SRob Herring			MX28_PAD_PWM3__GPIO_3_28
566724ba675SRob Herring		>;
567724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
568724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
569724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
570724ba675SRob Herring	};
571724ba675SRob Herring
572724ba675SRob Herring	tx28_spi_gpio_pins: spi-gpiogrp@0 {
573724ba675SRob Herring		reg = <0>;
574724ba675SRob Herring		fsl,pinmux-ids = <
575724ba675SRob Herring			MX28_PAD_AUART2_RX__GPIO_3_8
576724ba675SRob Herring			MX28_PAD_AUART2_TX__GPIO_3_9
577724ba675SRob Herring			MX28_PAD_SSP3_SCK__GPIO_2_24
578724ba675SRob Herring			MX28_PAD_SSP3_MOSI__GPIO_2_25
579724ba675SRob Herring			MX28_PAD_SSP3_MISO__GPIO_2_26
580724ba675SRob Herring			MX28_PAD_SSP3_SS0__GPIO_2_27
581724ba675SRob Herring		>;
582724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_8mA>;
583724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
584724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
585724ba675SRob Herring	};
586724ba675SRob Herring
587724ba675SRob Herring	tx28_tsc2007_pins: tx28-tsc2007-pins@0 {
588724ba675SRob Herring		reg = <0>;
589724ba675SRob Herring		fsl,pinmux-ids = <
590724ba675SRob Herring			MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
591724ba675SRob Herring		>;
592724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
593724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
594724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
595724ba675SRob Herring	};
596724ba675SRob Herring
597724ba675SRob Herring
598724ba675SRob Herring	tx28_usbphy0_pins: tx28-usbphy0-pins@0 {
599724ba675SRob Herring		reg = <0>;
600724ba675SRob Herring		fsl,pinmux-ids = <
601724ba675SRob Herring			MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
602724ba675SRob Herring			MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
603724ba675SRob Herring		>;
604724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_12mA>;
605724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
606724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
607724ba675SRob Herring	};
608724ba675SRob Herring
609724ba675SRob Herring	tx28_usbphy1_pins: tx28-usbphy1-pins@0 {
610724ba675SRob Herring		reg = <0>;
611724ba675SRob Herring		fsl,pinmux-ids = <
612724ba675SRob Herring			MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
613724ba675SRob Herring			MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
614724ba675SRob Herring		>;
615724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_12mA>;
616724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
617724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
618724ba675SRob Herring	};
619724ba675SRob Herring};
620724ba675SRob Herring
621724ba675SRob Herring&saif0 {
622724ba675SRob Herring	pinctrl-names = "default";
623724ba675SRob Herring	pinctrl-0 = <&saif0_pins_b>;
624724ba675SRob Herring	fsl,saif-master;
625724ba675SRob Herring	status = "okay";
626724ba675SRob Herring};
627724ba675SRob Herring
628724ba675SRob Herring&saif1 {
629724ba675SRob Herring	pinctrl-names = "default";
630724ba675SRob Herring	pinctrl-0 = <&saif1_pins_a>;
631724ba675SRob Herring	status = "okay";
632724ba675SRob Herring};
633724ba675SRob Herring
634724ba675SRob Herring&ssp0 {
635724ba675SRob Herring	compatible = "fsl,imx28-mmc";
636724ba675SRob Herring	pinctrl-names = "default", "special";
637724ba675SRob Herring	pinctrl-0 = <&mmc0_4bit_pins_a
638724ba675SRob Herring		     &mmc0_cd_cfg
639724ba675SRob Herring		     &mmc0_sck_cfg>;
640724ba675SRob Herring	bus-width = <4>;
641724ba675SRob Herring	status = "okay";
642724ba675SRob Herring};
643724ba675SRob Herring
644724ba675SRob Herring&ssp3 {
645724ba675SRob Herring	compatible = "fsl,imx28-spi";
646724ba675SRob Herring	pinctrl-names = "default";
647724ba675SRob Herring	pinctrl-0 = <&spi3_pins_a>;
648724ba675SRob Herring	clock-frequency = <57600000>;
649724ba675SRob Herring	status = "okay";
650724ba675SRob Herring};
651724ba675SRob Herring
652724ba675SRob Herring&usb0 {
653724ba675SRob Herring	vbus-supply = <&reg_usb0_vbus>;
654724ba675SRob Herring	disable-over-current;
655724ba675SRob Herring	dr_mode = "peripheral";
6562c9d0bd6SFabio Estevam	phy_type = "utmi";
657724ba675SRob Herring	status = "okay";
658724ba675SRob Herring};
659724ba675SRob Herring
660724ba675SRob Herring&usb1 {
661724ba675SRob Herring	vbus-supply = <&reg_usb1_vbus>;
662724ba675SRob Herring	disable-over-current;
663724ba675SRob Herring	dr_mode = "host";
6642c9d0bd6SFabio Estevam	phy_type = "utmi";
665724ba675SRob Herring	status = "okay";
666724ba675SRob Herring};
667724ba675SRob Herring
668724ba675SRob Herring&usbphy0 {
669724ba675SRob Herring	pinctrl-names = "default";
670724ba675SRob Herring	pinctrl-0 = <&tx28_usbphy0_pins>;
671724ba675SRob Herring	status = "okay";
672724ba675SRob Herring};
673724ba675SRob Herring
674724ba675SRob Herring&usbphy1 {
675724ba675SRob Herring	pinctrl-names = "default";
676724ba675SRob Herring	pinctrl-0 = <&tx28_usbphy1_pins>;
677724ba675SRob Herring	status = "okay";
678724ba675SRob Herring};
679