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