]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/imx28-tx28.dts
ARM: dts: imx28-tx28: add spi-gpio as alternative for spi-mxs
[karo-tx-linux.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 = &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                 spi_gpio = &spi_gpio;
31                 spi_mxs = &ssp3;
32                 stk5led = &user_led;
33                 usbotg = &usb0;
34         };
35
36         memory {
37                 reg = <0 0>; /* will be filled in by U-Boot */
38         };
39
40         onewire {
41                 compatible = "w1-gpio";
42                 gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
43                 status = "disabled";
44         };
45
46         regulators {
47                 compatible = "simple-bus";
48                 #address-cells = <1>;
49                 #size-cells = <0>;
50
51                 reg_usb0_vbus: regulator@0 {
52                         compatible = "regulator-fixed";
53                         reg = <0>;
54                         regulator-name = "usb0_vbus";
55                         regulator-min-microvolt = <5000000>;
56                         regulator-max-microvolt = <5000000>;
57                         gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
58                         enable-active-high;
59                 };
60
61                 reg_usb1_vbus: regulator@1 {
62                         compatible = "regulator-fixed";
63                         reg = <1>;
64                         regulator-name = "usb1_vbus";
65                         regulator-min-microvolt = <5000000>;
66                         regulator-max-microvolt = <5000000>;
67                         gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
68                         enable-active-high;
69                 };
70
71                 reg_2p5v: regulator@2 {
72                         compatible = "regulator-fixed";
73                         reg = <2>;
74                         regulator-name = "2P5V";
75                         regulator-min-microvolt = <2500000>;
76                         regulator-max-microvolt = <2500000>;
77                         regulator-always-on;
78                 };
79
80                 reg_3p3v: regulator@3 {
81                         compatible = "regulator-fixed";
82                         reg = <3>;
83                         regulator-name = "3P3V";
84                         regulator-min-microvolt = <3300000>;
85                         regulator-max-microvolt = <3300000>;
86                         regulator-always-on;
87                 };
88
89                 reg_can_xcvr: regulator@4 {
90                         compatible = "regulator-fixed";
91                         reg = <4>;
92                         regulator-name = "CAN XCVR";
93                         regulator-min-microvolt = <3300000>;
94                         regulator-max-microvolt = <3300000>;
95                         gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
96                         pinctrl-names = "default";
97                         pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
98                 };
99
100                 reg_lcd: regulator@5 {
101                         compatible = "regulator-fixed";
102                         reg = <5>;
103                         regulator-name = "LCD POWER";
104                         regulator-min-microvolt = <3300000>;
105                         regulator-max-microvolt = <3300000>;
106                         gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
107                         enable-active-high;
108                 };
109
110                 reg_lcd_reset: regulator@6 {
111                         compatible = "regulator-fixed";
112                         reg = <6>;
113                         regulator-name = "LCD RESET";
114                         regulator-min-microvolt = <3300000>;
115                         regulator-max-microvolt = <3300000>;
116                         gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
117                         startup-delay-us = <300000>;
118                         enable-active-high;
119                         regulator-always-on;
120                         regulator-boot-on;
121                 };
122         };
123
124         clocks {
125                 #address-cells = <1>;
126                 #size-cells = <0>;
127                 mclk: clock@0 {
128                         compatible = "fixed-clock";
129                         reg = <0>;
130                         #clock-cells = <0>;
131                         clock-frequency = <27000000>;
132                 };
133         };
134
135         sound {
136                 compatible = "fsl,imx28-tx28-sgtl5000",
137                              "fsl,mxs-audio-sgtl5000";
138                 model = "imx28-tx28-sgtl5000";
139                 saif-controllers = <&saif0 &saif1>;
140                 audio-codec = <&sgtl5000>;
141         };
142
143         leds {
144                 compatible = "gpio-leds";
145
146                 user_led: user {
147                         label = "Heartbeat";
148                         gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
149                         linux,default-trigger = "heartbeat";
150                 };
151         };
152
153         backlight {
154                 compatible = "pwm-backlight";
155                 pwms = <&pwm 0 500000>;
156                 /*
157                  * a silly way to create a 1:1 relationship between the
158                  * PWM value and the actual duty cycle
159                  */
160                 brightness-levels = < 0  1  2  3  4  5  6  7  8  9
161                                      10 11 12 13 14 15 16 17 18 19
162                                      20 21 22 23 24 25 26 27 28 29
163                                      30 31 32 33 34 35 36 37 38 39
164                                      40 41 42 43 44 45 46 47 48 49
165                                      50 51 52 53 54 55 56 57 58 59
166                                      60 61 62 63 64 65 66 67 68 69
167                                      70 71 72 73 74 75 76 77 78 79
168                                      80 81 82 83 84 85 86 87 88 89
169                                      90 91 92 93 94 95 96 97 98 99
170                                     100>;
171                 default-brightness-level = <50>;
172         };
173
174         matrix_keypad: matrix-keypad@0 {
175                 compatible = "gpio-matrix-keypad";
176                 col-gpios = <
177                         &gpio5 0 GPIO_ACTIVE_HIGH
178                         &gpio5 1 GPIO_ACTIVE_HIGH
179                         &gpio5 2 GPIO_ACTIVE_HIGH
180                         &gpio5 3 GPIO_ACTIVE_HIGH
181                 >;
182                 row-gpios = <
183                         &gpio5 4 GPIO_ACTIVE_HIGH
184                         &gpio5 5 GPIO_ACTIVE_HIGH
185                         &gpio5 6 GPIO_ACTIVE_HIGH
186                         &gpio5 7 GPIO_ACTIVE_HIGH
187                 >;
188                 /* sample keymap */
189                 linux,keymap = <
190                         0x00000074 /* row 0, col 0, KEY_POWER */
191                         0x00010052 /* row 0, col 1, KEY_KP0 */
192                         0x0002004f /* row 0, col 2, KEY_KP1 */
193                         0x00030050 /* row 0, col 3, KEY_KP2 */
194                         0x01000051 /* row 1, col 0, KEY_KP3 */
195                         0x0101004b /* row 1, col 1, KEY_KP4 */
196                         0x0102004c /* row 1, col 2, KEY_KP5 */
197                         0x0103004d /* row 1, col 3, KEY_KP6 */
198                         0x02000047 /* row 2, col 0, KEY_KP7 */
199                         0x02010048 /* row 2, col 1, KEY_KP8 */
200                         0x02020049 /* row 2, col 2, KEY_KP9 */
201                 >;
202                 gpio-activelow;
203                 linux,wakeup;
204                 debounce-delay-ms = <100>;
205                 col-scan-delay-us = <5000>;
206                 linux,no-autorepeat;
207         };
208
209         spi_gpio: spi-gpio {
210                 compatible = "spi-gpio";
211                 #address-cells = <1>;
212                 #size-cells = <0>;
213                 pinctrl-names = "default";
214                 pinctrl-0 = <&tx28_spi_gpio_pins>;
215
216                 gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>;
217                 gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>;
218                 gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>;
219                 num-chipselects = <3>;
220                 cs-gpios = <
221                         &gpio2 27 GPIO_ACTIVE_LOW
222                         &gpio3 8 GPIO_ACTIVE_LOW
223                         &gpio3 9 GPIO_ACTIVE_LOW
224                 >;
225                 /* enable this and disable ssp3 below, if you need full duplex SPI transfer */
226                 status = "disabled";
227
228                 spi@0 {
229                         compatible = "spidev";
230                         reg = <0>;
231                         spi-max-frequency = <57600000>;
232                 };
233
234                 spi@1 {
235                         compatible = "spidev";
236                         reg = <1>;
237                         spi-max-frequency = <57600000>;
238                 };
239
240                 spi@2 {
241                         compatible = "spidev";
242                         reg = <2>;
243                         spi-max-frequency = <57600000>;
244                 };
245         };
246 };
247
248 /* 2nd TX-Std UART - (A)UART1  */
249 &auart1 {
250         pinctrl-names = "default";
251         pinctrl-0 = <&auart1_pins_a>;
252         status = "okay";
253 };
254
255 /* 3rd TX-Std UART - (A)UART3  */
256 &auart3 {
257         pinctrl-names = "default";
258         pinctrl-0 = <&auart3_pins_a>;
259         status = "okay";
260 };
261
262 &can0 {
263         pinctrl-names = "default";
264         pinctrl-0 = <&can0_pins_a>;
265         xceiver-supply = <&reg_can_xcvr>;
266         status = "okay";
267 };
268
269 &can1 {
270         pinctrl-names = "default";
271         pinctrl-0 = <&can1_pins_a>;
272         xceiver-supply = <&reg_can_xcvr>;
273         status = "okay";
274 };
275
276 &digctl {
277         status = "okay";
278 };
279
280 /* 1st TX-Std UART - (D)UART */
281 &duart {
282         pinctrl-names = "default";
283         pinctrl-0 = <&duart_4pins_a>;
284         status = "okay";
285 };
286
287 &gpmi {
288         pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
289         nand-on-flash-bbt;
290         status = "okay";
291 };
292
293 &i2c0 {
294         pinctrl-names = "default";
295         pinctrl-0 = <&i2c0_pins_a>;
296         clock-frequency = <400000>;
297         status = "okay";
298
299         sgtl5000: sgtl5000@0a {
300                 compatible = "fsl,sgtl5000";
301                 reg = <0x0a>;
302                 VDDA-supply = <&reg_2p5v>;
303                 VDDIO-supply = <&reg_3p3v>;
304                 clocks = <&mclk>;
305         };
306
307         gpio5: pca953x@20 {
308                 compatible = "nxp,pca9554";
309                 reg = <0x20>;
310                 pinctrl-names = "default";
311                 pinctrl-0 = <&tx28_pca9554_pins>;
312                 interrupt-parent = <&gpio3>;
313                 interrupts = <28 0>;
314                 gpio-controller;
315                 #gpio-cells = <2>;
316                 interrupt-controller;
317                 #interrupt-cells = <2>;
318         };
319
320         polytouch: edt-ft5x06@38 {
321                 compatible = "edt,edt-ft5x06";
322                 reg = <0x38>;
323                 pinctrl-names = "default";
324                 pinctrl-0 = <&tx28_edt_ft5x06_pins>;
325                 interrupt-parent = <&gpio2>;
326                 interrupts = <5 0>;
327                 reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
328                 wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
329         };
330
331         touchscreen: tsc2007@48 {
332                 compatible = "ti,tsc2007";
333                 reg = <0x48>;
334                 pinctrl-names = "default";
335                 pinctrl-0 = <&tx28_tsc2007_pins>;
336                 interrupt-parent = <&gpio3>;
337                 interrupts = <20 0>;
338                 pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
339                 ti,x-plate-ohms = /bits/ 16 <660>;
340         };
341
342         ds1339: rtc@68 {
343                 compatible = "mxim,ds1339";
344                 reg = <0x68>;
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 = <&reg_lcd>;
352         display = <&display>;
353         status = "okay";
354
355         display: display@0 {
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 {
514                 fsl,pinmux-ids = <
515                         MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
516                         MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
517                         MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
518                 >;
519                 fsl,drive-strength = <MXS_DRIVE_4mA>;
520                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
521                 fsl,pull-up = <MXS_PULL_DISABLE>;
522         };
523
524         tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
525                 fsl,pinmux-ids = <
526                         MX28_PAD_LCD_D00__GPIO_1_0
527                 >;
528                 fsl,drive-strength = <MXS_DRIVE_4mA>;
529                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
530                 fsl,pull-up = <MXS_PULL_DISABLE>;
531         };
532
533         tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
534                 fsl,pinmux-ids = <
535                         /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
536                         MX28_PAD_LCD_D01__LCD_D1
537                         MX28_PAD_LCD_D02__LCD_D2
538                         MX28_PAD_LCD_D03__LCD_D3
539                         MX28_PAD_LCD_D04__LCD_D4
540                         MX28_PAD_LCD_D05__LCD_D5
541                         MX28_PAD_LCD_D06__LCD_D6
542                         MX28_PAD_LCD_D07__LCD_D7
543                         MX28_PAD_LCD_D08__LCD_D8
544                         MX28_PAD_LCD_D09__LCD_D9
545                         MX28_PAD_LCD_D10__LCD_D10
546                         MX28_PAD_LCD_D11__LCD_D11
547                         MX28_PAD_LCD_D12__LCD_D12
548                         MX28_PAD_LCD_D13__LCD_D13
549                         MX28_PAD_LCD_D14__LCD_D14
550                         MX28_PAD_LCD_D15__LCD_D15
551                         MX28_PAD_LCD_D16__LCD_D16
552                         MX28_PAD_LCD_D17__LCD_D17
553                         MX28_PAD_LCD_D18__LCD_D18
554                         MX28_PAD_LCD_D19__LCD_D19
555                         MX28_PAD_LCD_D20__LCD_D20
556                         MX28_PAD_LCD_D21__LCD_D21
557                         MX28_PAD_LCD_D22__LCD_D22
558                         MX28_PAD_LCD_D23__LCD_D23
559                 >;
560                 fsl,drive-strength = <MXS_DRIVE_4mA>;
561                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
562                 fsl,pull-up = <MXS_PULL_DISABLE>;
563         };
564
565         tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
566                 fsl,pinmux-ids = <
567                         MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
568                         MX28_PAD_LCD_RESET__GPIO_3_30  /* Reset */
569                 >;
570                 fsl,drive-strength = <MXS_DRIVE_4mA>;
571                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
572                 fsl,pull-up = <MXS_PULL_DISABLE>;
573         };
574
575         tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
576                 fsl,pinmux-ids = <
577                         MX28_PAD_ENET0_MDC__GPIO_4_0
578                         MX28_PAD_ENET0_MDIO__GPIO_4_1
579                         MX28_PAD_ENET0_RX_EN__GPIO_4_2
580                         MX28_PAD_ENET0_RXD0__GPIO_4_3
581                         MX28_PAD_ENET0_RXD1__GPIO_4_4
582                         MX28_PAD_ENET0_TX_EN__GPIO_4_6
583                         MX28_PAD_ENET0_TXD0__GPIO_4_7
584                         MX28_PAD_ENET0_TXD1__GPIO_4_8
585                         MX28_PAD_ENET_CLK__GPIO_4_16
586                 >;
587                 fsl,drive-strength = <MXS_DRIVE_4mA>;
588                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
589                 fsl,pull-up = <MXS_PULL_DISABLE>;
590         };
591
592         tx28_pca9554_pins: tx28-pca9554-pins {
593                 fsl,pinmux-ids = <
594                         MX28_PAD_PWM3__GPIO_3_28
595                 >;
596                 fsl,drive-strength = <MXS_DRIVE_4mA>;
597                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
598                 fsl,pull-up = <MXS_PULL_DISABLE>;
599         };
600
601         tx28_spi_gpio_pins: spi-gpiogrp {
602                 fsl,pinmux-ids = <
603                         MX28_PAD_AUART2_RX__GPIO_3_8
604                         MX28_PAD_AUART2_TX__GPIO_3_9
605                         MX28_PAD_SSP3_SCK__GPIO_2_24
606                         MX28_PAD_SSP3_MOSI__GPIO_2_25
607                         MX28_PAD_SSP3_MISO__GPIO_2_26
608                         MX28_PAD_SSP3_SS0__GPIO_2_27
609                 >;
610                 fsl,drive-strength = <MXS_DRIVE_8mA>;
611                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
612                 fsl,pull-up = <MXS_PULL_DISABLE>;
613         };
614
615         tx28_tsc2007_pins: tx28-tsc2007-pins {
616                 fsl,pinmux-ids = <
617                         MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
618                 >;
619                 fsl,drive-strength = <MXS_DRIVE_4mA>;
620                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
621                 fsl,pull-up = <MXS_PULL_DISABLE>;
622         };
623
624
625         tx28_usbphy0_pins: tx28-usbphy0-pins {
626                 fsl,pinmux-ids = <
627                         MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
628                         MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
629                 >;
630                 fsl,drive-strength = <MXS_DRIVE_12mA>;
631                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
632                 fsl,pull-up = <MXS_PULL_DISABLE>;
633         };
634
635         tx28_usbphy1_pins: tx28-usbphy1-pins {
636                 fsl,pinmux-ids = <
637                         MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
638                         MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
639                 >;
640                 fsl,drive-strength = <MXS_DRIVE_12mA>;
641                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
642                 fsl,pull-up = <MXS_PULL_DISABLE>;
643         };
644 };
645
646 &saif0 {
647         pinctrl-names = "default";
648         pinctrl-0 = <&saif0_pins_b>;
649         fsl,saif-master;
650         status = "okay";
651 };
652
653 &saif1 {
654         pinctrl-names = "default";
655         pinctrl-0 = <&saif1_pins_a>;
656         status = "okay";
657 };
658
659 &ssp0 {
660         compatible = "fsl,imx28-mmc";
661         pinctrl-names = "default", "special";
662         pinctrl-0 = <&mmc0_4bit_pins_a
663                      &mmc0_cd_cfg
664                      &mmc0_sck_cfg>;
665         bus-width = <4>;
666         status = "okay";
667 };
668
669 &ssp3 {
670         compatible = "fsl,imx28-spi";
671         pinctrl-names = "default";
672         pinctrl-0 = <&spi3_pins_a>;
673         clock-frequency = <57600000>;
674         status = "okay";
675
676         spi@0 {
677                 compatible = "spidev";
678                 reg = <0>;
679                 spi-max-frequency = <57600000>;
680         };
681
682         spi@1 {
683                 compatible = "spidev";
684                 reg = <1>;
685                 spi-max-frequency = <57600000>;
686         };
687
688         spi@2 {
689                 compatible = "spidev";
690                 reg = <2>;
691                 spi-max-frequency = <57600000>;
692         };
693 };
694
695 &usb0 {
696         vbus-supply = <&reg_usb0_vbus>;
697         disable-over-current;
698         dr_mode = "peripheral";
699         status = "okay";
700 };
701
702 &usb1 {
703         vbus-supply = <&reg_usb1_vbus>;
704         disable-over-current;
705         dr_mode = "host";
706         status = "okay";
707 };
708
709 &usbphy0 {
710         pinctrl-names = "default";
711         pinctrl-0 = <&tx28_usbphy0_pins>;
712         phy_type = "utmi";
713         status = "okay";
714 };
715
716 &usbphy1 {
717         pinctrl-names = "default";
718         pinctrl-0 = <&tx28_usbphy1_pins>;
719         phy_type = "utmi";
720         status = "okay";
721 };