1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 OR MIT 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright 2012 Shawn Guo <shawn.guo@linaro.org> 4*724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de> 5*724ba675SRob Herring */ 6*724ba675SRob Herring 7*724ba675SRob Herring/dts-v1/; 8*724ba675SRob Herring#include "imx28.dtsi" 9*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 10*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 11*724ba675SRob Herring 12*724ba675SRob Herring/ { 13*724ba675SRob Herring model = "Ka-Ro electronics TX28 module"; 14*724ba675SRob Herring compatible = "karo,tx28", "fsl,imx28"; 15*724ba675SRob Herring 16*724ba675SRob Herring aliases { 17*724ba675SRob Herring can0 = &can0; 18*724ba675SRob Herring can1 = &can1; 19*724ba675SRob Herring display = &display0; 20*724ba675SRob Herring ds1339 = &ds1339; 21*724ba675SRob Herring gpio5 = &gpio5; 22*724ba675SRob Herring lcdif = &lcdif; 23*724ba675SRob Herring lcdif_23bit_pins = &tx28_lcdif_23bit_pins; 24*724ba675SRob Herring lcdif_24bit_pins = &lcdif_24bit_pins_a; 25*724ba675SRob Herring reg_can_xcvr = ®_can_xcvr; 26*724ba675SRob Herring spi_gpio = &spi_gpio; 27*724ba675SRob Herring spi_mxs = &ssp3; 28*724ba675SRob Herring stk5led = &user_led; 29*724ba675SRob Herring usbotg = &usb0; 30*724ba675SRob Herring }; 31*724ba675SRob Herring 32*724ba675SRob Herring memory@40000000 { 33*724ba675SRob Herring device_type = "memory"; 34*724ba675SRob Herring reg = <0x40000000 0>; /* will be filled in by U-Boot */ 35*724ba675SRob Herring }; 36*724ba675SRob Herring 37*724ba675SRob Herring onewire { 38*724ba675SRob Herring compatible = "w1-gpio"; 39*724ba675SRob Herring gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; 40*724ba675SRob Herring status = "disabled"; 41*724ba675SRob Herring }; 42*724ba675SRob Herring 43*724ba675SRob Herring reg_usb0_vbus: regulator-usb0-vbus { 44*724ba675SRob Herring compatible = "regulator-fixed"; 45*724ba675SRob Herring regulator-name = "usb0_vbus"; 46*724ba675SRob Herring regulator-min-microvolt = <5000000>; 47*724ba675SRob Herring regulator-max-microvolt = <5000000>; 48*724ba675SRob Herring gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>; 49*724ba675SRob Herring enable-active-high; 50*724ba675SRob Herring }; 51*724ba675SRob Herring 52*724ba675SRob Herring reg_usb1_vbus: regulator-usb1-vbus { 53*724ba675SRob Herring compatible = "regulator-fixed"; 54*724ba675SRob Herring regulator-name = "usb1_vbus"; 55*724ba675SRob Herring regulator-min-microvolt = <5000000>; 56*724ba675SRob Herring regulator-max-microvolt = <5000000>; 57*724ba675SRob Herring gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>; 58*724ba675SRob Herring enable-active-high; 59*724ba675SRob Herring }; 60*724ba675SRob Herring 61*724ba675SRob Herring reg_2p5v: regulator-2p5v { 62*724ba675SRob Herring compatible = "regulator-fixed"; 63*724ba675SRob Herring regulator-name = "2P5V"; 64*724ba675SRob Herring regulator-min-microvolt = <2500000>; 65*724ba675SRob Herring regulator-max-microvolt = <2500000>; 66*724ba675SRob Herring regulator-always-on; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring reg_3p3v: regulator-3p3v { 70*724ba675SRob Herring compatible = "regulator-fixed"; 71*724ba675SRob Herring regulator-name = "3P3V"; 72*724ba675SRob Herring regulator-min-microvolt = <3300000>; 73*724ba675SRob Herring regulator-max-microvolt = <3300000>; 74*724ba675SRob Herring regulator-always-on; 75*724ba675SRob Herring }; 76*724ba675SRob Herring 77*724ba675SRob Herring reg_can_xcvr: regulator-can-xcvr { 78*724ba675SRob Herring compatible = "regulator-fixed"; 79*724ba675SRob Herring regulator-name = "CAN XCVR"; 80*724ba675SRob Herring regulator-min-microvolt = <3300000>; 81*724ba675SRob Herring regulator-max-microvolt = <3300000>; 82*724ba675SRob Herring gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 83*724ba675SRob Herring pinctrl-names = "default"; 84*724ba675SRob Herring pinctrl-0 = <&tx28_flexcan_xcvr_pins>; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring reg_lcd: regulator-lcd-power { 88*724ba675SRob Herring compatible = "regulator-fixed"; 89*724ba675SRob Herring regulator-name = "LCD POWER"; 90*724ba675SRob Herring regulator-min-microvolt = <3300000>; 91*724ba675SRob Herring regulator-max-microvolt = <3300000>; 92*724ba675SRob Herring gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>; 93*724ba675SRob Herring enable-active-high; 94*724ba675SRob Herring }; 95*724ba675SRob Herring 96*724ba675SRob Herring reg_lcd_reset: regulator-lcd-reset { 97*724ba675SRob Herring compatible = "regulator-fixed"; 98*724ba675SRob Herring regulator-name = "LCD RESET"; 99*724ba675SRob Herring regulator-min-microvolt = <3300000>; 100*724ba675SRob Herring regulator-max-microvolt = <3300000>; 101*724ba675SRob Herring gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; 102*724ba675SRob Herring startup-delay-us = <300000>; 103*724ba675SRob Herring enable-active-high; 104*724ba675SRob Herring regulator-always-on; 105*724ba675SRob Herring regulator-boot-on; 106*724ba675SRob Herring }; 107*724ba675SRob Herring 108*724ba675SRob Herring mclk: clock-mclk { 109*724ba675SRob Herring compatible = "fixed-clock"; 110*724ba675SRob Herring #clock-cells = <0>; 111*724ba675SRob Herring clock-frequency = <26000000>; 112*724ba675SRob Herring }; 113*724ba675SRob Herring 114*724ba675SRob Herring sound { 115*724ba675SRob Herring compatible = "fsl,imx28-tx28-sgtl5000", 116*724ba675SRob Herring "fsl,mxs-audio-sgtl5000"; 117*724ba675SRob Herring model = "imx28-tx28-sgtl5000"; 118*724ba675SRob Herring saif-controllers = <&saif0 &saif1>; 119*724ba675SRob Herring audio-codec = <&sgtl5000>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring 122*724ba675SRob Herring leds { 123*724ba675SRob Herring compatible = "gpio-leds"; 124*724ba675SRob Herring 125*724ba675SRob Herring user_led: user { 126*724ba675SRob Herring label = "Heartbeat"; 127*724ba675SRob Herring gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; 128*724ba675SRob Herring linux,default-trigger = "heartbeat"; 129*724ba675SRob Herring }; 130*724ba675SRob Herring }; 131*724ba675SRob Herring 132*724ba675SRob Herring backlight { 133*724ba675SRob Herring compatible = "pwm-backlight"; 134*724ba675SRob Herring pwms = <&pwm 0 500000>; 135*724ba675SRob Herring /* 136*724ba675SRob Herring * a silly way to create a 1:1 relationship between the 137*724ba675SRob Herring * PWM value and the actual duty cycle 138*724ba675SRob Herring */ 139*724ba675SRob Herring brightness-levels = < 0 1 2 3 4 5 6 7 8 9 140*724ba675SRob Herring 10 11 12 13 14 15 16 17 18 19 141*724ba675SRob Herring 20 21 22 23 24 25 26 27 28 29 142*724ba675SRob Herring 30 31 32 33 34 35 36 37 38 39 143*724ba675SRob Herring 40 41 42 43 44 45 46 47 48 49 144*724ba675SRob Herring 50 51 52 53 54 55 56 57 58 59 145*724ba675SRob Herring 60 61 62 63 64 65 66 67 68 69 146*724ba675SRob Herring 70 71 72 73 74 75 76 77 78 79 147*724ba675SRob Herring 80 81 82 83 84 85 86 87 88 89 148*724ba675SRob Herring 90 91 92 93 94 95 96 97 98 99 149*724ba675SRob Herring 100>; 150*724ba675SRob Herring default-brightness-level = <50>; 151*724ba675SRob Herring }; 152*724ba675SRob Herring 153*724ba675SRob Herring matrix_keypad: matrix-keypad { 154*724ba675SRob Herring compatible = "gpio-matrix-keypad"; 155*724ba675SRob Herring col-gpios = < 156*724ba675SRob Herring &gpio5 0 GPIO_ACTIVE_HIGH 157*724ba675SRob Herring &gpio5 1 GPIO_ACTIVE_HIGH 158*724ba675SRob Herring &gpio5 2 GPIO_ACTIVE_HIGH 159*724ba675SRob Herring &gpio5 3 GPIO_ACTIVE_HIGH 160*724ba675SRob Herring >; 161*724ba675SRob Herring row-gpios = < 162*724ba675SRob Herring &gpio5 4 GPIO_ACTIVE_HIGH 163*724ba675SRob Herring &gpio5 5 GPIO_ACTIVE_HIGH 164*724ba675SRob Herring &gpio5 6 GPIO_ACTIVE_HIGH 165*724ba675SRob Herring &gpio5 7 GPIO_ACTIVE_HIGH 166*724ba675SRob Herring >; 167*724ba675SRob Herring /* sample keymap */ 168*724ba675SRob Herring linux,keymap = < 169*724ba675SRob Herring 0x00000074 /* row 0, col 0, KEY_POWER */ 170*724ba675SRob Herring 0x00010052 /* row 0, col 1, KEY_KP0 */ 171*724ba675SRob Herring 0x0002004f /* row 0, col 2, KEY_KP1 */ 172*724ba675SRob Herring 0x00030050 /* row 0, col 3, KEY_KP2 */ 173*724ba675SRob Herring 0x01000051 /* row 1, col 0, KEY_KP3 */ 174*724ba675SRob Herring 0x0101004b /* row 1, col 1, KEY_KP4 */ 175*724ba675SRob Herring 0x0102004c /* row 1, col 2, KEY_KP5 */ 176*724ba675SRob Herring 0x0103004d /* row 1, col 3, KEY_KP6 */ 177*724ba675SRob Herring 0x02000047 /* row 2, col 0, KEY_KP7 */ 178*724ba675SRob Herring 0x02010048 /* row 2, col 1, KEY_KP8 */ 179*724ba675SRob Herring 0x02020049 /* row 2, col 2, KEY_KP9 */ 180*724ba675SRob Herring >; 181*724ba675SRob Herring gpio-activelow; 182*724ba675SRob Herring wakeup-source; 183*724ba675SRob Herring debounce-delay-ms = <100>; 184*724ba675SRob Herring col-scan-delay-us = <5000>; 185*724ba675SRob Herring linux,no-autorepeat; 186*724ba675SRob Herring }; 187*724ba675SRob Herring 188*724ba675SRob Herring spi_gpio: spi { 189*724ba675SRob Herring compatible = "spi-gpio"; 190*724ba675SRob Herring #address-cells = <1>; 191*724ba675SRob Herring #size-cells = <0>; 192*724ba675SRob Herring pinctrl-names = "default"; 193*724ba675SRob Herring pinctrl-0 = <&tx28_spi_gpio_pins>; 194*724ba675SRob Herring 195*724ba675SRob Herring sck-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>; 196*724ba675SRob Herring mosi-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>; 197*724ba675SRob Herring miso-gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>; 198*724ba675SRob Herring num-chipselects = <3>; 199*724ba675SRob Herring cs-gpios = < 200*724ba675SRob Herring &gpio2 27 GPIO_ACTIVE_LOW 201*724ba675SRob Herring &gpio3 8 GPIO_ACTIVE_LOW 202*724ba675SRob Herring &gpio3 9 GPIO_ACTIVE_LOW 203*724ba675SRob Herring >; 204*724ba675SRob Herring /* enable this and disable ssp3 below, if you need full duplex SPI transfer */ 205*724ba675SRob Herring status = "disabled"; 206*724ba675SRob Herring }; 207*724ba675SRob Herring}; 208*724ba675SRob Herring 209*724ba675SRob Herring/* 2nd TX-Std UART - (A)UART1 */ 210*724ba675SRob Herring&auart1 { 211*724ba675SRob Herring pinctrl-names = "default"; 212*724ba675SRob Herring pinctrl-0 = <&auart1_pins_a>; 213*724ba675SRob Herring status = "okay"; 214*724ba675SRob Herring}; 215*724ba675SRob Herring 216*724ba675SRob Herring/* 3rd TX-Std UART - (A)UART3 */ 217*724ba675SRob Herring&auart3 { 218*724ba675SRob Herring pinctrl-names = "default"; 219*724ba675SRob Herring pinctrl-0 = <&auart3_pins_a>; 220*724ba675SRob Herring status = "okay"; 221*724ba675SRob Herring}; 222*724ba675SRob Herring 223*724ba675SRob Herring&can0 { 224*724ba675SRob Herring pinctrl-names = "default"; 225*724ba675SRob Herring pinctrl-0 = <&can0_pins_a>; 226*724ba675SRob Herring xceiver-supply = <®_can_xcvr>; 227*724ba675SRob Herring status = "okay"; 228*724ba675SRob Herring}; 229*724ba675SRob Herring 230*724ba675SRob Herring&can1 { 231*724ba675SRob Herring pinctrl-names = "default"; 232*724ba675SRob Herring pinctrl-0 = <&can1_pins_a>; 233*724ba675SRob Herring xceiver-supply = <®_can_xcvr>; 234*724ba675SRob Herring status = "okay"; 235*724ba675SRob Herring}; 236*724ba675SRob Herring 237*724ba675SRob Herring&digctl { 238*724ba675SRob Herring status = "okay"; 239*724ba675SRob Herring}; 240*724ba675SRob Herring 241*724ba675SRob Herring/* 1st TX-Std UART - (D)UART */ 242*724ba675SRob Herring&duart { 243*724ba675SRob Herring pinctrl-names = "default"; 244*724ba675SRob Herring pinctrl-0 = <&duart_4pins_a>; 245*724ba675SRob Herring status = "okay"; 246*724ba675SRob Herring}; 247*724ba675SRob Herring 248*724ba675SRob Herring&gpmi { 249*724ba675SRob Herring pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 250*724ba675SRob Herring nand-on-flash-bbt; 251*724ba675SRob Herring status = "okay"; 252*724ba675SRob Herring}; 253*724ba675SRob Herring 254*724ba675SRob Herring&i2c0 { 255*724ba675SRob Herring pinctrl-names = "default"; 256*724ba675SRob Herring pinctrl-0 = <&i2c0_pins_a>; 257*724ba675SRob Herring clock-frequency = <400000>; 258*724ba675SRob Herring status = "okay"; 259*724ba675SRob Herring 260*724ba675SRob Herring sgtl5000: sgtl5000@a { 261*724ba675SRob Herring compatible = "fsl,sgtl5000"; 262*724ba675SRob Herring reg = <0x0a>; 263*724ba675SRob Herring VDDA-supply = <®_2p5v>; 264*724ba675SRob Herring VDDIO-supply = <®_3p3v>; 265*724ba675SRob Herring clocks = <&mclk>; 266*724ba675SRob Herring }; 267*724ba675SRob Herring 268*724ba675SRob Herring gpio5: pca953x@20 { 269*724ba675SRob Herring compatible = "nxp,pca9554"; 270*724ba675SRob Herring reg = <0x20>; 271*724ba675SRob Herring pinctrl-names = "default"; 272*724ba675SRob Herring pinctrl-0 = <&tx28_pca9554_pins>; 273*724ba675SRob Herring interrupt-parent = <&gpio3>; 274*724ba675SRob Herring interrupts = <28 IRQ_TYPE_NONE>; 275*724ba675SRob Herring gpio-controller; 276*724ba675SRob Herring #gpio-cells = <2>; 277*724ba675SRob Herring interrupt-controller; 278*724ba675SRob Herring #interrupt-cells = <2>; 279*724ba675SRob Herring }; 280*724ba675SRob Herring 281*724ba675SRob Herring polytouch: edt-ft5x06@38 { 282*724ba675SRob Herring compatible = "edt,edt-ft5x06"; 283*724ba675SRob Herring reg = <0x38>; 284*724ba675SRob Herring pinctrl-names = "default"; 285*724ba675SRob Herring pinctrl-0 = <&tx28_edt_ft5x06_pins>; 286*724ba675SRob Herring interrupt-parent = <&gpio2>; 287*724ba675SRob Herring interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 288*724ba675SRob Herring reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; 289*724ba675SRob Herring wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; 290*724ba675SRob Herring wakeup-source; 291*724ba675SRob Herring }; 292*724ba675SRob Herring 293*724ba675SRob Herring touchscreen: tsc2007@48 { 294*724ba675SRob Herring compatible = "ti,tsc2007"; 295*724ba675SRob Herring reg = <0x48>; 296*724ba675SRob Herring pinctrl-names = "default"; 297*724ba675SRob Herring pinctrl-0 = <&tx28_tsc2007_pins>; 298*724ba675SRob Herring interrupt-parent = <&gpio3>; 299*724ba675SRob Herring interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 300*724ba675SRob Herring pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; 301*724ba675SRob Herring ti,x-plate-ohms = /bits/ 16 <660>; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring ds1339: rtc@68 { 305*724ba675SRob Herring compatible = "dallas,ds1339"; 306*724ba675SRob Herring reg = <0x68>; 307*724ba675SRob Herring trickle-resistor-ohms = <250>; 308*724ba675SRob Herring trickle-diode-disable; 309*724ba675SRob Herring }; 310*724ba675SRob Herring}; 311*724ba675SRob Herring 312*724ba675SRob Herring&lcdif { 313*724ba675SRob Herring pinctrl-names = "default"; 314*724ba675SRob Herring pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>; 315*724ba675SRob Herring lcd-supply = <®_lcd>; 316*724ba675SRob Herring display = <&display0>; 317*724ba675SRob Herring status = "okay"; 318*724ba675SRob Herring 319*724ba675SRob Herring display0: display0 { 320*724ba675SRob Herring bits-per-pixel = <32>; 321*724ba675SRob Herring bus-width = <24>; 322*724ba675SRob Herring display-timings { 323*724ba675SRob Herring native-mode = <&timing5>; 324*724ba675SRob Herring timing0: timing0 { 325*724ba675SRob Herring panel-name = "VGA"; 326*724ba675SRob Herring clock-frequency = <25175000>; 327*724ba675SRob Herring hactive = <640>; 328*724ba675SRob Herring vactive = <480>; 329*724ba675SRob Herring hback-porch = <48>; 330*724ba675SRob Herring hsync-len = <96>; 331*724ba675SRob Herring hfront-porch = <16>; 332*724ba675SRob Herring vback-porch = <33>; 333*724ba675SRob Herring vsync-len = <2>; 334*724ba675SRob Herring vfront-porch = <10>; 335*724ba675SRob Herring hsync-active = <0>; 336*724ba675SRob Herring vsync-active = <0>; 337*724ba675SRob Herring de-active = <1>; 338*724ba675SRob Herring pixelclk-active = <1>; 339*724ba675SRob Herring }; 340*724ba675SRob Herring 341*724ba675SRob Herring timing1: timing1 { 342*724ba675SRob Herring panel-name = "ETV570"; 343*724ba675SRob Herring clock-frequency = <25175000>; 344*724ba675SRob Herring hactive = <640>; 345*724ba675SRob Herring vactive = <480>; 346*724ba675SRob Herring hback-porch = <114>; 347*724ba675SRob Herring hsync-len = <30>; 348*724ba675SRob Herring hfront-porch = <16>; 349*724ba675SRob Herring vback-porch = <32>; 350*724ba675SRob Herring vsync-len = <3>; 351*724ba675SRob Herring vfront-porch = <10>; 352*724ba675SRob Herring hsync-active = <0>; 353*724ba675SRob Herring vsync-active = <0>; 354*724ba675SRob Herring de-active = <1>; 355*724ba675SRob Herring pixelclk-active = <1>; 356*724ba675SRob Herring }; 357*724ba675SRob Herring 358*724ba675SRob Herring timing2: timing2 { 359*724ba675SRob Herring panel-name = "ET0350"; 360*724ba675SRob Herring clock-frequency = <6500000>; 361*724ba675SRob Herring hactive = <320>; 362*724ba675SRob Herring vactive = <240>; 363*724ba675SRob Herring hback-porch = <34>; 364*724ba675SRob Herring hsync-len = <34>; 365*724ba675SRob Herring hfront-porch = <20>; 366*724ba675SRob Herring vback-porch = <15>; 367*724ba675SRob Herring vsync-len = <3>; 368*724ba675SRob Herring vfront-porch = <4>; 369*724ba675SRob Herring hsync-active = <0>; 370*724ba675SRob Herring vsync-active = <0>; 371*724ba675SRob Herring de-active = <1>; 372*724ba675SRob Herring pixelclk-active = <1>; 373*724ba675SRob Herring }; 374*724ba675SRob Herring 375*724ba675SRob Herring timing3: timing3 { 376*724ba675SRob Herring panel-name = "ET0430"; 377*724ba675SRob Herring clock-frequency = <9000000>; 378*724ba675SRob Herring hactive = <480>; 379*724ba675SRob Herring vactive = <272>; 380*724ba675SRob Herring hback-porch = <2>; 381*724ba675SRob Herring hsync-len = <41>; 382*724ba675SRob Herring hfront-porch = <2>; 383*724ba675SRob Herring vback-porch = <2>; 384*724ba675SRob Herring vsync-len = <10>; 385*724ba675SRob Herring vfront-porch = <2>; 386*724ba675SRob Herring hsync-active = <0>; 387*724ba675SRob Herring vsync-active = <0>; 388*724ba675SRob Herring de-active = <1>; 389*724ba675SRob Herring pixelclk-active = <1>; 390*724ba675SRob Herring }; 391*724ba675SRob Herring 392*724ba675SRob Herring timing4: timing4 { 393*724ba675SRob Herring panel-name = "ET0500", "ET0700"; 394*724ba675SRob Herring clock-frequency = <33260000>; 395*724ba675SRob Herring hactive = <800>; 396*724ba675SRob Herring vactive = <480>; 397*724ba675SRob Herring hback-porch = <88>; 398*724ba675SRob Herring hsync-len = <128>; 399*724ba675SRob Herring hfront-porch = <40>; 400*724ba675SRob Herring vback-porch = <33>; 401*724ba675SRob Herring vsync-len = <2>; 402*724ba675SRob Herring vfront-porch = <10>; 403*724ba675SRob Herring hsync-active = <0>; 404*724ba675SRob Herring vsync-active = <0>; 405*724ba675SRob Herring de-active = <1>; 406*724ba675SRob Herring pixelclk-active = <1>; 407*724ba675SRob Herring }; 408*724ba675SRob Herring 409*724ba675SRob Herring timing5: timing5 { 410*724ba675SRob Herring panel-name = "ETQ570"; 411*724ba675SRob Herring clock-frequency = <6400000>; 412*724ba675SRob Herring hactive = <320>; 413*724ba675SRob Herring vactive = <240>; 414*724ba675SRob Herring hback-porch = <38>; 415*724ba675SRob Herring hsync-len = <30>; 416*724ba675SRob Herring hfront-porch = <30>; 417*724ba675SRob Herring vback-porch = <16>; 418*724ba675SRob Herring vsync-len = <3>; 419*724ba675SRob Herring vfront-porch = <4>; 420*724ba675SRob Herring hsync-active = <0>; 421*724ba675SRob Herring vsync-active = <0>; 422*724ba675SRob Herring de-active = <1>; 423*724ba675SRob Herring pixelclk-active = <1>; 424*724ba675SRob Herring }; 425*724ba675SRob Herring }; 426*724ba675SRob Herring }; 427*724ba675SRob Herring}; 428*724ba675SRob Herring 429*724ba675SRob Herring&lradc { 430*724ba675SRob Herring fsl,lradc-touchscreen-wires = <4>; 431*724ba675SRob Herring status = "okay"; 432*724ba675SRob Herring}; 433*724ba675SRob Herring 434*724ba675SRob Herring&mac0 { 435*724ba675SRob Herring phy-mode = "rmii"; 436*724ba675SRob Herring pinctrl-names = "default", "gpio_mode"; 437*724ba675SRob Herring pinctrl-0 = <&mac0_pins_a>; 438*724ba675SRob Herring pinctrl-1 = <&tx28_mac0_pins_gpio>; 439*724ba675SRob Herring status = "okay"; 440*724ba675SRob Herring}; 441*724ba675SRob Herring 442*724ba675SRob Herring&mac1 { 443*724ba675SRob Herring phy-mode = "rmii"; 444*724ba675SRob Herring pinctrl-names = "default"; 445*724ba675SRob Herring pinctrl-0 = <&mac1_pins_a>; 446*724ba675SRob Herring /* not enabled by default */ 447*724ba675SRob Herring}; 448*724ba675SRob Herring 449*724ba675SRob Herring&mxs_rtc { 450*724ba675SRob Herring status = "okay"; 451*724ba675SRob Herring}; 452*724ba675SRob Herring 453*724ba675SRob Herring&ocotp { 454*724ba675SRob Herring status = "okay"; 455*724ba675SRob Herring}; 456*724ba675SRob Herring 457*724ba675SRob Herring&pwm { 458*724ba675SRob Herring pinctrl-names = "default"; 459*724ba675SRob Herring pinctrl-0 = <&pwm0_pins_a>; 460*724ba675SRob Herring status = "okay"; 461*724ba675SRob Herring}; 462*724ba675SRob Herring 463*724ba675SRob Herring&pinctrl { 464*724ba675SRob Herring pinctrl-names = "default"; 465*724ba675SRob Herring pinctrl-0 = <&hog_pins_a>; 466*724ba675SRob Herring 467*724ba675SRob Herring hog_pins_a: hog@0 { 468*724ba675SRob Herring reg = <0>; 469*724ba675SRob Herring fsl,pinmux-ids = < 470*724ba675SRob Herring MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */ 471*724ba675SRob Herring >; 472*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 473*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 474*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 475*724ba675SRob Herring }; 476*724ba675SRob Herring 477*724ba675SRob Herring tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins@0 { 478*724ba675SRob Herring reg = <0>; 479*724ba675SRob Herring fsl,pinmux-ids = < 480*724ba675SRob Herring MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */ 481*724ba675SRob Herring MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */ 482*724ba675SRob Herring MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */ 483*724ba675SRob Herring >; 484*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 485*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 486*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 487*724ba675SRob Herring }; 488*724ba675SRob Herring 489*724ba675SRob Herring tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins@0 { 490*724ba675SRob Herring reg = <0>; 491*724ba675SRob Herring fsl,pinmux-ids = < 492*724ba675SRob Herring MX28_PAD_LCD_D00__GPIO_1_0 493*724ba675SRob Herring >; 494*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 495*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 496*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 497*724ba675SRob Herring }; 498*724ba675SRob Herring 499*724ba675SRob Herring tx28_lcdif_23bit_pins: tx28-lcdif-23bit@0 { 500*724ba675SRob Herring reg = <0>; 501*724ba675SRob Herring fsl,pinmux-ids = < 502*724ba675SRob Herring /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */ 503*724ba675SRob Herring MX28_PAD_LCD_D01__LCD_D1 504*724ba675SRob Herring MX28_PAD_LCD_D02__LCD_D2 505*724ba675SRob Herring MX28_PAD_LCD_D03__LCD_D3 506*724ba675SRob Herring MX28_PAD_LCD_D04__LCD_D4 507*724ba675SRob Herring MX28_PAD_LCD_D05__LCD_D5 508*724ba675SRob Herring MX28_PAD_LCD_D06__LCD_D6 509*724ba675SRob Herring MX28_PAD_LCD_D07__LCD_D7 510*724ba675SRob Herring MX28_PAD_LCD_D08__LCD_D8 511*724ba675SRob Herring MX28_PAD_LCD_D09__LCD_D9 512*724ba675SRob Herring MX28_PAD_LCD_D10__LCD_D10 513*724ba675SRob Herring MX28_PAD_LCD_D11__LCD_D11 514*724ba675SRob Herring MX28_PAD_LCD_D12__LCD_D12 515*724ba675SRob Herring MX28_PAD_LCD_D13__LCD_D13 516*724ba675SRob Herring MX28_PAD_LCD_D14__LCD_D14 517*724ba675SRob Herring MX28_PAD_LCD_D15__LCD_D15 518*724ba675SRob Herring MX28_PAD_LCD_D16__LCD_D16 519*724ba675SRob Herring MX28_PAD_LCD_D17__LCD_D17 520*724ba675SRob Herring MX28_PAD_LCD_D18__LCD_D18 521*724ba675SRob Herring MX28_PAD_LCD_D19__LCD_D19 522*724ba675SRob Herring MX28_PAD_LCD_D20__LCD_D20 523*724ba675SRob Herring MX28_PAD_LCD_D21__LCD_D21 524*724ba675SRob Herring MX28_PAD_LCD_D22__LCD_D22 525*724ba675SRob Herring MX28_PAD_LCD_D23__LCD_D23 526*724ba675SRob Herring >; 527*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 528*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 529*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 530*724ba675SRob Herring }; 531*724ba675SRob Herring 532*724ba675SRob Herring tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl@0 { 533*724ba675SRob Herring reg = <0>; 534*724ba675SRob Herring fsl,pinmux-ids = < 535*724ba675SRob Herring MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */ 536*724ba675SRob Herring MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */ 537*724ba675SRob Herring >; 538*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 539*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 540*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 541*724ba675SRob Herring }; 542*724ba675SRob Herring 543*724ba675SRob Herring tx28_mac0_pins_gpio: tx28-mac0-gpio-pins@0 { 544*724ba675SRob Herring reg = <0>; 545*724ba675SRob Herring fsl,pinmux-ids = < 546*724ba675SRob Herring MX28_PAD_ENET0_MDC__GPIO_4_0 547*724ba675SRob Herring MX28_PAD_ENET0_MDIO__GPIO_4_1 548*724ba675SRob Herring MX28_PAD_ENET0_RX_EN__GPIO_4_2 549*724ba675SRob Herring MX28_PAD_ENET0_RXD0__GPIO_4_3 550*724ba675SRob Herring MX28_PAD_ENET0_RXD1__GPIO_4_4 551*724ba675SRob Herring MX28_PAD_ENET0_TX_EN__GPIO_4_6 552*724ba675SRob Herring MX28_PAD_ENET0_TXD0__GPIO_4_7 553*724ba675SRob Herring MX28_PAD_ENET0_TXD1__GPIO_4_8 554*724ba675SRob Herring MX28_PAD_ENET_CLK__GPIO_4_16 555*724ba675SRob Herring >; 556*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 557*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 558*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 559*724ba675SRob Herring }; 560*724ba675SRob Herring 561*724ba675SRob Herring tx28_pca9554_pins: tx28-pca9554-pins@0 { 562*724ba675SRob Herring reg = <0>; 563*724ba675SRob Herring fsl,pinmux-ids = < 564*724ba675SRob Herring MX28_PAD_PWM3__GPIO_3_28 565*724ba675SRob Herring >; 566*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 567*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 568*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 569*724ba675SRob Herring }; 570*724ba675SRob Herring 571*724ba675SRob Herring tx28_spi_gpio_pins: spi-gpiogrp@0 { 572*724ba675SRob Herring reg = <0>; 573*724ba675SRob Herring fsl,pinmux-ids = < 574*724ba675SRob Herring MX28_PAD_AUART2_RX__GPIO_3_8 575*724ba675SRob Herring MX28_PAD_AUART2_TX__GPIO_3_9 576*724ba675SRob Herring MX28_PAD_SSP3_SCK__GPIO_2_24 577*724ba675SRob Herring MX28_PAD_SSP3_MOSI__GPIO_2_25 578*724ba675SRob Herring MX28_PAD_SSP3_MISO__GPIO_2_26 579*724ba675SRob Herring MX28_PAD_SSP3_SS0__GPIO_2_27 580*724ba675SRob Herring >; 581*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_8mA>; 582*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 583*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 584*724ba675SRob Herring }; 585*724ba675SRob Herring 586*724ba675SRob Herring tx28_tsc2007_pins: tx28-tsc2007-pins@0 { 587*724ba675SRob Herring reg = <0>; 588*724ba675SRob Herring fsl,pinmux-ids = < 589*724ba675SRob Herring MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */ 590*724ba675SRob Herring >; 591*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 592*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 593*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 594*724ba675SRob Herring }; 595*724ba675SRob Herring 596*724ba675SRob Herring 597*724ba675SRob Herring tx28_usbphy0_pins: tx28-usbphy0-pins@0 { 598*724ba675SRob Herring reg = <0>; 599*724ba675SRob Herring fsl,pinmux-ids = < 600*724ba675SRob Herring MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */ 601*724ba675SRob Herring MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */ 602*724ba675SRob Herring >; 603*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_12mA>; 604*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 605*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 606*724ba675SRob Herring }; 607*724ba675SRob Herring 608*724ba675SRob Herring tx28_usbphy1_pins: tx28-usbphy1-pins@0 { 609*724ba675SRob Herring reg = <0>; 610*724ba675SRob Herring fsl,pinmux-ids = < 611*724ba675SRob Herring MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */ 612*724ba675SRob Herring MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */ 613*724ba675SRob Herring >; 614*724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_12mA>; 615*724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 616*724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 617*724ba675SRob Herring }; 618*724ba675SRob Herring}; 619*724ba675SRob Herring 620*724ba675SRob Herring&saif0 { 621*724ba675SRob Herring pinctrl-names = "default"; 622*724ba675SRob Herring pinctrl-0 = <&saif0_pins_b>; 623*724ba675SRob Herring fsl,saif-master; 624*724ba675SRob Herring status = "okay"; 625*724ba675SRob Herring}; 626*724ba675SRob Herring 627*724ba675SRob Herring&saif1 { 628*724ba675SRob Herring pinctrl-names = "default"; 629*724ba675SRob Herring pinctrl-0 = <&saif1_pins_a>; 630*724ba675SRob Herring status = "okay"; 631*724ba675SRob Herring}; 632*724ba675SRob Herring 633*724ba675SRob Herring&ssp0 { 634*724ba675SRob Herring compatible = "fsl,imx28-mmc"; 635*724ba675SRob Herring pinctrl-names = "default", "special"; 636*724ba675SRob Herring pinctrl-0 = <&mmc0_4bit_pins_a 637*724ba675SRob Herring &mmc0_cd_cfg 638*724ba675SRob Herring &mmc0_sck_cfg>; 639*724ba675SRob Herring bus-width = <4>; 640*724ba675SRob Herring status = "okay"; 641*724ba675SRob Herring}; 642*724ba675SRob Herring 643*724ba675SRob Herring&ssp3 { 644*724ba675SRob Herring compatible = "fsl,imx28-spi"; 645*724ba675SRob Herring pinctrl-names = "default"; 646*724ba675SRob Herring pinctrl-0 = <&spi3_pins_a>; 647*724ba675SRob Herring clock-frequency = <57600000>; 648*724ba675SRob Herring status = "okay"; 649*724ba675SRob Herring}; 650*724ba675SRob Herring 651*724ba675SRob Herring&usb0 { 652*724ba675SRob Herring vbus-supply = <®_usb0_vbus>; 653*724ba675SRob Herring disable-over-current; 654*724ba675SRob Herring dr_mode = "peripheral"; 655*724ba675SRob Herring status = "okay"; 656*724ba675SRob Herring}; 657*724ba675SRob Herring 658*724ba675SRob Herring&usb1 { 659*724ba675SRob Herring vbus-supply = <®_usb1_vbus>; 660*724ba675SRob Herring disable-over-current; 661*724ba675SRob Herring dr_mode = "host"; 662*724ba675SRob Herring status = "okay"; 663*724ba675SRob Herring}; 664*724ba675SRob Herring 665*724ba675SRob Herring&usbphy0 { 666*724ba675SRob Herring pinctrl-names = "default"; 667*724ba675SRob Herring pinctrl-0 = <&tx28_usbphy0_pins>; 668*724ba675SRob Herring phy_type = "utmi"; 669*724ba675SRob Herring status = "okay"; 670*724ba675SRob Herring}; 671*724ba675SRob Herring 672*724ba675SRob Herring&usbphy1 { 673*724ba675SRob Herring pinctrl-names = "default"; 674*724ba675SRob Herring pinctrl-0 = <&tx28_usbphy1_pins>; 675*724ba675SRob Herring phy_type = "utmi"; 676*724ba675SRob Herring status = "okay"; 677*724ba675SRob Herring}; 678