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