Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[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
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 = &display0;
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                 reg_can_xcvr = &reg_can_xcvr;
31                 spi_gpio = &spi_gpio;
32                 spi_mxs = &ssp3;
33                 stk5led = &user_led;
34                 usbotg = &usb0;
35         };
36
37         memory {
38                 reg = <0 0>; /* will be filled in by U-Boot */
39         };
40
41         onewire {
42                 compatible = "w1-gpio";
43                 gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
44                 status = "disabled";
45         };
46
47         regulators {
48                 compatible = "simple-bus";
49                 #address-cells = <1>;
50                 #size-cells = <0>;
51
52                 reg_usb0_vbus: regulator@0 {
53                         compatible = "regulator-fixed";
54                         reg = <0>;
55                         regulator-name = "usb0_vbus";
56                         regulator-min-microvolt = <5000000>;
57                         regulator-max-microvolt = <5000000>;
58                         gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
59                         enable-active-high;
60                 };
61
62                 reg_usb1_vbus: regulator@1 {
63                         compatible = "regulator-fixed";
64                         reg = <1>;
65                         regulator-name = "usb1_vbus";
66                         regulator-min-microvolt = <5000000>;
67                         regulator-max-microvolt = <5000000>;
68                         gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
69                         enable-active-high;
70                 };
71
72                 reg_2p5v: regulator@2 {
73                         compatible = "regulator-fixed";
74                         reg = <2>;
75                         regulator-name = "2P5V";
76                         regulator-min-microvolt = <2500000>;
77                         regulator-max-microvolt = <2500000>;
78                         regulator-always-on;
79                 };
80
81                 reg_3p3v: regulator@3 {
82                         compatible = "regulator-fixed";
83                         reg = <3>;
84                         regulator-name = "3P3V";
85                         regulator-min-microvolt = <3300000>;
86                         regulator-max-microvolt = <3300000>;
87                         regulator-always-on;
88                 };
89
90                 reg_can_xcvr: regulator@4 {
91                         compatible = "regulator-fixed";
92                         reg = <4>;
93                         regulator-name = "CAN XCVR";
94                         regulator-min-microvolt = <3300000>;
95                         regulator-max-microvolt = <3300000>;
96                         gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
97                         pinctrl-names = "default";
98                         pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
99                 };
100
101                 reg_lcd: regulator@5 {
102                         compatible = "regulator-fixed";
103                         reg = <5>;
104                         regulator-name = "LCD POWER";
105                         regulator-min-microvolt = <3300000>;
106                         regulator-max-microvolt = <3300000>;
107                         gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
108                         enable-active-high;
109                 };
110
111                 reg_lcd_reset: regulator@6 {
112                         compatible = "regulator-fixed";
113                         reg = <6>;
114                         regulator-name = "LCD RESET";
115                         regulator-min-microvolt = <3300000>;
116                         regulator-max-microvolt = <3300000>;
117                         gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
118                         startup-delay-us = <300000>;
119                         enable-active-high;
120                         regulator-always-on;
121                         regulator-boot-on;
122                 };
123         };
124
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>;
133                 };
134         };
135
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
144         leds {
145                 compatible = "gpio-leds";
146
147                 user_led: user {
148                         label = "Heartbeat";
149                         gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
150                         linux,default-trigger = "heartbeat";
151                 };
152         };
153
154         backlight {
155                 compatible = "pwm-backlight";
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 = <
178                         &gpio5 0 GPIO_ACTIVE_HIGH
179                         &gpio5 1 GPIO_ACTIVE_HIGH
180                         &gpio5 2 GPIO_ACTIVE_HIGH
181                         &gpio5 3 GPIO_ACTIVE_HIGH
182                 >;
183                 row-gpios = <
184                         &gpio5 4 GPIO_ACTIVE_HIGH
185                         &gpio5 5 GPIO_ACTIVE_HIGH
186                         &gpio5 6 GPIO_ACTIVE_HIGH
187                         &gpio5 7 GPIO_ACTIVE_HIGH
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         };
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         };
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>;
328                 reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
329                 wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
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>;
339                 pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
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>;
353         display = <&display0>;
354         status = "okay";
355
356         display0: display0 {
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         };
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         };
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
677         spi@0 {
678                 compatible = "spidev";
679                 reg = <0>;
680                 spi-max-frequency = <57600000>;
681         };
682
683         spi@1 {
684                 compatible = "spidev";
685                 reg = <1>;
686                 spi-max-frequency = <57600000>;
687         };
688
689         spi@2 {
690                 compatible = "spidev";
691                 reg = <2>;
692                 spi-max-frequency = <57600000>;
693         };
694 };
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 };