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