imx28-tx28.dts revision 303975
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 = ®_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 = <27000000>; 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@0 { 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 linux,wakeup; 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 = <®_can_xcvr>; 268 status = "okay"; 269}; 270 271&can1 { 272 pinctrl-names = "default"; 273 pinctrl-0 = <&can1_pins_a>; 274 xceiver-supply = <®_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 = <®_2p5v>; 305 VDDIO-supply = <®_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 = <®_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 = <®_usb0_vbus>; 699 disable-over-current; 700 dr_mode = "peripheral"; 701 status = "okay"; 702}; 703 704&usb1 { 705 vbus-supply = <®_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}; 724