Loading...
1/*
2 * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
3 * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This file is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License
12 * version 2 as published by the Free Software Foundation.
13 *
14 * This file is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/dts-v1/;
44#include "imx28.dtsi"
45#include <dt-bindings/gpio/gpio.h>
46#include <dt-bindings/interrupt-controller/irq.h>
47
48/ {
49 model = "Ka-Ro electronics TX28 module";
50 compatible = "karo,tx28", "fsl,imx28";
51
52 aliases {
53 can0 = &can0;
54 can1 = &can1;
55 display = &display0;
56 ds1339 = &ds1339;
57 gpio5 = &gpio5;
58 lcdif = &lcdif;
59 lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
60 lcdif_24bit_pins = &lcdif_24bit_pins_a;
61 reg_can_xcvr = ®_can_xcvr;
62 spi_gpio = &spi_gpio;
63 spi_mxs = &ssp3;
64 stk5led = &user_led;
65 usbotg = &usb0;
66 };
67
68 memory@40000000 {
69 device_type = "memory";
70 reg = <0x40000000 0>; /* will be filled in by U-Boot */
71 };
72
73 onewire {
74 compatible = "w1-gpio";
75 gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
76 status = "disabled";
77 };
78
79 reg_usb0_vbus: regulator-usb0-vbus {
80 compatible = "regulator-fixed";
81 regulator-name = "usb0_vbus";
82 regulator-min-microvolt = <5000000>;
83 regulator-max-microvolt = <5000000>;
84 gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
85 enable-active-high;
86 };
87
88 reg_usb1_vbus: regulator-usb1-vbus {
89 compatible = "regulator-fixed";
90 regulator-name = "usb1_vbus";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
93 gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
94 enable-active-high;
95 };
96
97 reg_2p5v: regulator-2p5v {
98 compatible = "regulator-fixed";
99 regulator-name = "2P5V";
100 regulator-min-microvolt = <2500000>;
101 regulator-max-microvolt = <2500000>;
102 regulator-always-on;
103 };
104
105 reg_3p3v: regulator-3p3v {
106 compatible = "regulator-fixed";
107 regulator-name = "3P3V";
108 regulator-min-microvolt = <3300000>;
109 regulator-max-microvolt = <3300000>;
110 regulator-always-on;
111 };
112
113 reg_can_xcvr: regulator-can-xcvr {
114 compatible = "regulator-fixed";
115 regulator-name = "CAN XCVR";
116 regulator-min-microvolt = <3300000>;
117 regulator-max-microvolt = <3300000>;
118 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
121 };
122
123 reg_lcd: regulator-lcd-power {
124 compatible = "regulator-fixed";
125 regulator-name = "LCD POWER";
126 regulator-min-microvolt = <3300000>;
127 regulator-max-microvolt = <3300000>;
128 gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
129 enable-active-high;
130 };
131
132 reg_lcd_reset: regulator-lcd-reset {
133 compatible = "regulator-fixed";
134 regulator-name = "LCD RESET";
135 regulator-min-microvolt = <3300000>;
136 regulator-max-microvolt = <3300000>;
137 gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
138 startup-delay-us = <300000>;
139 enable-active-high;
140 regulator-always-on;
141 regulator-boot-on;
142 };
143
144 mclk: clock-mclk {
145 compatible = "fixed-clock";
146 #clock-cells = <0>;
147 clock-frequency = <26000000>;
148 };
149
150 sound {
151 compatible = "fsl,imx28-tx28-sgtl5000",
152 "fsl,mxs-audio-sgtl5000";
153 model = "imx28-tx28-sgtl5000";
154 saif-controllers = <&saif0 &saif1>;
155 audio-codec = <&sgtl5000>;
156 };
157
158 leds {
159 compatible = "gpio-leds";
160
161 user_led: user {
162 label = "Heartbeat";
163 gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
164 linux,default-trigger = "heartbeat";
165 };
166 };
167
168 backlight {
169 compatible = "pwm-backlight";
170 pwms = <&pwm 0 500000>;
171 /*
172 * a silly way to create a 1:1 relationship between the
173 * PWM value and the actual duty cycle
174 */
175 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
176 10 11 12 13 14 15 16 17 18 19
177 20 21 22 23 24 25 26 27 28 29
178 30 31 32 33 34 35 36 37 38 39
179 40 41 42 43 44 45 46 47 48 49
180 50 51 52 53 54 55 56 57 58 59
181 60 61 62 63 64 65 66 67 68 69
182 70 71 72 73 74 75 76 77 78 79
183 80 81 82 83 84 85 86 87 88 89
184 90 91 92 93 94 95 96 97 98 99
185 100>;
186 default-brightness-level = <50>;
187 };
188
189 matrix_keypad: matrix-keypad {
190 compatible = "gpio-matrix-keypad";
191 col-gpios = <
192 &gpio5 0 GPIO_ACTIVE_HIGH
193 &gpio5 1 GPIO_ACTIVE_HIGH
194 &gpio5 2 GPIO_ACTIVE_HIGH
195 &gpio5 3 GPIO_ACTIVE_HIGH
196 >;
197 row-gpios = <
198 &gpio5 4 GPIO_ACTIVE_HIGH
199 &gpio5 5 GPIO_ACTIVE_HIGH
200 &gpio5 6 GPIO_ACTIVE_HIGH
201 &gpio5 7 GPIO_ACTIVE_HIGH
202 >;
203 /* sample keymap */
204 linux,keymap = <
205 0x00000074 /* row 0, col 0, KEY_POWER */
206 0x00010052 /* row 0, col 1, KEY_KP0 */
207 0x0002004f /* row 0, col 2, KEY_KP1 */
208 0x00030050 /* row 0, col 3, KEY_KP2 */
209 0x01000051 /* row 1, col 0, KEY_KP3 */
210 0x0101004b /* row 1, col 1, KEY_KP4 */
211 0x0102004c /* row 1, col 2, KEY_KP5 */
212 0x0103004d /* row 1, col 3, KEY_KP6 */
213 0x02000047 /* row 2, col 0, KEY_KP7 */
214 0x02010048 /* row 2, col 1, KEY_KP8 */
215 0x02020049 /* row 2, col 2, KEY_KP9 */
216 >;
217 gpio-activelow;
218 wakeup-source;
219 debounce-delay-ms = <100>;
220 col-scan-delay-us = <5000>;
221 linux,no-autorepeat;
222 };
223
224 spi_gpio: spi {
225 compatible = "spi-gpio";
226 #address-cells = <1>;
227 #size-cells = <0>;
228 pinctrl-names = "default";
229 pinctrl-0 = <&tx28_spi_gpio_pins>;
230
231 gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>;
232 gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>;
233 gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>;
234 num-chipselects = <3>;
235 cs-gpios = <
236 &gpio2 27 GPIO_ACTIVE_LOW
237 &gpio3 8 GPIO_ACTIVE_LOW
238 &gpio3 9 GPIO_ACTIVE_LOW
239 >;
240 /* enable this and disable ssp3 below, if you need full duplex SPI transfer */
241 status = "disabled";
242 };
243};
244
245/* 2nd TX-Std UART - (A)UART1 */
246&auart1 {
247 pinctrl-names = "default";
248 pinctrl-0 = <&auart1_pins_a>;
249 status = "okay";
250};
251
252/* 3rd TX-Std UART - (A)UART3 */
253&auart3 {
254 pinctrl-names = "default";
255 pinctrl-0 = <&auart3_pins_a>;
256 status = "okay";
257};
258
259&can0 {
260 pinctrl-names = "default";
261 pinctrl-0 = <&can0_pins_a>;
262 xceiver-supply = <®_can_xcvr>;
263 status = "okay";
264};
265
266&can1 {
267 pinctrl-names = "default";
268 pinctrl-0 = <&can1_pins_a>;
269 xceiver-supply = <®_can_xcvr>;
270 status = "okay";
271};
272
273&digctl {
274 status = "okay";
275};
276
277/* 1st TX-Std UART - (D)UART */
278&duart {
279 pinctrl-names = "default";
280 pinctrl-0 = <&duart_4pins_a>;
281 status = "okay";
282};
283
284&gpmi {
285 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
286 nand-on-flash-bbt;
287 status = "okay";
288};
289
290&i2c0 {
291 pinctrl-names = "default";
292 pinctrl-0 = <&i2c0_pins_a>;
293 clock-frequency = <400000>;
294 status = "okay";
295
296 sgtl5000: sgtl5000@a {
297 compatible = "fsl,sgtl5000";
298 reg = <0x0a>;
299 VDDA-supply = <®_2p5v>;
300 VDDIO-supply = <®_3p3v>;
301 clocks = <&mclk>;
302 };
303
304 gpio5: pca953x@20 {
305 compatible = "nxp,pca9554";
306 reg = <0x20>;
307 pinctrl-names = "default";
308 pinctrl-0 = <&tx28_pca9554_pins>;
309 interrupt-parent = <&gpio3>;
310 interrupts = <28 IRQ_TYPE_NONE>;
311 gpio-controller;
312 #gpio-cells = <2>;
313 interrupt-controller;
314 #interrupt-cells = <2>;
315 };
316
317 polytouch: edt-ft5x06@38 {
318 compatible = "edt,edt-ft5x06";
319 reg = <0x38>;
320 pinctrl-names = "default";
321 pinctrl-0 = <&tx28_edt_ft5x06_pins>;
322 interrupt-parent = <&gpio2>;
323 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
324 reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
325 wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
326 wakeup-source;
327 };
328
329 touchscreen: tsc2007@48 {
330 compatible = "ti,tsc2007";
331 reg = <0x48>;
332 pinctrl-names = "default";
333 pinctrl-0 = <&tx28_tsc2007_pins>;
334 interrupt-parent = <&gpio3>;
335 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
336 pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
337 ti,x-plate-ohms = /bits/ 16 <660>;
338 };
339
340 ds1339: rtc@68 {
341 compatible = "dallas,ds1339";
342 reg = <0x68>;
343 trickle-resistor-ohms = <250>;
344 trickle-diode-disable;
345 };
346};
347
348&lcdif {
349 pinctrl-names = "default";
350 pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
351 lcd-supply = <®_lcd>;
352 display = <&display0>;
353 status = "okay";
354
355 display0: display0 {
356 bits-per-pixel = <32>;
357 bus-width = <24>;
358 display-timings {
359 native-mode = <&timing5>;
360 timing0: timing0 {
361 panel-name = "VGA";
362 clock-frequency = <25175000>;
363 hactive = <640>;
364 vactive = <480>;
365 hback-porch = <48>;
366 hsync-len = <96>;
367 hfront-porch = <16>;
368 vback-porch = <33>;
369 vsync-len = <2>;
370 vfront-porch = <10>;
371 hsync-active = <0>;
372 vsync-active = <0>;
373 de-active = <1>;
374 pixelclk-active = <1>;
375 };
376
377 timing1: timing1 {
378 panel-name = "ETV570";
379 clock-frequency = <25175000>;
380 hactive = <640>;
381 vactive = <480>;
382 hback-porch = <114>;
383 hsync-len = <30>;
384 hfront-porch = <16>;
385 vback-porch = <32>;
386 vsync-len = <3>;
387 vfront-porch = <10>;
388 hsync-active = <0>;
389 vsync-active = <0>;
390 de-active = <1>;
391 pixelclk-active = <1>;
392 };
393
394 timing2: timing2 {
395 panel-name = "ET0350";
396 clock-frequency = <6500000>;
397 hactive = <320>;
398 vactive = <240>;
399 hback-porch = <34>;
400 hsync-len = <34>;
401 hfront-porch = <20>;
402 vback-porch = <15>;
403 vsync-len = <3>;
404 vfront-porch = <4>;
405 hsync-active = <0>;
406 vsync-active = <0>;
407 de-active = <1>;
408 pixelclk-active = <1>;
409 };
410
411 timing3: timing3 {
412 panel-name = "ET0430";
413 clock-frequency = <9000000>;
414 hactive = <480>;
415 vactive = <272>;
416 hback-porch = <2>;
417 hsync-len = <41>;
418 hfront-porch = <2>;
419 vback-porch = <2>;
420 vsync-len = <10>;
421 vfront-porch = <2>;
422 hsync-active = <0>;
423 vsync-active = <0>;
424 de-active = <1>;
425 pixelclk-active = <1>;
426 };
427
428 timing4: timing4 {
429 panel-name = "ET0500", "ET0700";
430 clock-frequency = <33260000>;
431 hactive = <800>;
432 vactive = <480>;
433 hback-porch = <88>;
434 hsync-len = <128>;
435 hfront-porch = <40>;
436 vback-porch = <33>;
437 vsync-len = <2>;
438 vfront-porch = <10>;
439 hsync-active = <0>;
440 vsync-active = <0>;
441 de-active = <1>;
442 pixelclk-active = <1>;
443 };
444
445 timing5: timing5 {
446 panel-name = "ETQ570";
447 clock-frequency = <6400000>;
448 hactive = <320>;
449 vactive = <240>;
450 hback-porch = <38>;
451 hsync-len = <30>;
452 hfront-porch = <30>;
453 vback-porch = <16>;
454 vsync-len = <3>;
455 vfront-porch = <4>;
456 hsync-active = <0>;
457 vsync-active = <0>;
458 de-active = <1>;
459 pixelclk-active = <1>;
460 };
461 };
462 };
463};
464
465&lradc {
466 fsl,lradc-touchscreen-wires = <4>;
467 status = "okay";
468};
469
470&mac0 {
471 phy-mode = "rmii";
472 pinctrl-names = "default", "gpio_mode";
473 pinctrl-0 = <&mac0_pins_a>;
474 pinctrl-1 = <&tx28_mac0_pins_gpio>;
475 status = "okay";
476};
477
478&mac1 {
479 phy-mode = "rmii";
480 pinctrl-names = "default";
481 pinctrl-0 = <&mac1_pins_a>;
482 /* not enabled by default */
483};
484
485&mxs_rtc {
486 status = "okay";
487};
488
489&ocotp {
490 status = "okay";
491};
492
493&pwm {
494 pinctrl-names = "default";
495 pinctrl-0 = <&pwm0_pins_a>;
496 status = "okay";
497};
498
499&pinctrl {
500 pinctrl-names = "default";
501 pinctrl-0 = <&hog_pins_a>;
502
503 hog_pins_a: hog@0 {
504 reg = <0>;
505 fsl,pinmux-ids = <
506 MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
507 >;
508 fsl,drive-strength = <MXS_DRIVE_4mA>;
509 fsl,voltage = <MXS_VOLTAGE_HIGH>;
510 fsl,pull-up = <MXS_PULL_DISABLE>;
511 };
512
513 tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins@0 {
514 reg = <0>;
515 fsl,pinmux-ids = <
516 MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
517 MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
518 MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
519 >;
520 fsl,drive-strength = <MXS_DRIVE_4mA>;
521 fsl,voltage = <MXS_VOLTAGE_HIGH>;
522 fsl,pull-up = <MXS_PULL_DISABLE>;
523 };
524
525 tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins@0 {
526 reg = <0>;
527 fsl,pinmux-ids = <
528 MX28_PAD_LCD_D00__GPIO_1_0
529 >;
530 fsl,drive-strength = <MXS_DRIVE_4mA>;
531 fsl,voltage = <MXS_VOLTAGE_HIGH>;
532 fsl,pull-up = <MXS_PULL_DISABLE>;
533 };
534
535 tx28_lcdif_23bit_pins: tx28-lcdif-23bit@0 {
536 reg = <0>;
537 fsl,pinmux-ids = <
538 /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
539 MX28_PAD_LCD_D01__LCD_D1
540 MX28_PAD_LCD_D02__LCD_D2
541 MX28_PAD_LCD_D03__LCD_D3
542 MX28_PAD_LCD_D04__LCD_D4
543 MX28_PAD_LCD_D05__LCD_D5
544 MX28_PAD_LCD_D06__LCD_D6
545 MX28_PAD_LCD_D07__LCD_D7
546 MX28_PAD_LCD_D08__LCD_D8
547 MX28_PAD_LCD_D09__LCD_D9
548 MX28_PAD_LCD_D10__LCD_D10
549 MX28_PAD_LCD_D11__LCD_D11
550 MX28_PAD_LCD_D12__LCD_D12
551 MX28_PAD_LCD_D13__LCD_D13
552 MX28_PAD_LCD_D14__LCD_D14
553 MX28_PAD_LCD_D15__LCD_D15
554 MX28_PAD_LCD_D16__LCD_D16
555 MX28_PAD_LCD_D17__LCD_D17
556 MX28_PAD_LCD_D18__LCD_D18
557 MX28_PAD_LCD_D19__LCD_D19
558 MX28_PAD_LCD_D20__LCD_D20
559 MX28_PAD_LCD_D21__LCD_D21
560 MX28_PAD_LCD_D22__LCD_D22
561 MX28_PAD_LCD_D23__LCD_D23
562 >;
563 fsl,drive-strength = <MXS_DRIVE_4mA>;
564 fsl,voltage = <MXS_VOLTAGE_HIGH>;
565 fsl,pull-up = <MXS_PULL_DISABLE>;
566 };
567
568 tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl@0 {
569 reg = <0>;
570 fsl,pinmux-ids = <
571 MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
572 MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
573 >;
574 fsl,drive-strength = <MXS_DRIVE_4mA>;
575 fsl,voltage = <MXS_VOLTAGE_HIGH>;
576 fsl,pull-up = <MXS_PULL_DISABLE>;
577 };
578
579 tx28_mac0_pins_gpio: tx28-mac0-gpio-pins@0 {
580 reg = <0>;
581 fsl,pinmux-ids = <
582 MX28_PAD_ENET0_MDC__GPIO_4_0
583 MX28_PAD_ENET0_MDIO__GPIO_4_1
584 MX28_PAD_ENET0_RX_EN__GPIO_4_2
585 MX28_PAD_ENET0_RXD0__GPIO_4_3
586 MX28_PAD_ENET0_RXD1__GPIO_4_4
587 MX28_PAD_ENET0_TX_EN__GPIO_4_6
588 MX28_PAD_ENET0_TXD0__GPIO_4_7
589 MX28_PAD_ENET0_TXD1__GPIO_4_8
590 MX28_PAD_ENET_CLK__GPIO_4_16
591 >;
592 fsl,drive-strength = <MXS_DRIVE_4mA>;
593 fsl,voltage = <MXS_VOLTAGE_HIGH>;
594 fsl,pull-up = <MXS_PULL_DISABLE>;
595 };
596
597 tx28_pca9554_pins: tx28-pca9554-pins@0 {
598 reg = <0>;
599 fsl,pinmux-ids = <
600 MX28_PAD_PWM3__GPIO_3_28
601 >;
602 fsl,drive-strength = <MXS_DRIVE_4mA>;
603 fsl,voltage = <MXS_VOLTAGE_HIGH>;
604 fsl,pull-up = <MXS_PULL_DISABLE>;
605 };
606
607 tx28_spi_gpio_pins: spi-gpiogrp@0 {
608 reg = <0>;
609 fsl,pinmux-ids = <
610 MX28_PAD_AUART2_RX__GPIO_3_8
611 MX28_PAD_AUART2_TX__GPIO_3_9
612 MX28_PAD_SSP3_SCK__GPIO_2_24
613 MX28_PAD_SSP3_MOSI__GPIO_2_25
614 MX28_PAD_SSP3_MISO__GPIO_2_26
615 MX28_PAD_SSP3_SS0__GPIO_2_27
616 >;
617 fsl,drive-strength = <MXS_DRIVE_8mA>;
618 fsl,voltage = <MXS_VOLTAGE_HIGH>;
619 fsl,pull-up = <MXS_PULL_DISABLE>;
620 };
621
622 tx28_tsc2007_pins: tx28-tsc2007-pins@0 {
623 reg = <0>;
624 fsl,pinmux-ids = <
625 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
626 >;
627 fsl,drive-strength = <MXS_DRIVE_4mA>;
628 fsl,voltage = <MXS_VOLTAGE_HIGH>;
629 fsl,pull-up = <MXS_PULL_DISABLE>;
630 };
631
632
633 tx28_usbphy0_pins: tx28-usbphy0-pins@0 {
634 reg = <0>;
635 fsl,pinmux-ids = <
636 MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
637 MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
638 >;
639 fsl,drive-strength = <MXS_DRIVE_12mA>;
640 fsl,voltage = <MXS_VOLTAGE_HIGH>;
641 fsl,pull-up = <MXS_PULL_DISABLE>;
642 };
643
644 tx28_usbphy1_pins: tx28-usbphy1-pins@0 {
645 reg = <0>;
646 fsl,pinmux-ids = <
647 MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
648 MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
649 >;
650 fsl,drive-strength = <MXS_DRIVE_12mA>;
651 fsl,voltage = <MXS_VOLTAGE_HIGH>;
652 fsl,pull-up = <MXS_PULL_DISABLE>;
653 };
654};
655
656&saif0 {
657 pinctrl-names = "default";
658 pinctrl-0 = <&saif0_pins_b>;
659 fsl,saif-master;
660 status = "okay";
661};
662
663&saif1 {
664 pinctrl-names = "default";
665 pinctrl-0 = <&saif1_pins_a>;
666 status = "okay";
667};
668
669&ssp0 {
670 compatible = "fsl,imx28-mmc";
671 pinctrl-names = "default", "special";
672 pinctrl-0 = <&mmc0_4bit_pins_a
673 &mmc0_cd_cfg
674 &mmc0_sck_cfg>;
675 bus-width = <4>;
676 status = "okay";
677};
678
679&ssp3 {
680 compatible = "fsl,imx28-spi";
681 pinctrl-names = "default";
682 pinctrl-0 = <&spi3_pins_a>;
683 clock-frequency = <57600000>;
684 status = "okay";
685};
686
687&usb0 {
688 vbus-supply = <®_usb0_vbus>;
689 disable-over-current;
690 dr_mode = "peripheral";
691 status = "okay";
692};
693
694&usb1 {
695 vbus-supply = <®_usb1_vbus>;
696 disable-over-current;
697 dr_mode = "host";
698 status = "okay";
699};
700
701&usbphy0 {
702 pinctrl-names = "default";
703 pinctrl-0 = <&tx28_usbphy0_pins>;
704 phy_type = "utmi";
705 status = "okay";
706};
707
708&usbphy1 {
709 pinctrl-names = "default";
710 pinctrl-0 = <&tx28_usbphy1_pins>;
711 phy_type = "utmi";
712 status = "okay";
713};
1/*
2 * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
3 * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13/dts-v1/;
14#include "imx28.dtsi"
15#include <dt-bindings/gpio/gpio.h>
16
17/ {
18 model = "Ka-Ro electronics TX28 module";
19 compatible = "karo,tx28", "fsl,imx28";
20
21 aliases {
22 can0 = &can0;
23 can1 = &can1;
24 display = &display;
25 ds1339 = &ds1339;
26 gpio5 = &gpio5;
27 lcdif = &lcdif;
28 lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
29 lcdif_24bit_pins = &lcdif_24bit_pins_a;
30 stk5led = &user_led;
31 usbotg = &usb0;
32 };
33
34 memory {
35 reg = <0 0>; /* will be filled in by U-Boot */
36 };
37
38 onewire {
39 compatible = "w1-gpio";
40 gpios = <&gpio2 7 0>;
41 status = "disabled";
42 };
43
44 regulators {
45 compatible = "simple-bus";
46 #address-cells = <1>;
47 #size-cells = <0>;
48
49 reg_usb0_vbus: regulator@0 {
50 compatible = "regulator-fixed";
51 reg = <0>;
52 regulator-name = "usb0_vbus";
53 regulator-min-microvolt = <5000000>;
54 regulator-max-microvolt = <5000000>;
55 gpio = <&gpio0 18 0>;
56 enable-active-high;
57 };
58
59 reg_usb1_vbus: regulator@1 {
60 compatible = "regulator-fixed";
61 reg = <1>;
62 regulator-name = "usb1_vbus";
63 regulator-min-microvolt = <5000000>;
64 regulator-max-microvolt = <5000000>;
65 gpio = <&gpio3 27 0>;
66 enable-active-high;
67 };
68
69 reg_2p5v: regulator@2 {
70 compatible = "regulator-fixed";
71 reg = <2>;
72 regulator-name = "2P5V";
73 regulator-min-microvolt = <2500000>;
74 regulator-max-microvolt = <2500000>;
75 regulator-always-on;
76 };
77
78 reg_3p3v: regulator@3 {
79 compatible = "regulator-fixed";
80 reg = <3>;
81 regulator-name = "3P3V";
82 regulator-min-microvolt = <3300000>;
83 regulator-max-microvolt = <3300000>;
84 regulator-always-on;
85 };
86
87 reg_can_xcvr: regulator@4 {
88 compatible = "regulator-fixed";
89 reg = <4>;
90 regulator-name = "CAN XCVR";
91 regulator-min-microvolt = <3300000>;
92 regulator-max-microvolt = <3300000>;
93 gpio = <&gpio1 0 0>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
96 };
97
98 reg_lcd: regulator@5 {
99 compatible = "regulator-fixed";
100 reg = <5>;
101 regulator-name = "LCD POWER";
102 regulator-min-microvolt = <3300000>;
103 regulator-max-microvolt = <3300000>;
104 gpio = <&gpio1 31 0>;
105 enable-active-high;
106 };
107
108 reg_lcd_reset: regulator@6 {
109 compatible = "regulator-fixed";
110 reg = <6>;
111 regulator-name = "LCD RESET";
112 regulator-min-microvolt = <3300000>;
113 regulator-max-microvolt = <3300000>;
114 gpio = <&gpio3 30 0>;
115 startup-delay-us = <300000>;
116 enable-active-high;
117 regulator-always-on;
118 regulator-boot-on;
119 };
120 };
121
122 clocks {
123 #address-cells = <1>;
124 #size-cells = <0>;
125 mclk: clock@0 {
126 compatible = "fixed-clock";
127 reg = <0>;
128 #clock-cells = <0>;
129 clock-frequency = <27000000>;
130 };
131 };
132
133 sound {
134 compatible = "fsl,imx28-tx28-sgtl5000",
135 "fsl,mxs-audio-sgtl5000";
136 model = "imx28-tx28-sgtl5000";
137 saif-controllers = <&saif0 &saif1>;
138 audio-codec = <&sgtl5000>;
139 };
140
141 leds {
142 compatible = "gpio-leds";
143
144 user_led: user {
145 label = "Heartbeat";
146 gpios = <&gpio4 10 0>;
147 linux,default-trigger = "heartbeat";
148 };
149 };
150
151 backlight {
152 compatible = "pwm-backlight";
153 pwms = <&pwm 0 500000>;
154 /*
155 * a silly way to create a 1:1 relationship between the
156 * PWM value and the actual duty cycle
157 */
158 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
159 10 11 12 13 14 15 16 17 18 19
160 20 21 22 23 24 25 26 27 28 29
161 30 31 32 33 34 35 36 37 38 39
162 40 41 42 43 44 45 46 47 48 49
163 50 51 52 53 54 55 56 57 58 59
164 60 61 62 63 64 65 66 67 68 69
165 70 71 72 73 74 75 76 77 78 79
166 80 81 82 83 84 85 86 87 88 89
167 90 91 92 93 94 95 96 97 98 99
168 100>;
169 default-brightness-level = <50>;
170 };
171
172 matrix_keypad: matrix-keypad@0 {
173 compatible = "gpio-matrix-keypad";
174 col-gpios = <
175 &gpio5 0 0
176 &gpio5 1 0
177 &gpio5 2 0
178 &gpio5 3 0
179 >;
180 row-gpios = <
181 &gpio5 4 0
182 &gpio5 5 0
183 &gpio5 6 0
184 &gpio5 7 0
185 >;
186 /* sample keymap */
187 linux,keymap = <
188 0x00000074 /* row 0, col 0, KEY_POWER */
189 0x00010052 /* row 0, col 1, KEY_KP0 */
190 0x0002004f /* row 0, col 2, KEY_KP1 */
191 0x00030050 /* row 0, col 3, KEY_KP2 */
192 0x01000051 /* row 1, col 0, KEY_KP3 */
193 0x0101004b /* row 1, col 1, KEY_KP4 */
194 0x0102004c /* row 1, col 2, KEY_KP5 */
195 0x0103004d /* row 1, col 3, KEY_KP6 */
196 0x02000047 /* row 2, col 0, KEY_KP7 */
197 0x02010048 /* row 2, col 1, KEY_KP8 */
198 0x02020049 /* row 2, col 2, KEY_KP9 */
199 >;
200 gpio-activelow;
201 linux,wakeup;
202 debounce-delay-ms = <100>;
203 col-scan-delay-us = <5000>;
204 linux,no-autorepeat;
205 };
206};
207
208/* 2nd TX-Std UART - (A)UART1 */
209&auart1 {
210 pinctrl-names = "default";
211 pinctrl-0 = <&auart1_pins_a>;
212 status = "okay";
213};
214
215/* 3rd TX-Std UART - (A)UART3 */
216&auart3 {
217 pinctrl-names = "default";
218 pinctrl-0 = <&auart3_pins_a>;
219 status = "okay";
220};
221
222&can0 {
223 pinctrl-names = "default";
224 pinctrl-0 = <&can0_pins_a>;
225 xceiver-supply = <®_can_xcvr>;
226 status = "okay";
227};
228
229&can1 {
230 pinctrl-names = "default";
231 pinctrl-0 = <&can1_pins_a>;
232 xceiver-supply = <®_can_xcvr>;
233 status = "okay";
234};
235
236&digctl {
237 status = "okay";
238};
239
240/* 1st TX-Std UART - (D)UART */
241&duart {
242 pinctrl-names = "default";
243 pinctrl-0 = <&duart_4pins_a>;
244 status = "okay";
245};
246
247&gpmi {
248 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
249 nand-on-flash-bbt;
250 status = "okay";
251};
252
253&i2c0 {
254 pinctrl-names = "default";
255 pinctrl-0 = <&i2c0_pins_a>;
256 clock-frequency = <400000>;
257 status = "okay";
258
259 sgtl5000: sgtl5000@0a {
260 compatible = "fsl,sgtl5000";
261 reg = <0x0a>;
262 VDDA-supply = <®_2p5v>;
263 VDDIO-supply = <®_3p3v>;
264 clocks = <&mclk>;
265 };
266
267 gpio5: pca953x@20 {
268 compatible = "nxp,pca9554";
269 reg = <0x20>;
270 pinctrl-names = "default";
271 pinctrl-0 = <&tx28_pca9554_pins>;
272 interrupt-parent = <&gpio3>;
273 interrupts = <28 0>;
274 gpio-controller;
275 #gpio-cells = <2>;
276 interrupt-controller;
277 #interrupt-cells = <2>;
278 };
279
280 polytouch: edt-ft5x06@38 {
281 compatible = "edt,edt-ft5x06";
282 reg = <0x38>;
283 pinctrl-names = "default";
284 pinctrl-0 = <&tx28_edt_ft5x06_pins>;
285 interrupt-parent = <&gpio2>;
286 interrupts = <5 0>;
287 reset-gpios = <&gpio2 6 1>;
288 wake-gpios = <&gpio4 9 0>;
289 };
290
291 touchscreen: tsc2007@48 {
292 compatible = "ti,tsc2007";
293 reg = <0x48>;
294 pinctrl-names = "default";
295 pinctrl-0 = <&tx28_tsc2007_pins>;
296 interrupt-parent = <&gpio3>;
297 interrupts = <20 0>;
298 pendown-gpio = <&gpio3 20 1>;
299 ti,x-plate-ohms = /bits/ 16 <660>;
300 };
301
302 ds1339: rtc@68 {
303 compatible = "mxim,ds1339";
304 reg = <0x68>;
305 };
306};
307
308&lcdif {
309 pinctrl-names = "default";
310 pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
311 lcd-supply = <®_lcd>;
312 display = <&display>;
313 status = "okay";
314
315 display: display@0 {
316 bits-per-pixel = <32>;
317 bus-width = <24>;
318 display-timings {
319 native-mode = <&timing5>;
320 timing0: timing0 {
321 panel-name = "VGA";
322 clock-frequency = <25175000>;
323 hactive = <640>;
324 vactive = <480>;
325 hback-porch = <48>;
326 hsync-len = <96>;
327 hfront-porch = <16>;
328 vback-porch = <33>;
329 vsync-len = <2>;
330 vfront-porch = <10>;
331 hsync-active = <0>;
332 vsync-active = <0>;
333 de-active = <1>;
334 pixelclk-active = <1>;
335 };
336
337 timing1: timing1 {
338 panel-name = "ETV570";
339 clock-frequency = <25175000>;
340 hactive = <640>;
341 vactive = <480>;
342 hback-porch = <114>;
343 hsync-len = <30>;
344 hfront-porch = <16>;
345 vback-porch = <32>;
346 vsync-len = <3>;
347 vfront-porch = <10>;
348 hsync-active = <0>;
349 vsync-active = <0>;
350 de-active = <1>;
351 pixelclk-active = <1>;
352 };
353
354 timing2: timing2 {
355 panel-name = "ET0350";
356 clock-frequency = <6500000>;
357 hactive = <320>;
358 vactive = <240>;
359 hback-porch = <34>;
360 hsync-len = <34>;
361 hfront-porch = <20>;
362 vback-porch = <15>;
363 vsync-len = <3>;
364 vfront-porch = <4>;
365 hsync-active = <0>;
366 vsync-active = <0>;
367 de-active = <1>;
368 pixelclk-active = <1>;
369 };
370
371 timing3: timing3 {
372 panel-name = "ET0430";
373 clock-frequency = <9000000>;
374 hactive = <480>;
375 vactive = <272>;
376 hback-porch = <2>;
377 hsync-len = <41>;
378 hfront-porch = <2>;
379 vback-porch = <2>;
380 vsync-len = <10>;
381 vfront-porch = <2>;
382 hsync-active = <0>;
383 vsync-active = <0>;
384 de-active = <1>;
385 pixelclk-active = <1>;
386 };
387
388 timing4: timing4 {
389 panel-name = "ET0500", "ET0700";
390 clock-frequency = <33260000>;
391 hactive = <800>;
392 vactive = <480>;
393 hback-porch = <88>;
394 hsync-len = <128>;
395 hfront-porch = <40>;
396 vback-porch = <33>;
397 vsync-len = <2>;
398 vfront-porch = <10>;
399 hsync-active = <0>;
400 vsync-active = <0>;
401 de-active = <1>;
402 pixelclk-active = <1>;
403 };
404
405 timing5: timing5 {
406 panel-name = "ETQ570";
407 clock-frequency = <6400000>;
408 hactive = <320>;
409 vactive = <240>;
410 hback-porch = <38>;
411 hsync-len = <30>;
412 hfront-porch = <30>;
413 vback-porch = <16>;
414 vsync-len = <3>;
415 vfront-porch = <4>;
416 hsync-active = <0>;
417 vsync-active = <0>;
418 de-active = <1>;
419 pixelclk-active = <1>;
420 };
421 };
422 };
423};
424
425&lradc {
426 fsl,lradc-touchscreen-wires = <4>;
427 status = "okay";
428};
429
430&mac0 {
431 phy-mode = "rmii";
432 pinctrl-names = "default", "gpio_mode";
433 pinctrl-0 = <&mac0_pins_a>;
434 pinctrl-1 = <&tx28_mac0_pins_gpio>;
435 status = "okay";
436};
437
438&mac1 {
439 phy-mode = "rmii";
440 pinctrl-names = "default";
441 pinctrl-0 = <&mac1_pins_a>;
442 /* not enabled by default */
443};
444
445&mxs_rtc {
446 status = "okay";
447};
448
449&ocotp {
450 status = "okay";
451};
452
453&pwm {
454 pinctrl-names = "default";
455 pinctrl-0 = <&pwm0_pins_a>;
456 status = "okay";
457};
458
459&pinctrl {
460 pinctrl-names = "default";
461 pinctrl-0 = <&hog_pins_a>;
462
463 hog_pins_a: hog@0 {
464 reg = <0>;
465 fsl,pinmux-ids = <
466 MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
467 >;
468 fsl,drive-strength = <MXS_DRIVE_4mA>;
469 fsl,voltage = <MXS_VOLTAGE_HIGH>;
470 fsl,pull-up = <MXS_PULL_DISABLE>;
471 };
472
473 tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins {
474 fsl,pinmux-ids = <
475 MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
476 MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
477 MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
478 >;
479 fsl,drive-strength = <MXS_DRIVE_4mA>;
480 fsl,voltage = <MXS_VOLTAGE_HIGH>;
481 fsl,pull-up = <MXS_PULL_DISABLE>;
482 };
483
484 tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
485 fsl,pinmux-ids = <
486 MX28_PAD_LCD_D00__GPIO_1_0
487 >;
488 fsl,drive-strength = <MXS_DRIVE_4mA>;
489 fsl,voltage = <MXS_VOLTAGE_HIGH>;
490 fsl,pull-up = <MXS_PULL_DISABLE>;
491 };
492
493 tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
494 fsl,pinmux-ids = <
495 /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
496 MX28_PAD_LCD_D01__LCD_D1
497 MX28_PAD_LCD_D02__LCD_D2
498 MX28_PAD_LCD_D03__LCD_D3
499 MX28_PAD_LCD_D04__LCD_D4
500 MX28_PAD_LCD_D05__LCD_D5
501 MX28_PAD_LCD_D06__LCD_D6
502 MX28_PAD_LCD_D07__LCD_D7
503 MX28_PAD_LCD_D08__LCD_D8
504 MX28_PAD_LCD_D09__LCD_D9
505 MX28_PAD_LCD_D10__LCD_D10
506 MX28_PAD_LCD_D11__LCD_D11
507 MX28_PAD_LCD_D12__LCD_D12
508 MX28_PAD_LCD_D13__LCD_D13
509 MX28_PAD_LCD_D14__LCD_D14
510 MX28_PAD_LCD_D15__LCD_D15
511 MX28_PAD_LCD_D16__LCD_D16
512 MX28_PAD_LCD_D17__LCD_D17
513 MX28_PAD_LCD_D18__LCD_D18
514 MX28_PAD_LCD_D19__LCD_D19
515 MX28_PAD_LCD_D20__LCD_D20
516 MX28_PAD_LCD_D21__LCD_D21
517 MX28_PAD_LCD_D22__LCD_D22
518 MX28_PAD_LCD_D23__LCD_D23
519 >;
520 fsl,drive-strength = <MXS_DRIVE_4mA>;
521 fsl,voltage = <MXS_VOLTAGE_HIGH>;
522 fsl,pull-up = <MXS_PULL_DISABLE>;
523 };
524
525 tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
526 fsl,pinmux-ids = <
527 MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
528 MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
529 >;
530 fsl,drive-strength = <MXS_DRIVE_4mA>;
531 fsl,voltage = <MXS_VOLTAGE_HIGH>;
532 fsl,pull-up = <MXS_PULL_DISABLE>;
533 };
534
535 tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
536 fsl,pinmux-ids = <
537 MX28_PAD_ENET0_MDC__GPIO_4_0
538 MX28_PAD_ENET0_MDIO__GPIO_4_1
539 MX28_PAD_ENET0_RX_EN__GPIO_4_2
540 MX28_PAD_ENET0_RXD0__GPIO_4_3
541 MX28_PAD_ENET0_RXD1__GPIO_4_4
542 MX28_PAD_ENET0_TX_EN__GPIO_4_6
543 MX28_PAD_ENET0_TXD0__GPIO_4_7
544 MX28_PAD_ENET0_TXD1__GPIO_4_8
545 MX28_PAD_ENET_CLK__GPIO_4_16
546 >;
547 fsl,drive-strength = <MXS_DRIVE_4mA>;
548 fsl,voltage = <MXS_VOLTAGE_HIGH>;
549 fsl,pull-up = <MXS_PULL_DISABLE>;
550 };
551
552 tx28_pca9554_pins: tx28-pca9554-pins {
553 fsl,pinmux-ids = <
554 MX28_PAD_PWM3__GPIO_3_28
555 >;
556 fsl,drive-strength = <MXS_DRIVE_4mA>;
557 fsl,voltage = <MXS_VOLTAGE_HIGH>;
558 fsl,pull-up = <MXS_PULL_DISABLE>;
559 };
560
561 tx28_tsc2007_pins: tx28-tsc2007-pins {
562 fsl,pinmux-ids = <
563 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
564 >;
565 fsl,drive-strength = <MXS_DRIVE_4mA>;
566 fsl,voltage = <MXS_VOLTAGE_HIGH>;
567 fsl,pull-up = <MXS_PULL_DISABLE>;
568 };
569
570
571 tx28_usbphy0_pins: tx28-usbphy0-pins {
572 fsl,pinmux-ids = <
573 MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
574 MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
575 >;
576 fsl,drive-strength = <MXS_DRIVE_12mA>;
577 fsl,voltage = <MXS_VOLTAGE_HIGH>;
578 fsl,pull-up = <MXS_PULL_DISABLE>;
579 };
580
581 tx28_usbphy1_pins: tx28-usbphy1-pins {
582 fsl,pinmux-ids = <
583 MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
584 MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
585 >;
586 fsl,drive-strength = <MXS_DRIVE_12mA>;
587 fsl,voltage = <MXS_VOLTAGE_HIGH>;
588 fsl,pull-up = <MXS_PULL_DISABLE>;
589 };
590};
591
592&saif0 {
593 pinctrl-names = "default";
594 pinctrl-0 = <&saif0_pins_b>;
595 fsl,saif-master;
596 status = "okay";
597};
598
599&saif1 {
600 pinctrl-names = "default";
601 pinctrl-0 = <&saif1_pins_a>;
602 status = "okay";
603};
604
605&ssp0 {
606 compatible = "fsl,imx28-mmc";
607 pinctrl-names = "default", "special";
608 pinctrl-0 = <&mmc0_4bit_pins_a
609 &mmc0_cd_cfg
610 &mmc0_sck_cfg>;
611 bus-width = <4>;
612 status = "okay";
613};
614
615&ssp3 {
616 compatible = "fsl,imx28-spi";
617 pinctrl-names = "default";
618 pinctrl-0 = <&spi3_pins_a>;
619 clock-frequency = <57600000>;
620 status = "okay";
621
622 spidev0: spi@0 {
623 compatible = "spidev";
624 reg = <0>;
625 spi-max-frequency = <57600000>;
626 };
627
628 spidev1: spi@1 {
629 compatible = "spidev";
630 reg = <1>;
631 spi-max-frequency = <57600000>;
632 };
633};
634
635&usb0 {
636 vbus-supply = <®_usb0_vbus>;
637 disable-over-current;
638 dr_mode = "peripheral";
639 status = "okay";
640};
641
642&usb1 {
643 vbus-supply = <®_usb1_vbus>;
644 disable-over-current;
645 dr_mode = "host";
646 status = "okay";
647};
648
649&usbphy0 {
650 pinctrl-names = "default";
651 pinctrl-0 = <&tx28_usbphy0_pins>;
652 phy_type = "utmi";
653 status = "okay";
654};
655
656&usbphy1 {
657 pinctrl-names = "default";
658 pinctrl-0 = <&tx28_usbphy1_pins>;
659 phy_type = "utmi";
660 status = "okay";
661};