1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR MIT 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright 2012 Shawn Guo <shawn.guo@linaro.org> 4724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de> 5724ba675SRob Herring */ 6724ba675SRob Herring 7724ba675SRob Herring/dts-v1/; 8724ba675SRob Herring#include "imx28.dtsi" 9724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 10724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 11724ba675SRob Herring 12724ba675SRob Herring/ { 13724ba675SRob Herring model = "Ka-Ro electronics TX28 module"; 14724ba675SRob Herring compatible = "karo,tx28", "fsl,imx28"; 15724ba675SRob Herring 16724ba675SRob Herring aliases { 17724ba675SRob Herring can0 = &can0; 18724ba675SRob Herring can1 = &can1; 19724ba675SRob Herring display = &display0; 20724ba675SRob Herring ds1339 = &ds1339; 21724ba675SRob Herring gpio5 = &gpio5; 22724ba675SRob Herring lcdif = &lcdif; 23724ba675SRob Herring lcdif_23bit_pins = &tx28_lcdif_23bit_pins; 24724ba675SRob Herring lcdif_24bit_pins = &lcdif_24bit_pins_a; 25724ba675SRob Herring reg_can_xcvr = ®_can_xcvr; 26724ba675SRob Herring spi_gpio = &spi_gpio; 27724ba675SRob Herring spi_mxs = &ssp3; 28724ba675SRob Herring stk5led = &user_led; 29724ba675SRob Herring usbotg = &usb0; 30724ba675SRob Herring }; 31724ba675SRob Herring 32724ba675SRob Herring memory@40000000 { 33724ba675SRob Herring device_type = "memory"; 34724ba675SRob Herring reg = <0x40000000 0>; /* will be filled in by U-Boot */ 35724ba675SRob Herring }; 36724ba675SRob Herring 37724ba675SRob Herring onewire { 38724ba675SRob Herring compatible = "w1-gpio"; 39724ba675SRob Herring gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; 40724ba675SRob Herring status = "disabled"; 41724ba675SRob Herring }; 42724ba675SRob Herring 43724ba675SRob Herring reg_usb0_vbus: regulator-usb0-vbus { 44724ba675SRob Herring compatible = "regulator-fixed"; 45724ba675SRob Herring regulator-name = "usb0_vbus"; 46724ba675SRob Herring regulator-min-microvolt = <5000000>; 47724ba675SRob Herring regulator-max-microvolt = <5000000>; 48724ba675SRob Herring gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>; 49724ba675SRob Herring enable-active-high; 50724ba675SRob Herring }; 51724ba675SRob Herring 52724ba675SRob Herring reg_usb1_vbus: regulator-usb1-vbus { 53724ba675SRob Herring compatible = "regulator-fixed"; 54724ba675SRob Herring regulator-name = "usb1_vbus"; 55724ba675SRob Herring regulator-min-microvolt = <5000000>; 56724ba675SRob Herring regulator-max-microvolt = <5000000>; 57724ba675SRob Herring gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>; 58724ba675SRob Herring enable-active-high; 59724ba675SRob Herring }; 60724ba675SRob Herring 61724ba675SRob Herring reg_2p5v: regulator-2p5v { 62724ba675SRob Herring compatible = "regulator-fixed"; 63724ba675SRob Herring regulator-name = "2P5V"; 64724ba675SRob Herring regulator-min-microvolt = <2500000>; 65724ba675SRob Herring regulator-max-microvolt = <2500000>; 66724ba675SRob Herring regulator-always-on; 67724ba675SRob Herring }; 68724ba675SRob Herring 69724ba675SRob Herring reg_3p3v: regulator-3p3v { 70724ba675SRob Herring compatible = "regulator-fixed"; 71724ba675SRob Herring regulator-name = "3P3V"; 72724ba675SRob Herring regulator-min-microvolt = <3300000>; 73724ba675SRob Herring regulator-max-microvolt = <3300000>; 74724ba675SRob Herring regulator-always-on; 75724ba675SRob Herring }; 76724ba675SRob Herring 77724ba675SRob Herring reg_can_xcvr: regulator-can-xcvr { 78724ba675SRob Herring compatible = "regulator-fixed"; 79724ba675SRob Herring regulator-name = "CAN XCVR"; 80724ba675SRob Herring regulator-min-microvolt = <3300000>; 81724ba675SRob Herring regulator-max-microvolt = <3300000>; 82724ba675SRob Herring gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 83724ba675SRob Herring pinctrl-names = "default"; 84724ba675SRob Herring pinctrl-0 = <&tx28_flexcan_xcvr_pins>; 85724ba675SRob Herring }; 86724ba675SRob Herring 87724ba675SRob Herring reg_lcd: regulator-lcd-power { 88724ba675SRob Herring compatible = "regulator-fixed"; 89724ba675SRob Herring regulator-name = "LCD POWER"; 90724ba675SRob Herring regulator-min-microvolt = <3300000>; 91724ba675SRob Herring regulator-max-microvolt = <3300000>; 92724ba675SRob Herring gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>; 93724ba675SRob Herring enable-active-high; 94724ba675SRob Herring }; 95724ba675SRob Herring 96724ba675SRob Herring reg_lcd_reset: regulator-lcd-reset { 97724ba675SRob Herring compatible = "regulator-fixed"; 98724ba675SRob Herring regulator-name = "LCD RESET"; 99724ba675SRob Herring regulator-min-microvolt = <3300000>; 100724ba675SRob Herring regulator-max-microvolt = <3300000>; 101724ba675SRob Herring gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; 102724ba675SRob Herring startup-delay-us = <300000>; 103724ba675SRob Herring enable-active-high; 104724ba675SRob Herring regulator-always-on; 105724ba675SRob Herring regulator-boot-on; 106724ba675SRob Herring }; 107724ba675SRob Herring 108724ba675SRob Herring mclk: clock-mclk { 109724ba675SRob Herring compatible = "fixed-clock"; 110724ba675SRob Herring #clock-cells = <0>; 111724ba675SRob Herring clock-frequency = <26000000>; 112724ba675SRob Herring }; 113724ba675SRob Herring 114724ba675SRob Herring sound { 115724ba675SRob Herring compatible = "fsl,imx28-tx28-sgtl5000", 116724ba675SRob Herring "fsl,mxs-audio-sgtl5000"; 117724ba675SRob Herring model = "imx28-tx28-sgtl5000"; 118724ba675SRob Herring saif-controllers = <&saif0 &saif1>; 119724ba675SRob Herring audio-codec = <&sgtl5000>; 120724ba675SRob Herring }; 121724ba675SRob Herring 122724ba675SRob Herring leds { 123724ba675SRob Herring compatible = "gpio-leds"; 124724ba675SRob Herring 125724ba675SRob Herring user_led: user { 126724ba675SRob Herring label = "Heartbeat"; 127724ba675SRob Herring gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; 128724ba675SRob Herring linux,default-trigger = "heartbeat"; 129724ba675SRob Herring }; 130724ba675SRob Herring }; 131724ba675SRob Herring 132724ba675SRob Herring backlight { 133724ba675SRob Herring compatible = "pwm-backlight"; 134*1970fc65SFabio Estevam pwms = <&pwm 0 500000 0>; 135724ba675SRob Herring /* 136724ba675SRob Herring * a silly way to create a 1:1 relationship between the 137724ba675SRob Herring * PWM value and the actual duty cycle 138724ba675SRob Herring */ 139724ba675SRob Herring brightness-levels = < 0 1 2 3 4 5 6 7 8 9 140724ba675SRob Herring 10 11 12 13 14 15 16 17 18 19 141724ba675SRob Herring 20 21 22 23 24 25 26 27 28 29 142724ba675SRob Herring 30 31 32 33 34 35 36 37 38 39 143724ba675SRob Herring 40 41 42 43 44 45 46 47 48 49 144724ba675SRob Herring 50 51 52 53 54 55 56 57 58 59 145724ba675SRob Herring 60 61 62 63 64 65 66 67 68 69 146724ba675SRob Herring 70 71 72 73 74 75 76 77 78 79 147724ba675SRob Herring 80 81 82 83 84 85 86 87 88 89 148724ba675SRob Herring 90 91 92 93 94 95 96 97 98 99 149724ba675SRob Herring 100>; 150724ba675SRob Herring default-brightness-level = <50>; 151724ba675SRob Herring }; 152724ba675SRob Herring 153724ba675SRob Herring matrix_keypad: matrix-keypad { 154724ba675SRob Herring compatible = "gpio-matrix-keypad"; 155724ba675SRob Herring col-gpios = < 156724ba675SRob Herring &gpio5 0 GPIO_ACTIVE_HIGH 157724ba675SRob Herring &gpio5 1 GPIO_ACTIVE_HIGH 158724ba675SRob Herring &gpio5 2 GPIO_ACTIVE_HIGH 159724ba675SRob Herring &gpio5 3 GPIO_ACTIVE_HIGH 160724ba675SRob Herring >; 161724ba675SRob Herring row-gpios = < 162724ba675SRob Herring &gpio5 4 GPIO_ACTIVE_HIGH 163724ba675SRob Herring &gpio5 5 GPIO_ACTIVE_HIGH 164724ba675SRob Herring &gpio5 6 GPIO_ACTIVE_HIGH 165724ba675SRob Herring &gpio5 7 GPIO_ACTIVE_HIGH 166724ba675SRob Herring >; 167724ba675SRob Herring /* sample keymap */ 168724ba675SRob Herring linux,keymap = < 169724ba675SRob Herring 0x00000074 /* row 0, col 0, KEY_POWER */ 170724ba675SRob Herring 0x00010052 /* row 0, col 1, KEY_KP0 */ 171724ba675SRob Herring 0x0002004f /* row 0, col 2, KEY_KP1 */ 172724ba675SRob Herring 0x00030050 /* row 0, col 3, KEY_KP2 */ 173724ba675SRob Herring 0x01000051 /* row 1, col 0, KEY_KP3 */ 174724ba675SRob Herring 0x0101004b /* row 1, col 1, KEY_KP4 */ 175724ba675SRob Herring 0x0102004c /* row 1, col 2, KEY_KP5 */ 176724ba675SRob Herring 0x0103004d /* row 1, col 3, KEY_KP6 */ 177724ba675SRob Herring 0x02000047 /* row 2, col 0, KEY_KP7 */ 178724ba675SRob Herring 0x02010048 /* row 2, col 1, KEY_KP8 */ 179724ba675SRob Herring 0x02020049 /* row 2, col 2, KEY_KP9 */ 180724ba675SRob Herring >; 181724ba675SRob Herring gpio-activelow; 182724ba675SRob Herring wakeup-source; 183724ba675SRob Herring debounce-delay-ms = <100>; 184724ba675SRob Herring col-scan-delay-us = <5000>; 185724ba675SRob Herring linux,no-autorepeat; 186724ba675SRob Herring }; 187724ba675SRob Herring 188724ba675SRob Herring spi_gpio: spi { 189724ba675SRob Herring compatible = "spi-gpio"; 190724ba675SRob Herring #address-cells = <1>; 191724ba675SRob Herring #size-cells = <0>; 192724ba675SRob Herring pinctrl-names = "default"; 193724ba675SRob Herring pinctrl-0 = <&tx28_spi_gpio_pins>; 194724ba675SRob Herring 195724ba675SRob Herring sck-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>; 196724ba675SRob Herring mosi-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>; 197724ba675SRob Herring miso-gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>; 198724ba675SRob Herring num-chipselects = <3>; 199724ba675SRob Herring cs-gpios = < 200724ba675SRob Herring &gpio2 27 GPIO_ACTIVE_LOW 201724ba675SRob Herring &gpio3 8 GPIO_ACTIVE_LOW 202724ba675SRob Herring &gpio3 9 GPIO_ACTIVE_LOW 203724ba675SRob Herring >; 204724ba675SRob Herring /* enable this and disable ssp3 below, if you need full duplex SPI transfer */ 205724ba675SRob Herring status = "disabled"; 206724ba675SRob Herring }; 207724ba675SRob Herring}; 208724ba675SRob Herring 209724ba675SRob Herring/* 2nd TX-Std UART - (A)UART1 */ 210724ba675SRob Herring&auart1 { 211724ba675SRob Herring pinctrl-names = "default"; 212724ba675SRob Herring pinctrl-0 = <&auart1_pins_a>; 213724ba675SRob Herring status = "okay"; 214724ba675SRob Herring}; 215724ba675SRob Herring 216724ba675SRob Herring/* 3rd TX-Std UART - (A)UART3 */ 217724ba675SRob Herring&auart3 { 218724ba675SRob Herring pinctrl-names = "default"; 219724ba675SRob Herring pinctrl-0 = <&auart3_pins_a>; 220724ba675SRob Herring status = "okay"; 221724ba675SRob Herring}; 222724ba675SRob Herring 223724ba675SRob Herring&can0 { 224724ba675SRob Herring pinctrl-names = "default"; 225724ba675SRob Herring pinctrl-0 = <&can0_pins_a>; 226724ba675SRob Herring xceiver-supply = <®_can_xcvr>; 227724ba675SRob Herring status = "okay"; 228724ba675SRob Herring}; 229724ba675SRob Herring 230724ba675SRob Herring&can1 { 231724ba675SRob Herring pinctrl-names = "default"; 232724ba675SRob Herring pinctrl-0 = <&can1_pins_a>; 233724ba675SRob Herring xceiver-supply = <®_can_xcvr>; 234724ba675SRob Herring status = "okay"; 235724ba675SRob Herring}; 236724ba675SRob Herring 237724ba675SRob Herring&digctl { 238724ba675SRob Herring status = "okay"; 239724ba675SRob Herring}; 240724ba675SRob Herring 241724ba675SRob Herring/* 1st TX-Std UART - (D)UART */ 242724ba675SRob Herring&duart { 243724ba675SRob Herring pinctrl-names = "default"; 244724ba675SRob Herring pinctrl-0 = <&duart_4pins_a>; 245724ba675SRob Herring status = "okay"; 246724ba675SRob Herring}; 247724ba675SRob Herring 248724ba675SRob Herring&gpmi { 249724ba675SRob Herring pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 250724ba675SRob Herring nand-on-flash-bbt; 251724ba675SRob Herring status = "okay"; 252724ba675SRob Herring}; 253724ba675SRob Herring 254724ba675SRob Herring&i2c0 { 255724ba675SRob Herring pinctrl-names = "default"; 256724ba675SRob Herring pinctrl-0 = <&i2c0_pins_a>; 257724ba675SRob Herring clock-frequency = <400000>; 258724ba675SRob Herring status = "okay"; 259724ba675SRob Herring 260724ba675SRob Herring sgtl5000: sgtl5000@a { 261724ba675SRob Herring compatible = "fsl,sgtl5000"; 262724ba675SRob Herring reg = <0x0a>; 263724ba675SRob Herring VDDA-supply = <®_2p5v>; 264724ba675SRob Herring VDDIO-supply = <®_3p3v>; 265724ba675SRob Herring clocks = <&mclk>; 266724ba675SRob Herring }; 267724ba675SRob Herring 268724ba675SRob Herring gpio5: pca953x@20 { 269724ba675SRob Herring compatible = "nxp,pca9554"; 270724ba675SRob Herring reg = <0x20>; 271724ba675SRob Herring pinctrl-names = "default"; 272724ba675SRob Herring pinctrl-0 = <&tx28_pca9554_pins>; 273724ba675SRob Herring interrupt-parent = <&gpio3>; 274724ba675SRob Herring interrupts = <28 IRQ_TYPE_NONE>; 275724ba675SRob Herring gpio-controller; 276724ba675SRob Herring #gpio-cells = <2>; 277724ba675SRob Herring interrupt-controller; 278724ba675SRob Herring #interrupt-cells = <2>; 279724ba675SRob Herring }; 280724ba675SRob Herring 281724ba675SRob Herring polytouch: edt-ft5x06@38 { 282724ba675SRob Herring compatible = "edt,edt-ft5x06"; 283724ba675SRob Herring reg = <0x38>; 284724ba675SRob Herring pinctrl-names = "default"; 285724ba675SRob Herring pinctrl-0 = <&tx28_edt_ft5x06_pins>; 286724ba675SRob Herring interrupt-parent = <&gpio2>; 287724ba675SRob Herring interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 288724ba675SRob Herring reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; 289724ba675SRob Herring wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; 290724ba675SRob Herring wakeup-source; 291724ba675SRob Herring }; 292724ba675SRob Herring 293724ba675SRob Herring touchscreen: tsc2007@48 { 294724ba675SRob Herring compatible = "ti,tsc2007"; 295724ba675SRob Herring reg = <0x48>; 296724ba675SRob Herring pinctrl-names = "default"; 297724ba675SRob Herring pinctrl-0 = <&tx28_tsc2007_pins>; 298724ba675SRob Herring interrupt-parent = <&gpio3>; 299724ba675SRob Herring interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 300724ba675SRob Herring pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; 301724ba675SRob Herring ti,x-plate-ohms = /bits/ 16 <660>; 302724ba675SRob Herring }; 303724ba675SRob Herring 304724ba675SRob Herring ds1339: rtc@68 { 305724ba675SRob Herring compatible = "dallas,ds1339"; 306724ba675SRob Herring reg = <0x68>; 307724ba675SRob Herring trickle-resistor-ohms = <250>; 308724ba675SRob Herring trickle-diode-disable; 309724ba675SRob Herring }; 310724ba675SRob Herring}; 311724ba675SRob Herring 312724ba675SRob Herring&lcdif { 313724ba675SRob Herring pinctrl-names = "default"; 314724ba675SRob Herring pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>; 315724ba675SRob Herring lcd-supply = <®_lcd>; 316724ba675SRob Herring display = <&display0>; 317724ba675SRob Herring status = "okay"; 318724ba675SRob Herring 319724ba675SRob Herring display0: display0 { 320724ba675SRob Herring bits-per-pixel = <32>; 321724ba675SRob Herring bus-width = <24>; 322724ba675SRob Herring display-timings { 323724ba675SRob Herring native-mode = <&timing5>; 324724ba675SRob Herring timing0: timing0 { 325724ba675SRob Herring panel-name = "VGA"; 326724ba675SRob Herring clock-frequency = <25175000>; 327724ba675SRob Herring hactive = <640>; 328724ba675SRob Herring vactive = <480>; 329724ba675SRob Herring hback-porch = <48>; 330724ba675SRob Herring hsync-len = <96>; 331724ba675SRob Herring hfront-porch = <16>; 332724ba675SRob Herring vback-porch = <33>; 333724ba675SRob Herring vsync-len = <2>; 334724ba675SRob Herring vfront-porch = <10>; 335724ba675SRob Herring hsync-active = <0>; 336724ba675SRob Herring vsync-active = <0>; 337724ba675SRob Herring de-active = <1>; 338724ba675SRob Herring pixelclk-active = <1>; 339724ba675SRob Herring }; 340724ba675SRob Herring 341724ba675SRob Herring timing1: timing1 { 342724ba675SRob Herring panel-name = "ETV570"; 343724ba675SRob Herring clock-frequency = <25175000>; 344724ba675SRob Herring hactive = <640>; 345724ba675SRob Herring vactive = <480>; 346724ba675SRob Herring hback-porch = <114>; 347724ba675SRob Herring hsync-len = <30>; 348724ba675SRob Herring hfront-porch = <16>; 349724ba675SRob Herring vback-porch = <32>; 350724ba675SRob Herring vsync-len = <3>; 351724ba675SRob Herring vfront-porch = <10>; 352724ba675SRob Herring hsync-active = <0>; 353724ba675SRob Herring vsync-active = <0>; 354724ba675SRob Herring de-active = <1>; 355724ba675SRob Herring pixelclk-active = <1>; 356724ba675SRob Herring }; 357724ba675SRob Herring 358724ba675SRob Herring timing2: timing2 { 359724ba675SRob Herring panel-name = "ET0350"; 360724ba675SRob Herring clock-frequency = <6500000>; 361724ba675SRob Herring hactive = <320>; 362724ba675SRob Herring vactive = <240>; 363724ba675SRob Herring hback-porch = <34>; 364724ba675SRob Herring hsync-len = <34>; 365724ba675SRob Herring hfront-porch = <20>; 366724ba675SRob Herring vback-porch = <15>; 367724ba675SRob Herring vsync-len = <3>; 368724ba675SRob Herring vfront-porch = <4>; 369724ba675SRob Herring hsync-active = <0>; 370724ba675SRob Herring vsync-active = <0>; 371724ba675SRob Herring de-active = <1>; 372724ba675SRob Herring pixelclk-active = <1>; 373724ba675SRob Herring }; 374724ba675SRob Herring 375724ba675SRob Herring timing3: timing3 { 376724ba675SRob Herring panel-name = "ET0430"; 377724ba675SRob Herring clock-frequency = <9000000>; 378724ba675SRob Herring hactive = <480>; 379724ba675SRob Herring vactive = <272>; 380724ba675SRob Herring hback-porch = <2>; 381724ba675SRob Herring hsync-len = <41>; 382724ba675SRob Herring hfront-porch = <2>; 383724ba675SRob Herring vback-porch = <2>; 384724ba675SRob Herring vsync-len = <10>; 385724ba675SRob Herring vfront-porch = <2>; 386724ba675SRob Herring hsync-active = <0>; 387724ba675SRob Herring vsync-active = <0>; 388724ba675SRob Herring de-active = <1>; 389724ba675SRob Herring pixelclk-active = <1>; 390724ba675SRob Herring }; 391724ba675SRob Herring 392724ba675SRob Herring timing4: timing4 { 393724ba675SRob Herring panel-name = "ET0500", "ET0700"; 394724ba675SRob Herring clock-frequency = <33260000>; 395724ba675SRob Herring hactive = <800>; 396724ba675SRob Herring vactive = <480>; 397724ba675SRob Herring hback-porch = <88>; 398724ba675SRob Herring hsync-len = <128>; 399724ba675SRob Herring hfront-porch = <40>; 400724ba675SRob Herring vback-porch = <33>; 401724ba675SRob Herring vsync-len = <2>; 402724ba675SRob Herring vfront-porch = <10>; 403724ba675SRob Herring hsync-active = <0>; 404724ba675SRob Herring vsync-active = <0>; 405724ba675SRob Herring de-active = <1>; 406724ba675SRob Herring pixelclk-active = <1>; 407724ba675SRob Herring }; 408724ba675SRob Herring 409724ba675SRob Herring timing5: timing5 { 410724ba675SRob Herring panel-name = "ETQ570"; 411724ba675SRob Herring clock-frequency = <6400000>; 412724ba675SRob Herring hactive = <320>; 413724ba675SRob Herring vactive = <240>; 414724ba675SRob Herring hback-porch = <38>; 415724ba675SRob Herring hsync-len = <30>; 416724ba675SRob Herring hfront-porch = <30>; 417724ba675SRob Herring vback-porch = <16>; 418724ba675SRob Herring vsync-len = <3>; 419724ba675SRob Herring vfront-porch = <4>; 420724ba675SRob Herring hsync-active = <0>; 421724ba675SRob Herring vsync-active = <0>; 422724ba675SRob Herring de-active = <1>; 423724ba675SRob Herring pixelclk-active = <1>; 424724ba675SRob Herring }; 425724ba675SRob Herring }; 426724ba675SRob Herring }; 427724ba675SRob Herring}; 428724ba675SRob Herring 429724ba675SRob Herring&lradc { 430724ba675SRob Herring fsl,lradc-touchscreen-wires = <4>; 431724ba675SRob Herring status = "okay"; 432724ba675SRob Herring}; 433724ba675SRob Herring 434724ba675SRob Herring&mac0 { 435724ba675SRob Herring phy-mode = "rmii"; 436724ba675SRob Herring pinctrl-names = "default", "gpio_mode"; 437724ba675SRob Herring pinctrl-0 = <&mac0_pins_a>; 438724ba675SRob Herring pinctrl-1 = <&tx28_mac0_pins_gpio>; 439724ba675SRob Herring status = "okay"; 440724ba675SRob Herring}; 441724ba675SRob Herring 442724ba675SRob Herring&mac1 { 443724ba675SRob Herring phy-mode = "rmii"; 444724ba675SRob Herring pinctrl-names = "default"; 445724ba675SRob Herring pinctrl-0 = <&mac1_pins_a>; 446724ba675SRob Herring /* not enabled by default */ 447724ba675SRob Herring}; 448724ba675SRob Herring 449724ba675SRob Herring&mxs_rtc { 450724ba675SRob Herring status = "okay"; 451724ba675SRob Herring}; 452724ba675SRob Herring 453724ba675SRob Herring&ocotp { 454724ba675SRob Herring status = "okay"; 455724ba675SRob Herring}; 456724ba675SRob Herring 457724ba675SRob Herring&pwm { 458724ba675SRob Herring pinctrl-names = "default"; 459724ba675SRob Herring pinctrl-0 = <&pwm0_pins_a>; 460724ba675SRob Herring status = "okay"; 461724ba675SRob Herring}; 462724ba675SRob Herring 463724ba675SRob Herring&pinctrl { 464724ba675SRob Herring pinctrl-names = "default"; 465724ba675SRob Herring pinctrl-0 = <&hog_pins_a>; 466724ba675SRob Herring 467724ba675SRob Herring hog_pins_a: hog@0 { 468724ba675SRob Herring reg = <0>; 469724ba675SRob Herring fsl,pinmux-ids = < 470724ba675SRob Herring MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */ 471724ba675SRob Herring >; 472724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 473724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 474724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 475724ba675SRob Herring }; 476724ba675SRob Herring 477724ba675SRob Herring tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins@0 { 478724ba675SRob Herring reg = <0>; 479724ba675SRob Herring fsl,pinmux-ids = < 480724ba675SRob Herring MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */ 481724ba675SRob Herring MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */ 482724ba675SRob Herring MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */ 483724ba675SRob Herring >; 484724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 485724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 486724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 487724ba675SRob Herring }; 488724ba675SRob Herring 489724ba675SRob Herring tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins@0 { 490724ba675SRob Herring reg = <0>; 491724ba675SRob Herring fsl,pinmux-ids = < 492724ba675SRob Herring MX28_PAD_LCD_D00__GPIO_1_0 493724ba675SRob Herring >; 494724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 495724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 496724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 497724ba675SRob Herring }; 498724ba675SRob Herring 499724ba675SRob Herring tx28_lcdif_23bit_pins: tx28-lcdif-23bit@0 { 500724ba675SRob Herring reg = <0>; 501724ba675SRob Herring fsl,pinmux-ids = < 502724ba675SRob Herring /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */ 503724ba675SRob Herring MX28_PAD_LCD_D01__LCD_D1 504724ba675SRob Herring MX28_PAD_LCD_D02__LCD_D2 505724ba675SRob Herring MX28_PAD_LCD_D03__LCD_D3 506724ba675SRob Herring MX28_PAD_LCD_D04__LCD_D4 507724ba675SRob Herring MX28_PAD_LCD_D05__LCD_D5 508724ba675SRob Herring MX28_PAD_LCD_D06__LCD_D6 509724ba675SRob Herring MX28_PAD_LCD_D07__LCD_D7 510724ba675SRob Herring MX28_PAD_LCD_D08__LCD_D8 511724ba675SRob Herring MX28_PAD_LCD_D09__LCD_D9 512724ba675SRob Herring MX28_PAD_LCD_D10__LCD_D10 513724ba675SRob Herring MX28_PAD_LCD_D11__LCD_D11 514724ba675SRob Herring MX28_PAD_LCD_D12__LCD_D12 515724ba675SRob Herring MX28_PAD_LCD_D13__LCD_D13 516724ba675SRob Herring MX28_PAD_LCD_D14__LCD_D14 517724ba675SRob Herring MX28_PAD_LCD_D15__LCD_D15 518724ba675SRob Herring MX28_PAD_LCD_D16__LCD_D16 519724ba675SRob Herring MX28_PAD_LCD_D17__LCD_D17 520724ba675SRob Herring MX28_PAD_LCD_D18__LCD_D18 521724ba675SRob Herring MX28_PAD_LCD_D19__LCD_D19 522724ba675SRob Herring MX28_PAD_LCD_D20__LCD_D20 523724ba675SRob Herring MX28_PAD_LCD_D21__LCD_D21 524724ba675SRob Herring MX28_PAD_LCD_D22__LCD_D22 525724ba675SRob Herring MX28_PAD_LCD_D23__LCD_D23 526724ba675SRob Herring >; 527724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 528724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 529724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 530724ba675SRob Herring }; 531724ba675SRob Herring 532724ba675SRob Herring tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl@0 { 533724ba675SRob Herring reg = <0>; 534724ba675SRob Herring fsl,pinmux-ids = < 535724ba675SRob Herring MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */ 536724ba675SRob Herring MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */ 537724ba675SRob Herring >; 538724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 539724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 540724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 541724ba675SRob Herring }; 542724ba675SRob Herring 543724ba675SRob Herring tx28_mac0_pins_gpio: tx28-mac0-gpio-pins@0 { 544724ba675SRob Herring reg = <0>; 545724ba675SRob Herring fsl,pinmux-ids = < 546724ba675SRob Herring MX28_PAD_ENET0_MDC__GPIO_4_0 547724ba675SRob Herring MX28_PAD_ENET0_MDIO__GPIO_4_1 548724ba675SRob Herring MX28_PAD_ENET0_RX_EN__GPIO_4_2 549724ba675SRob Herring MX28_PAD_ENET0_RXD0__GPIO_4_3 550724ba675SRob Herring MX28_PAD_ENET0_RXD1__GPIO_4_4 551724ba675SRob Herring MX28_PAD_ENET0_TX_EN__GPIO_4_6 552724ba675SRob Herring MX28_PAD_ENET0_TXD0__GPIO_4_7 553724ba675SRob Herring MX28_PAD_ENET0_TXD1__GPIO_4_8 554724ba675SRob Herring MX28_PAD_ENET_CLK__GPIO_4_16 555724ba675SRob Herring >; 556724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 557724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 558724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 559724ba675SRob Herring }; 560724ba675SRob Herring 561724ba675SRob Herring tx28_pca9554_pins: tx28-pca9554-pins@0 { 562724ba675SRob Herring reg = <0>; 563724ba675SRob Herring fsl,pinmux-ids = < 564724ba675SRob Herring MX28_PAD_PWM3__GPIO_3_28 565724ba675SRob Herring >; 566724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 567724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 568724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 569724ba675SRob Herring }; 570724ba675SRob Herring 571724ba675SRob Herring tx28_spi_gpio_pins: spi-gpiogrp@0 { 572724ba675SRob Herring reg = <0>; 573724ba675SRob Herring fsl,pinmux-ids = < 574724ba675SRob Herring MX28_PAD_AUART2_RX__GPIO_3_8 575724ba675SRob Herring MX28_PAD_AUART2_TX__GPIO_3_9 576724ba675SRob Herring MX28_PAD_SSP3_SCK__GPIO_2_24 577724ba675SRob Herring MX28_PAD_SSP3_MOSI__GPIO_2_25 578724ba675SRob Herring MX28_PAD_SSP3_MISO__GPIO_2_26 579724ba675SRob Herring MX28_PAD_SSP3_SS0__GPIO_2_27 580724ba675SRob Herring >; 581724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_8mA>; 582724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 583724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 584724ba675SRob Herring }; 585724ba675SRob Herring 586724ba675SRob Herring tx28_tsc2007_pins: tx28-tsc2007-pins@0 { 587724ba675SRob Herring reg = <0>; 588724ba675SRob Herring fsl,pinmux-ids = < 589724ba675SRob Herring MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */ 590724ba675SRob Herring >; 591724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 592724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 593724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 594724ba675SRob Herring }; 595724ba675SRob Herring 596724ba675SRob Herring 597724ba675SRob Herring tx28_usbphy0_pins: tx28-usbphy0-pins@0 { 598724ba675SRob Herring reg = <0>; 599724ba675SRob Herring fsl,pinmux-ids = < 600724ba675SRob Herring MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */ 601724ba675SRob Herring MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */ 602724ba675SRob Herring >; 603724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_12mA>; 604724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 605724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 606724ba675SRob Herring }; 607724ba675SRob Herring 608724ba675SRob Herring tx28_usbphy1_pins: tx28-usbphy1-pins@0 { 609724ba675SRob Herring reg = <0>; 610724ba675SRob Herring fsl,pinmux-ids = < 611724ba675SRob Herring MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */ 612724ba675SRob Herring MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */ 613724ba675SRob Herring >; 614724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_12mA>; 615724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 616724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 617724ba675SRob Herring }; 618724ba675SRob Herring}; 619724ba675SRob Herring 620724ba675SRob Herring&saif0 { 621724ba675SRob Herring pinctrl-names = "default"; 622724ba675SRob Herring pinctrl-0 = <&saif0_pins_b>; 623724ba675SRob Herring fsl,saif-master; 624724ba675SRob Herring status = "okay"; 625724ba675SRob Herring}; 626724ba675SRob Herring 627724ba675SRob Herring&saif1 { 628724ba675SRob Herring pinctrl-names = "default"; 629724ba675SRob Herring pinctrl-0 = <&saif1_pins_a>; 630724ba675SRob Herring status = "okay"; 631724ba675SRob Herring}; 632724ba675SRob Herring 633724ba675SRob Herring&ssp0 { 634724ba675SRob Herring compatible = "fsl,imx28-mmc"; 635724ba675SRob Herring pinctrl-names = "default", "special"; 636724ba675SRob Herring pinctrl-0 = <&mmc0_4bit_pins_a 637724ba675SRob Herring &mmc0_cd_cfg 638724ba675SRob Herring &mmc0_sck_cfg>; 639724ba675SRob Herring bus-width = <4>; 640724ba675SRob Herring status = "okay"; 641724ba675SRob Herring}; 642724ba675SRob Herring 643724ba675SRob Herring&ssp3 { 644724ba675SRob Herring compatible = "fsl,imx28-spi"; 645724ba675SRob Herring pinctrl-names = "default"; 646724ba675SRob Herring pinctrl-0 = <&spi3_pins_a>; 647724ba675SRob Herring clock-frequency = <57600000>; 648724ba675SRob Herring status = "okay"; 649724ba675SRob Herring}; 650724ba675SRob Herring 651724ba675SRob Herring&usb0 { 652724ba675SRob Herring vbus-supply = <®_usb0_vbus>; 653724ba675SRob Herring disable-over-current; 654724ba675SRob Herring dr_mode = "peripheral"; 655724ba675SRob Herring status = "okay"; 656724ba675SRob Herring}; 657724ba675SRob Herring 658724ba675SRob Herring&usb1 { 659724ba675SRob Herring vbus-supply = <®_usb1_vbus>; 660724ba675SRob Herring disable-over-current; 661724ba675SRob Herring dr_mode = "host"; 662724ba675SRob Herring status = "okay"; 663724ba675SRob Herring}; 664724ba675SRob Herring 665724ba675SRob Herring&usbphy0 { 666724ba675SRob Herring pinctrl-names = "default"; 667724ba675SRob Herring pinctrl-0 = <&tx28_usbphy0_pins>; 668724ba675SRob Herring phy_type = "utmi"; 669724ba675SRob Herring status = "okay"; 670724ba675SRob Herring}; 671724ba675SRob Herring 672724ba675SRob Herring&usbphy1 { 673724ba675SRob Herring pinctrl-names = "default"; 674724ba675SRob Herring pinctrl-0 = <&tx28_usbphy1_pins>; 675724ba675SRob Herring phy_type = "utmi"; 676724ba675SRob Herring status = "okay"; 677724ba675SRob Herring}; 678