imx28-tx28.dts revision 279377
1279377Simp/* 2279377Simp * Copyright 2012 Shawn Guo <shawn.guo@linaro.org> 3279377Simp * Copyright 2013 Lothar Wa��mann <LW@KARO-electronics.de> 4279377Simp * 5279377Simp * The code contained herein is licensed under the GNU General Public 6279377Simp * License. You may obtain a copy of the GNU General Public License 7279377Simp * Version 2 at the following locations: 8279377Simp * 9279377Simp * http://www.opensource.org/licenses/gpl-license.html 10279377Simp * http://www.gnu.org/copyleft/gpl.html 11279377Simp */ 12279377Simp 13279377Simp/dts-v1/; 14279377Simp#include "imx28.dtsi" 15279377Simp#include <dt-bindings/gpio/gpio.h> 16279377Simp 17279377Simp/ { 18279377Simp model = "Ka-Ro electronics TX28 module"; 19279377Simp compatible = "karo,tx28", "fsl,imx28"; 20279377Simp 21279377Simp aliases { 22279377Simp can0 = &can0; 23279377Simp can1 = &can1; 24279377Simp display = &display0; 25279377Simp ds1339 = &ds1339; 26279377Simp gpio5 = &gpio5; 27279377Simp lcdif = &lcdif; 28279377Simp lcdif_23bit_pins = &tx28_lcdif_23bit_pins; 29279377Simp lcdif_24bit_pins = &lcdif_24bit_pins_a; 30279377Simp reg_can_xcvr = ®_can_xcvr; 31279377Simp spi_gpio = &spi_gpio; 32279377Simp spi_mxs = &ssp3; 33279377Simp stk5led = &user_led; 34279377Simp usbotg = &usb0; 35279377Simp }; 36279377Simp 37279377Simp memory { 38279377Simp reg = <0 0>; /* will be filled in by U-Boot */ 39279377Simp }; 40279377Simp 41279377Simp onewire { 42279377Simp compatible = "w1-gpio"; 43279377Simp gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; 44279377Simp status = "disabled"; 45279377Simp }; 46279377Simp 47279377Simp regulators { 48279377Simp compatible = "simple-bus"; 49279377Simp #address-cells = <1>; 50279377Simp #size-cells = <0>; 51279377Simp 52279377Simp reg_usb0_vbus: regulator@0 { 53279377Simp compatible = "regulator-fixed"; 54279377Simp reg = <0>; 55279377Simp regulator-name = "usb0_vbus"; 56279377Simp regulator-min-microvolt = <5000000>; 57279377Simp regulator-max-microvolt = <5000000>; 58279377Simp gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>; 59279377Simp enable-active-high; 60279377Simp }; 61279377Simp 62279377Simp reg_usb1_vbus: regulator@1 { 63279377Simp compatible = "regulator-fixed"; 64279377Simp reg = <1>; 65279377Simp regulator-name = "usb1_vbus"; 66279377Simp regulator-min-microvolt = <5000000>; 67279377Simp regulator-max-microvolt = <5000000>; 68279377Simp gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>; 69279377Simp enable-active-high; 70279377Simp }; 71279377Simp 72279377Simp reg_2p5v: regulator@2 { 73279377Simp compatible = "regulator-fixed"; 74279377Simp reg = <2>; 75279377Simp regulator-name = "2P5V"; 76279377Simp regulator-min-microvolt = <2500000>; 77279377Simp regulator-max-microvolt = <2500000>; 78279377Simp regulator-always-on; 79279377Simp }; 80279377Simp 81279377Simp reg_3p3v: regulator@3 { 82279377Simp compatible = "regulator-fixed"; 83279377Simp reg = <3>; 84279377Simp regulator-name = "3P3V"; 85279377Simp regulator-min-microvolt = <3300000>; 86279377Simp regulator-max-microvolt = <3300000>; 87279377Simp regulator-always-on; 88279377Simp }; 89279377Simp 90279377Simp reg_can_xcvr: regulator@4 { 91279377Simp compatible = "regulator-fixed"; 92279377Simp reg = <4>; 93279377Simp regulator-name = "CAN XCVR"; 94279377Simp regulator-min-microvolt = <3300000>; 95279377Simp regulator-max-microvolt = <3300000>; 96279377Simp gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 97279377Simp pinctrl-names = "default"; 98279377Simp pinctrl-0 = <&tx28_flexcan_xcvr_pins>; 99279377Simp }; 100279377Simp 101279377Simp reg_lcd: regulator@5 { 102279377Simp compatible = "regulator-fixed"; 103279377Simp reg = <5>; 104279377Simp regulator-name = "LCD POWER"; 105279377Simp regulator-min-microvolt = <3300000>; 106279377Simp regulator-max-microvolt = <3300000>; 107279377Simp gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>; 108279377Simp enable-active-high; 109279377Simp }; 110279377Simp 111279377Simp reg_lcd_reset: regulator@6 { 112279377Simp compatible = "regulator-fixed"; 113279377Simp reg = <6>; 114279377Simp regulator-name = "LCD RESET"; 115279377Simp regulator-min-microvolt = <3300000>; 116279377Simp regulator-max-microvolt = <3300000>; 117279377Simp gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; 118279377Simp startup-delay-us = <300000>; 119279377Simp enable-active-high; 120279377Simp regulator-always-on; 121279377Simp regulator-boot-on; 122279377Simp }; 123279377Simp }; 124279377Simp 125279377Simp clocks { 126279377Simp #address-cells = <1>; 127279377Simp #size-cells = <0>; 128279377Simp mclk: clock@0 { 129279377Simp compatible = "fixed-clock"; 130279377Simp reg = <0>; 131279377Simp #clock-cells = <0>; 132279377Simp clock-frequency = <27000000>; 133279377Simp }; 134279377Simp }; 135279377Simp 136279377Simp sound { 137279377Simp compatible = "fsl,imx28-tx28-sgtl5000", 138279377Simp "fsl,mxs-audio-sgtl5000"; 139279377Simp model = "imx28-tx28-sgtl5000"; 140279377Simp saif-controllers = <&saif0 &saif1>; 141279377Simp audio-codec = <&sgtl5000>; 142279377Simp }; 143279377Simp 144279377Simp leds { 145279377Simp compatible = "gpio-leds"; 146279377Simp 147279377Simp user_led: user { 148279377Simp label = "Heartbeat"; 149279377Simp gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; 150279377Simp linux,default-trigger = "heartbeat"; 151279377Simp }; 152279377Simp }; 153279377Simp 154279377Simp backlight { 155279377Simp compatible = "pwm-backlight"; 156279377Simp pwms = <&pwm 0 500000>; 157279377Simp /* 158279377Simp * a silly way to create a 1:1 relationship between the 159279377Simp * PWM value and the actual duty cycle 160279377Simp */ 161279377Simp brightness-levels = < 0 1 2 3 4 5 6 7 8 9 162279377Simp 10 11 12 13 14 15 16 17 18 19 163279377Simp 20 21 22 23 24 25 26 27 28 29 164279377Simp 30 31 32 33 34 35 36 37 38 39 165279377Simp 40 41 42 43 44 45 46 47 48 49 166279377Simp 50 51 52 53 54 55 56 57 58 59 167279377Simp 60 61 62 63 64 65 66 67 68 69 168279377Simp 70 71 72 73 74 75 76 77 78 79 169279377Simp 80 81 82 83 84 85 86 87 88 89 170279377Simp 90 91 92 93 94 95 96 97 98 99 171279377Simp 100>; 172279377Simp default-brightness-level = <50>; 173279377Simp }; 174279377Simp 175279377Simp matrix_keypad: matrix-keypad@0 { 176279377Simp compatible = "gpio-matrix-keypad"; 177279377Simp col-gpios = < 178279377Simp &gpio5 0 GPIO_ACTIVE_HIGH 179279377Simp &gpio5 1 GPIO_ACTIVE_HIGH 180279377Simp &gpio5 2 GPIO_ACTIVE_HIGH 181279377Simp &gpio5 3 GPIO_ACTIVE_HIGH 182279377Simp >; 183279377Simp row-gpios = < 184279377Simp &gpio5 4 GPIO_ACTIVE_HIGH 185279377Simp &gpio5 5 GPIO_ACTIVE_HIGH 186279377Simp &gpio5 6 GPIO_ACTIVE_HIGH 187279377Simp &gpio5 7 GPIO_ACTIVE_HIGH 188279377Simp >; 189279377Simp /* sample keymap */ 190279377Simp linux,keymap = < 191279377Simp 0x00000074 /* row 0, col 0, KEY_POWER */ 192279377Simp 0x00010052 /* row 0, col 1, KEY_KP0 */ 193279377Simp 0x0002004f /* row 0, col 2, KEY_KP1 */ 194279377Simp 0x00030050 /* row 0, col 3, KEY_KP2 */ 195279377Simp 0x01000051 /* row 1, col 0, KEY_KP3 */ 196279377Simp 0x0101004b /* row 1, col 1, KEY_KP4 */ 197279377Simp 0x0102004c /* row 1, col 2, KEY_KP5 */ 198279377Simp 0x0103004d /* row 1, col 3, KEY_KP6 */ 199279377Simp 0x02000047 /* row 2, col 0, KEY_KP7 */ 200279377Simp 0x02010048 /* row 2, col 1, KEY_KP8 */ 201279377Simp 0x02020049 /* row 2, col 2, KEY_KP9 */ 202279377Simp >; 203279377Simp gpio-activelow; 204279377Simp linux,wakeup; 205279377Simp debounce-delay-ms = <100>; 206279377Simp col-scan-delay-us = <5000>; 207279377Simp linux,no-autorepeat; 208279377Simp }; 209279377Simp 210279377Simp spi_gpio: spi-gpio { 211279377Simp compatible = "spi-gpio"; 212279377Simp #address-cells = <1>; 213279377Simp #size-cells = <0>; 214279377Simp pinctrl-names = "default"; 215279377Simp pinctrl-0 = <&tx28_spi_gpio_pins>; 216279377Simp 217279377Simp gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>; 218279377Simp gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>; 219279377Simp gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>; 220279377Simp num-chipselects = <3>; 221279377Simp cs-gpios = < 222279377Simp &gpio2 27 GPIO_ACTIVE_LOW 223279377Simp &gpio3 8 GPIO_ACTIVE_LOW 224279377Simp &gpio3 9 GPIO_ACTIVE_LOW 225279377Simp >; 226279377Simp /* enable this and disable ssp3 below, if you need full duplex SPI transfer */ 227279377Simp status = "disabled"; 228279377Simp 229279377Simp spi@0 { 230279377Simp compatible = "spidev"; 231279377Simp reg = <0>; 232279377Simp spi-max-frequency = <57600000>; 233279377Simp }; 234279377Simp 235279377Simp spi@1 { 236279377Simp compatible = "spidev"; 237279377Simp reg = <1>; 238279377Simp spi-max-frequency = <57600000>; 239279377Simp }; 240279377Simp 241279377Simp spi@2 { 242279377Simp compatible = "spidev"; 243279377Simp reg = <2>; 244279377Simp spi-max-frequency = <57600000>; 245279377Simp }; 246279377Simp }; 247279377Simp}; 248279377Simp 249279377Simp/* 2nd TX-Std UART - (A)UART1 */ 250279377Simp&auart1 { 251279377Simp pinctrl-names = "default"; 252279377Simp pinctrl-0 = <&auart1_pins_a>; 253279377Simp status = "okay"; 254279377Simp}; 255279377Simp 256279377Simp/* 3rd TX-Std UART - (A)UART3 */ 257279377Simp&auart3 { 258279377Simp pinctrl-names = "default"; 259279377Simp pinctrl-0 = <&auart3_pins_a>; 260279377Simp status = "okay"; 261279377Simp}; 262279377Simp 263279377Simp&can0 { 264279377Simp pinctrl-names = "default"; 265279377Simp pinctrl-0 = <&can0_pins_a>; 266279377Simp xceiver-supply = <®_can_xcvr>; 267279377Simp status = "okay"; 268279377Simp}; 269279377Simp 270279377Simp&can1 { 271279377Simp pinctrl-names = "default"; 272279377Simp pinctrl-0 = <&can1_pins_a>; 273279377Simp xceiver-supply = <®_can_xcvr>; 274279377Simp status = "okay"; 275279377Simp}; 276279377Simp 277279377Simp&digctl { 278279377Simp status = "okay"; 279279377Simp}; 280279377Simp 281279377Simp/* 1st TX-Std UART - (D)UART */ 282279377Simp&duart { 283279377Simp pinctrl-names = "default"; 284279377Simp pinctrl-0 = <&duart_4pins_a>; 285279377Simp status = "okay"; 286279377Simp}; 287279377Simp 288279377Simp&gpmi { 289279377Simp pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 290279377Simp nand-on-flash-bbt; 291279377Simp status = "okay"; 292279377Simp}; 293279377Simp 294279377Simp&i2c0 { 295279377Simp pinctrl-names = "default"; 296279377Simp pinctrl-0 = <&i2c0_pins_a>; 297279377Simp clock-frequency = <400000>; 298279377Simp status = "okay"; 299279377Simp 300279377Simp sgtl5000: sgtl5000@0a { 301279377Simp compatible = "fsl,sgtl5000"; 302279377Simp reg = <0x0a>; 303279377Simp VDDA-supply = <®_2p5v>; 304279377Simp VDDIO-supply = <®_3p3v>; 305279377Simp clocks = <&mclk>; 306279377Simp }; 307279377Simp 308279377Simp gpio5: pca953x@20 { 309279377Simp compatible = "nxp,pca9554"; 310279377Simp reg = <0x20>; 311279377Simp pinctrl-names = "default"; 312279377Simp pinctrl-0 = <&tx28_pca9554_pins>; 313279377Simp interrupt-parent = <&gpio3>; 314279377Simp interrupts = <28 0>; 315279377Simp gpio-controller; 316279377Simp #gpio-cells = <2>; 317279377Simp interrupt-controller; 318279377Simp #interrupt-cells = <2>; 319279377Simp }; 320279377Simp 321279377Simp polytouch: edt-ft5x06@38 { 322279377Simp compatible = "edt,edt-ft5x06"; 323279377Simp reg = <0x38>; 324279377Simp pinctrl-names = "default"; 325279377Simp pinctrl-0 = <&tx28_edt_ft5x06_pins>; 326279377Simp interrupt-parent = <&gpio2>; 327279377Simp interrupts = <5 0>; 328279377Simp reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; 329279377Simp wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; 330279377Simp }; 331279377Simp 332279377Simp touchscreen: tsc2007@48 { 333279377Simp compatible = "ti,tsc2007"; 334279377Simp reg = <0x48>; 335279377Simp pinctrl-names = "default"; 336279377Simp pinctrl-0 = <&tx28_tsc2007_pins>; 337279377Simp interrupt-parent = <&gpio3>; 338279377Simp interrupts = <20 0>; 339279377Simp pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; 340279377Simp ti,x-plate-ohms = /bits/ 16 <660>; 341279377Simp }; 342279377Simp 343279377Simp ds1339: rtc@68 { 344279377Simp compatible = "mxim,ds1339"; 345279377Simp reg = <0x68>; 346279377Simp }; 347279377Simp}; 348279377Simp 349279377Simp&lcdif { 350279377Simp pinctrl-names = "default"; 351279377Simp pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>; 352279377Simp lcd-supply = <®_lcd>; 353279377Simp display = <&display0>; 354279377Simp status = "okay"; 355279377Simp 356279377Simp display0: display0 { 357279377Simp bits-per-pixel = <32>; 358279377Simp bus-width = <24>; 359279377Simp display-timings { 360279377Simp native-mode = <&timing5>; 361279377Simp timing0: timing0 { 362279377Simp panel-name = "VGA"; 363279377Simp clock-frequency = <25175000>; 364279377Simp hactive = <640>; 365279377Simp vactive = <480>; 366279377Simp hback-porch = <48>; 367279377Simp hsync-len = <96>; 368279377Simp hfront-porch = <16>; 369279377Simp vback-porch = <33>; 370279377Simp vsync-len = <2>; 371279377Simp vfront-porch = <10>; 372279377Simp hsync-active = <0>; 373279377Simp vsync-active = <0>; 374279377Simp de-active = <1>; 375279377Simp pixelclk-active = <1>; 376279377Simp }; 377279377Simp 378279377Simp timing1: timing1 { 379279377Simp panel-name = "ETV570"; 380279377Simp clock-frequency = <25175000>; 381279377Simp hactive = <640>; 382279377Simp vactive = <480>; 383279377Simp hback-porch = <114>; 384279377Simp hsync-len = <30>; 385279377Simp hfront-porch = <16>; 386279377Simp vback-porch = <32>; 387279377Simp vsync-len = <3>; 388279377Simp vfront-porch = <10>; 389279377Simp hsync-active = <0>; 390279377Simp vsync-active = <0>; 391279377Simp de-active = <1>; 392279377Simp pixelclk-active = <1>; 393279377Simp }; 394279377Simp 395279377Simp timing2: timing2 { 396279377Simp panel-name = "ET0350"; 397279377Simp clock-frequency = <6500000>; 398279377Simp hactive = <320>; 399279377Simp vactive = <240>; 400279377Simp hback-porch = <34>; 401279377Simp hsync-len = <34>; 402279377Simp hfront-porch = <20>; 403279377Simp vback-porch = <15>; 404279377Simp vsync-len = <3>; 405279377Simp vfront-porch = <4>; 406279377Simp hsync-active = <0>; 407279377Simp vsync-active = <0>; 408279377Simp de-active = <1>; 409279377Simp pixelclk-active = <1>; 410279377Simp }; 411279377Simp 412279377Simp timing3: timing3 { 413279377Simp panel-name = "ET0430"; 414279377Simp clock-frequency = <9000000>; 415279377Simp hactive = <480>; 416279377Simp vactive = <272>; 417279377Simp hback-porch = <2>; 418279377Simp hsync-len = <41>; 419279377Simp hfront-porch = <2>; 420279377Simp vback-porch = <2>; 421279377Simp vsync-len = <10>; 422279377Simp vfront-porch = <2>; 423279377Simp hsync-active = <0>; 424279377Simp vsync-active = <0>; 425279377Simp de-active = <1>; 426279377Simp pixelclk-active = <1>; 427279377Simp }; 428279377Simp 429279377Simp timing4: timing4 { 430279377Simp panel-name = "ET0500", "ET0700"; 431279377Simp clock-frequency = <33260000>; 432279377Simp hactive = <800>; 433279377Simp vactive = <480>; 434279377Simp hback-porch = <88>; 435279377Simp hsync-len = <128>; 436279377Simp hfront-porch = <40>; 437279377Simp vback-porch = <33>; 438279377Simp vsync-len = <2>; 439279377Simp vfront-porch = <10>; 440279377Simp hsync-active = <0>; 441279377Simp vsync-active = <0>; 442279377Simp de-active = <1>; 443279377Simp pixelclk-active = <1>; 444279377Simp }; 445279377Simp 446279377Simp timing5: timing5 { 447279377Simp panel-name = "ETQ570"; 448279377Simp clock-frequency = <6400000>; 449279377Simp hactive = <320>; 450279377Simp vactive = <240>; 451279377Simp hback-porch = <38>; 452279377Simp hsync-len = <30>; 453279377Simp hfront-porch = <30>; 454279377Simp vback-porch = <16>; 455279377Simp vsync-len = <3>; 456279377Simp vfront-porch = <4>; 457279377Simp hsync-active = <0>; 458279377Simp vsync-active = <0>; 459279377Simp de-active = <1>; 460279377Simp pixelclk-active = <1>; 461279377Simp }; 462279377Simp }; 463279377Simp }; 464279377Simp}; 465279377Simp 466279377Simp&lradc { 467279377Simp fsl,lradc-touchscreen-wires = <4>; 468279377Simp status = "okay"; 469279377Simp}; 470279377Simp 471279377Simp&mac0 { 472279377Simp phy-mode = "rmii"; 473279377Simp pinctrl-names = "default", "gpio_mode"; 474279377Simp pinctrl-0 = <&mac0_pins_a>; 475279377Simp pinctrl-1 = <&tx28_mac0_pins_gpio>; 476279377Simp status = "okay"; 477279377Simp}; 478279377Simp 479279377Simp&mac1 { 480279377Simp phy-mode = "rmii"; 481279377Simp pinctrl-names = "default"; 482279377Simp pinctrl-0 = <&mac1_pins_a>; 483279377Simp /* not enabled by default */ 484279377Simp}; 485279377Simp 486279377Simp&mxs_rtc { 487279377Simp status = "okay"; 488279377Simp}; 489279377Simp 490279377Simp&ocotp { 491279377Simp status = "okay"; 492279377Simp}; 493279377Simp 494279377Simp&pwm { 495279377Simp pinctrl-names = "default"; 496279377Simp pinctrl-0 = <&pwm0_pins_a>; 497279377Simp status = "okay"; 498279377Simp}; 499279377Simp 500279377Simp&pinctrl { 501279377Simp pinctrl-names = "default"; 502279377Simp pinctrl-0 = <&hog_pins_a>; 503279377Simp 504279377Simp hog_pins_a: hog@0 { 505279377Simp reg = <0>; 506279377Simp fsl,pinmux-ids = < 507279377Simp MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */ 508279377Simp >; 509279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 510279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 511279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 512279377Simp }; 513279377Simp 514279377Simp tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins { 515279377Simp fsl,pinmux-ids = < 516279377Simp MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */ 517279377Simp MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */ 518279377Simp MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */ 519279377Simp >; 520279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 521279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 522279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 523279377Simp }; 524279377Simp 525279377Simp tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins { 526279377Simp fsl,pinmux-ids = < 527279377Simp MX28_PAD_LCD_D00__GPIO_1_0 528279377Simp >; 529279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 530279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 531279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 532279377Simp }; 533279377Simp 534279377Simp tx28_lcdif_23bit_pins: tx28-lcdif-23bit { 535279377Simp fsl,pinmux-ids = < 536279377Simp /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */ 537279377Simp MX28_PAD_LCD_D01__LCD_D1 538279377Simp MX28_PAD_LCD_D02__LCD_D2 539279377Simp MX28_PAD_LCD_D03__LCD_D3 540279377Simp MX28_PAD_LCD_D04__LCD_D4 541279377Simp MX28_PAD_LCD_D05__LCD_D5 542279377Simp MX28_PAD_LCD_D06__LCD_D6 543279377Simp MX28_PAD_LCD_D07__LCD_D7 544279377Simp MX28_PAD_LCD_D08__LCD_D8 545279377Simp MX28_PAD_LCD_D09__LCD_D9 546279377Simp MX28_PAD_LCD_D10__LCD_D10 547279377Simp MX28_PAD_LCD_D11__LCD_D11 548279377Simp MX28_PAD_LCD_D12__LCD_D12 549279377Simp MX28_PAD_LCD_D13__LCD_D13 550279377Simp MX28_PAD_LCD_D14__LCD_D14 551279377Simp MX28_PAD_LCD_D15__LCD_D15 552279377Simp MX28_PAD_LCD_D16__LCD_D16 553279377Simp MX28_PAD_LCD_D17__LCD_D17 554279377Simp MX28_PAD_LCD_D18__LCD_D18 555279377Simp MX28_PAD_LCD_D19__LCD_D19 556279377Simp MX28_PAD_LCD_D20__LCD_D20 557279377Simp MX28_PAD_LCD_D21__LCD_D21 558279377Simp MX28_PAD_LCD_D22__LCD_D22 559279377Simp MX28_PAD_LCD_D23__LCD_D23 560279377Simp >; 561279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 562279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 563279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 564279377Simp }; 565279377Simp 566279377Simp tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl { 567279377Simp fsl,pinmux-ids = < 568279377Simp MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */ 569279377Simp MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */ 570279377Simp >; 571279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 572279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 573279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 574279377Simp }; 575279377Simp 576279377Simp tx28_mac0_pins_gpio: tx28-mac0-gpio-pins { 577279377Simp fsl,pinmux-ids = < 578279377Simp MX28_PAD_ENET0_MDC__GPIO_4_0 579279377Simp MX28_PAD_ENET0_MDIO__GPIO_4_1 580279377Simp MX28_PAD_ENET0_RX_EN__GPIO_4_2 581279377Simp MX28_PAD_ENET0_RXD0__GPIO_4_3 582279377Simp MX28_PAD_ENET0_RXD1__GPIO_4_4 583279377Simp MX28_PAD_ENET0_TX_EN__GPIO_4_6 584279377Simp MX28_PAD_ENET0_TXD0__GPIO_4_7 585279377Simp MX28_PAD_ENET0_TXD1__GPIO_4_8 586279377Simp MX28_PAD_ENET_CLK__GPIO_4_16 587279377Simp >; 588279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 589279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 590279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 591279377Simp }; 592279377Simp 593279377Simp tx28_pca9554_pins: tx28-pca9554-pins { 594279377Simp fsl,pinmux-ids = < 595279377Simp MX28_PAD_PWM3__GPIO_3_28 596279377Simp >; 597279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 598279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 599279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 600279377Simp }; 601279377Simp 602279377Simp tx28_spi_gpio_pins: spi-gpiogrp { 603279377Simp fsl,pinmux-ids = < 604279377Simp MX28_PAD_AUART2_RX__GPIO_3_8 605279377Simp MX28_PAD_AUART2_TX__GPIO_3_9 606279377Simp MX28_PAD_SSP3_SCK__GPIO_2_24 607279377Simp MX28_PAD_SSP3_MOSI__GPIO_2_25 608279377Simp MX28_PAD_SSP3_MISO__GPIO_2_26 609279377Simp MX28_PAD_SSP3_SS0__GPIO_2_27 610279377Simp >; 611279377Simp fsl,drive-strength = <MXS_DRIVE_8mA>; 612279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 613279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 614279377Simp }; 615279377Simp 616279377Simp tx28_tsc2007_pins: tx28-tsc2007-pins { 617279377Simp fsl,pinmux-ids = < 618279377Simp MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */ 619279377Simp >; 620279377Simp fsl,drive-strength = <MXS_DRIVE_4mA>; 621279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 622279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 623279377Simp }; 624279377Simp 625279377Simp 626279377Simp tx28_usbphy0_pins: tx28-usbphy0-pins { 627279377Simp fsl,pinmux-ids = < 628279377Simp MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */ 629279377Simp MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */ 630279377Simp >; 631279377Simp fsl,drive-strength = <MXS_DRIVE_12mA>; 632279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 633279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 634279377Simp }; 635279377Simp 636279377Simp tx28_usbphy1_pins: tx28-usbphy1-pins { 637279377Simp fsl,pinmux-ids = < 638279377Simp MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */ 639279377Simp MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */ 640279377Simp >; 641279377Simp fsl,drive-strength = <MXS_DRIVE_12mA>; 642279377Simp fsl,voltage = <MXS_VOLTAGE_HIGH>; 643279377Simp fsl,pull-up = <MXS_PULL_DISABLE>; 644279377Simp }; 645279377Simp}; 646279377Simp 647279377Simp&saif0 { 648279377Simp pinctrl-names = "default"; 649279377Simp pinctrl-0 = <&saif0_pins_b>; 650279377Simp fsl,saif-master; 651279377Simp status = "okay"; 652279377Simp}; 653279377Simp 654279377Simp&saif1 { 655279377Simp pinctrl-names = "default"; 656279377Simp pinctrl-0 = <&saif1_pins_a>; 657279377Simp status = "okay"; 658279377Simp}; 659279377Simp 660279377Simp&ssp0 { 661279377Simp compatible = "fsl,imx28-mmc"; 662279377Simp pinctrl-names = "default", "special"; 663279377Simp pinctrl-0 = <&mmc0_4bit_pins_a 664279377Simp &mmc0_cd_cfg 665279377Simp &mmc0_sck_cfg>; 666279377Simp bus-width = <4>; 667279377Simp status = "okay"; 668279377Simp}; 669279377Simp 670279377Simp&ssp3 { 671279377Simp compatible = "fsl,imx28-spi"; 672279377Simp pinctrl-names = "default"; 673279377Simp pinctrl-0 = <&spi3_pins_a>; 674279377Simp clock-frequency = <57600000>; 675279377Simp status = "okay"; 676279377Simp 677279377Simp spi@0 { 678279377Simp compatible = "spidev"; 679279377Simp reg = <0>; 680279377Simp spi-max-frequency = <57600000>; 681279377Simp }; 682279377Simp 683279377Simp spi@1 { 684279377Simp compatible = "spidev"; 685279377Simp reg = <1>; 686279377Simp spi-max-frequency = <57600000>; 687279377Simp }; 688279377Simp 689279377Simp spi@2 { 690279377Simp compatible = "spidev"; 691279377Simp reg = <2>; 692279377Simp spi-max-frequency = <57600000>; 693279377Simp }; 694279377Simp}; 695279377Simp 696279377Simp&usb0 { 697279377Simp vbus-supply = <®_usb0_vbus>; 698279377Simp disable-over-current; 699279377Simp dr_mode = "peripheral"; 700279377Simp status = "okay"; 701279377Simp}; 702279377Simp 703279377Simp&usb1 { 704279377Simp vbus-supply = <®_usb1_vbus>; 705279377Simp disable-over-current; 706279377Simp dr_mode = "host"; 707279377Simp status = "okay"; 708279377Simp}; 709279377Simp 710279377Simp&usbphy0 { 711279377Simp pinctrl-names = "default"; 712279377Simp pinctrl-0 = <&tx28_usbphy0_pins>; 713279377Simp phy_type = "utmi"; 714279377Simp status = "okay"; 715279377Simp}; 716279377Simp 717279377Simp&usbphy1 { 718279377Simp pinctrl-names = "default"; 719279377Simp pinctrl-0 = <&tx28_usbphy1_pins>; 720279377Simp phy_type = "utmi"; 721279377Simp status = "okay"; 722279377Simp}; 723