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>; 2638d13bc63SEmmanuel 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 clock-frequency = <25175000>; 327f126890aSEmmanuel Vadot hactive = <640>; 328f126890aSEmmanuel Vadot vactive = <480>; 329f126890aSEmmanuel Vadot hback-porch = <48>; 330f126890aSEmmanuel Vadot hsync-len = <96>; 331f126890aSEmmanuel Vadot hfront-porch = <16>; 332f126890aSEmmanuel Vadot vback-porch = <33>; 333f126890aSEmmanuel Vadot vsync-len = <2>; 334f126890aSEmmanuel Vadot vfront-porch = <10>; 335f126890aSEmmanuel Vadot hsync-active = <0>; 336f126890aSEmmanuel Vadot vsync-active = <0>; 337f126890aSEmmanuel Vadot de-active = <1>; 338f126890aSEmmanuel Vadot pixelclk-active = <1>; 339f126890aSEmmanuel Vadot }; 340f126890aSEmmanuel Vadot 341f126890aSEmmanuel Vadot timing1: timing1 { 342f126890aSEmmanuel Vadot clock-frequency = <25175000>; 343f126890aSEmmanuel Vadot hactive = <640>; 344f126890aSEmmanuel Vadot vactive = <480>; 345f126890aSEmmanuel Vadot hback-porch = <114>; 346f126890aSEmmanuel Vadot hsync-len = <30>; 347f126890aSEmmanuel Vadot hfront-porch = <16>; 348f126890aSEmmanuel Vadot vback-porch = <32>; 349f126890aSEmmanuel Vadot vsync-len = <3>; 350f126890aSEmmanuel Vadot vfront-porch = <10>; 351f126890aSEmmanuel Vadot hsync-active = <0>; 352f126890aSEmmanuel Vadot vsync-active = <0>; 353f126890aSEmmanuel Vadot de-active = <1>; 354f126890aSEmmanuel Vadot pixelclk-active = <1>; 355f126890aSEmmanuel Vadot }; 356f126890aSEmmanuel Vadot 357f126890aSEmmanuel Vadot timing2: timing2 { 358f126890aSEmmanuel Vadot clock-frequency = <6500000>; 359f126890aSEmmanuel Vadot hactive = <320>; 360f126890aSEmmanuel Vadot vactive = <240>; 361f126890aSEmmanuel Vadot hback-porch = <34>; 362f126890aSEmmanuel Vadot hsync-len = <34>; 363f126890aSEmmanuel Vadot hfront-porch = <20>; 364f126890aSEmmanuel Vadot vback-porch = <15>; 365f126890aSEmmanuel Vadot vsync-len = <3>; 366f126890aSEmmanuel Vadot vfront-porch = <4>; 367f126890aSEmmanuel Vadot hsync-active = <0>; 368f126890aSEmmanuel Vadot vsync-active = <0>; 369f126890aSEmmanuel Vadot de-active = <1>; 370f126890aSEmmanuel Vadot pixelclk-active = <1>; 371f126890aSEmmanuel Vadot }; 372f126890aSEmmanuel Vadot 373f126890aSEmmanuel Vadot timing3: timing3 { 374f126890aSEmmanuel Vadot clock-frequency = <9000000>; 375f126890aSEmmanuel Vadot hactive = <480>; 376f126890aSEmmanuel Vadot vactive = <272>; 377f126890aSEmmanuel Vadot hback-porch = <2>; 378f126890aSEmmanuel Vadot hsync-len = <41>; 379f126890aSEmmanuel Vadot hfront-porch = <2>; 380f126890aSEmmanuel Vadot vback-porch = <2>; 381f126890aSEmmanuel Vadot vsync-len = <10>; 382f126890aSEmmanuel Vadot vfront-porch = <2>; 383f126890aSEmmanuel Vadot hsync-active = <0>; 384f126890aSEmmanuel Vadot vsync-active = <0>; 385f126890aSEmmanuel Vadot de-active = <1>; 386f126890aSEmmanuel Vadot pixelclk-active = <1>; 387f126890aSEmmanuel Vadot }; 388f126890aSEmmanuel Vadot 389f126890aSEmmanuel Vadot timing4: timing4 { 390f126890aSEmmanuel Vadot clock-frequency = <33260000>; 391f126890aSEmmanuel Vadot hactive = <800>; 392f126890aSEmmanuel Vadot vactive = <480>; 393f126890aSEmmanuel Vadot hback-porch = <88>; 394f126890aSEmmanuel Vadot hsync-len = <128>; 395f126890aSEmmanuel Vadot hfront-porch = <40>; 396f126890aSEmmanuel Vadot vback-porch = <33>; 397f126890aSEmmanuel Vadot vsync-len = <2>; 398f126890aSEmmanuel Vadot vfront-porch = <10>; 399f126890aSEmmanuel Vadot hsync-active = <0>; 400f126890aSEmmanuel Vadot vsync-active = <0>; 401f126890aSEmmanuel Vadot de-active = <1>; 402f126890aSEmmanuel Vadot pixelclk-active = <1>; 403f126890aSEmmanuel Vadot }; 404f126890aSEmmanuel Vadot 405f126890aSEmmanuel Vadot timing5: timing5 { 406f126890aSEmmanuel Vadot clock-frequency = <6400000>; 407f126890aSEmmanuel Vadot hactive = <320>; 408f126890aSEmmanuel Vadot vactive = <240>; 409f126890aSEmmanuel Vadot hback-porch = <38>; 410f126890aSEmmanuel Vadot hsync-len = <30>; 411f126890aSEmmanuel Vadot hfront-porch = <30>; 412f126890aSEmmanuel Vadot vback-porch = <16>; 413f126890aSEmmanuel Vadot vsync-len = <3>; 414f126890aSEmmanuel Vadot vfront-porch = <4>; 415f126890aSEmmanuel Vadot hsync-active = <0>; 416f126890aSEmmanuel Vadot vsync-active = <0>; 417f126890aSEmmanuel Vadot de-active = <1>; 418f126890aSEmmanuel Vadot pixelclk-active = <1>; 419f126890aSEmmanuel Vadot }; 420f126890aSEmmanuel Vadot }; 421f126890aSEmmanuel Vadot }; 422f126890aSEmmanuel Vadot}; 423f126890aSEmmanuel Vadot 424f126890aSEmmanuel Vadot&lradc { 425f126890aSEmmanuel Vadot fsl,lradc-touchscreen-wires = <4>; 426f126890aSEmmanuel Vadot status = "okay"; 427f126890aSEmmanuel Vadot}; 428f126890aSEmmanuel Vadot 429f126890aSEmmanuel Vadot&mac0 { 430f126890aSEmmanuel Vadot phy-mode = "rmii"; 431f126890aSEmmanuel Vadot pinctrl-names = "default", "gpio_mode"; 432f126890aSEmmanuel Vadot pinctrl-0 = <&mac0_pins_a>; 433f126890aSEmmanuel Vadot pinctrl-1 = <&tx28_mac0_pins_gpio>; 434f126890aSEmmanuel Vadot status = "okay"; 435f126890aSEmmanuel Vadot}; 436f126890aSEmmanuel Vadot 437f126890aSEmmanuel Vadot&mac1 { 438f126890aSEmmanuel Vadot phy-mode = "rmii"; 439f126890aSEmmanuel Vadot pinctrl-names = "default"; 440f126890aSEmmanuel Vadot pinctrl-0 = <&mac1_pins_a>; 441f126890aSEmmanuel Vadot /* not enabled by default */ 442f126890aSEmmanuel Vadot}; 443f126890aSEmmanuel Vadot 444f126890aSEmmanuel Vadot&mxs_rtc { 445f126890aSEmmanuel Vadot status = "okay"; 446f126890aSEmmanuel Vadot}; 447f126890aSEmmanuel Vadot 448f126890aSEmmanuel Vadot&ocotp { 449f126890aSEmmanuel Vadot status = "okay"; 450f126890aSEmmanuel Vadot}; 451f126890aSEmmanuel Vadot 452f126890aSEmmanuel Vadot&pwm { 453f126890aSEmmanuel Vadot pinctrl-names = "default"; 454f126890aSEmmanuel Vadot pinctrl-0 = <&pwm0_pins_a>; 455f126890aSEmmanuel Vadot status = "okay"; 456f126890aSEmmanuel Vadot}; 457f126890aSEmmanuel Vadot 458f126890aSEmmanuel Vadot&pinctrl { 459f126890aSEmmanuel Vadot pinctrl-names = "default"; 460f126890aSEmmanuel Vadot pinctrl-0 = <&hog_pins_a>; 461f126890aSEmmanuel Vadot 462f126890aSEmmanuel Vadot hog_pins_a: hog@0 { 463f126890aSEmmanuel Vadot reg = <0>; 464f126890aSEmmanuel Vadot fsl,pinmux-ids = < 465f126890aSEmmanuel Vadot MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */ 466f126890aSEmmanuel Vadot >; 467f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 468f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 469f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 470f126890aSEmmanuel Vadot }; 471f126890aSEmmanuel Vadot 472f126890aSEmmanuel Vadot tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins@0 { 473f126890aSEmmanuel Vadot reg = <0>; 474f126890aSEmmanuel Vadot fsl,pinmux-ids = < 475f126890aSEmmanuel Vadot MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */ 476f126890aSEmmanuel Vadot MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */ 477f126890aSEmmanuel Vadot MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */ 478f126890aSEmmanuel Vadot >; 479f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 480f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 481f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 482f126890aSEmmanuel Vadot }; 483f126890aSEmmanuel Vadot 484f126890aSEmmanuel Vadot tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins@0 { 485f126890aSEmmanuel Vadot reg = <0>; 486f126890aSEmmanuel Vadot fsl,pinmux-ids = < 487f126890aSEmmanuel Vadot MX28_PAD_LCD_D00__GPIO_1_0 488f126890aSEmmanuel Vadot >; 489f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 490f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 491f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 492f126890aSEmmanuel Vadot }; 493f126890aSEmmanuel Vadot 494f126890aSEmmanuel Vadot tx28_lcdif_23bit_pins: tx28-lcdif-23bit@0 { 495f126890aSEmmanuel Vadot reg = <0>; 496f126890aSEmmanuel Vadot fsl,pinmux-ids = < 497f126890aSEmmanuel Vadot /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */ 498f126890aSEmmanuel Vadot MX28_PAD_LCD_D01__LCD_D1 499f126890aSEmmanuel Vadot MX28_PAD_LCD_D02__LCD_D2 500f126890aSEmmanuel Vadot MX28_PAD_LCD_D03__LCD_D3 501f126890aSEmmanuel Vadot MX28_PAD_LCD_D04__LCD_D4 502f126890aSEmmanuel Vadot MX28_PAD_LCD_D05__LCD_D5 503f126890aSEmmanuel Vadot MX28_PAD_LCD_D06__LCD_D6 504f126890aSEmmanuel Vadot MX28_PAD_LCD_D07__LCD_D7 505f126890aSEmmanuel Vadot MX28_PAD_LCD_D08__LCD_D8 506f126890aSEmmanuel Vadot MX28_PAD_LCD_D09__LCD_D9 507f126890aSEmmanuel Vadot MX28_PAD_LCD_D10__LCD_D10 508f126890aSEmmanuel Vadot MX28_PAD_LCD_D11__LCD_D11 509f126890aSEmmanuel Vadot MX28_PAD_LCD_D12__LCD_D12 510f126890aSEmmanuel Vadot MX28_PAD_LCD_D13__LCD_D13 511f126890aSEmmanuel Vadot MX28_PAD_LCD_D14__LCD_D14 512f126890aSEmmanuel Vadot MX28_PAD_LCD_D15__LCD_D15 513f126890aSEmmanuel Vadot MX28_PAD_LCD_D16__LCD_D16 514f126890aSEmmanuel Vadot MX28_PAD_LCD_D17__LCD_D17 515f126890aSEmmanuel Vadot MX28_PAD_LCD_D18__LCD_D18 516f126890aSEmmanuel Vadot MX28_PAD_LCD_D19__LCD_D19 517f126890aSEmmanuel Vadot MX28_PAD_LCD_D20__LCD_D20 518f126890aSEmmanuel Vadot MX28_PAD_LCD_D21__LCD_D21 519f126890aSEmmanuel Vadot MX28_PAD_LCD_D22__LCD_D22 520f126890aSEmmanuel Vadot MX28_PAD_LCD_D23__LCD_D23 521f126890aSEmmanuel Vadot >; 522f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 523f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 524f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 525f126890aSEmmanuel Vadot }; 526f126890aSEmmanuel Vadot 527f126890aSEmmanuel Vadot tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl@0 { 528f126890aSEmmanuel Vadot reg = <0>; 529f126890aSEmmanuel Vadot fsl,pinmux-ids = < 530f126890aSEmmanuel Vadot MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */ 531f126890aSEmmanuel Vadot MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */ 532f126890aSEmmanuel Vadot >; 533f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 534f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 535f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 536f126890aSEmmanuel Vadot }; 537f126890aSEmmanuel Vadot 538f126890aSEmmanuel Vadot tx28_mac0_pins_gpio: tx28-mac0-gpio-pins@0 { 539f126890aSEmmanuel Vadot reg = <0>; 540f126890aSEmmanuel Vadot fsl,pinmux-ids = < 541f126890aSEmmanuel Vadot MX28_PAD_ENET0_MDC__GPIO_4_0 542f126890aSEmmanuel Vadot MX28_PAD_ENET0_MDIO__GPIO_4_1 543f126890aSEmmanuel Vadot MX28_PAD_ENET0_RX_EN__GPIO_4_2 544f126890aSEmmanuel Vadot MX28_PAD_ENET0_RXD0__GPIO_4_3 545f126890aSEmmanuel Vadot MX28_PAD_ENET0_RXD1__GPIO_4_4 546f126890aSEmmanuel Vadot MX28_PAD_ENET0_TX_EN__GPIO_4_6 547f126890aSEmmanuel Vadot MX28_PAD_ENET0_TXD0__GPIO_4_7 548f126890aSEmmanuel Vadot MX28_PAD_ENET0_TXD1__GPIO_4_8 549f126890aSEmmanuel Vadot MX28_PAD_ENET_CLK__GPIO_4_16 550f126890aSEmmanuel Vadot >; 551f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 552f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 553f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 554f126890aSEmmanuel Vadot }; 555f126890aSEmmanuel Vadot 556f126890aSEmmanuel Vadot tx28_pca9554_pins: tx28-pca9554-pins@0 { 557f126890aSEmmanuel Vadot reg = <0>; 558f126890aSEmmanuel Vadot fsl,pinmux-ids = < 559f126890aSEmmanuel Vadot MX28_PAD_PWM3__GPIO_3_28 560f126890aSEmmanuel Vadot >; 561f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 562f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 563f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 564f126890aSEmmanuel Vadot }; 565f126890aSEmmanuel Vadot 566f126890aSEmmanuel Vadot tx28_spi_gpio_pins: spi-gpiogrp@0 { 567f126890aSEmmanuel Vadot reg = <0>; 568f126890aSEmmanuel Vadot fsl,pinmux-ids = < 569f126890aSEmmanuel Vadot MX28_PAD_AUART2_RX__GPIO_3_8 570f126890aSEmmanuel Vadot MX28_PAD_AUART2_TX__GPIO_3_9 571f126890aSEmmanuel Vadot MX28_PAD_SSP3_SCK__GPIO_2_24 572f126890aSEmmanuel Vadot MX28_PAD_SSP3_MOSI__GPIO_2_25 573f126890aSEmmanuel Vadot MX28_PAD_SSP3_MISO__GPIO_2_26 574f126890aSEmmanuel Vadot MX28_PAD_SSP3_SS0__GPIO_2_27 575f126890aSEmmanuel Vadot >; 576f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_8mA>; 577f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 578f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 579f126890aSEmmanuel Vadot }; 580f126890aSEmmanuel Vadot 581f126890aSEmmanuel Vadot tx28_tsc2007_pins: tx28-tsc2007-pins@0 { 582f126890aSEmmanuel Vadot reg = <0>; 583f126890aSEmmanuel Vadot fsl,pinmux-ids = < 584f126890aSEmmanuel Vadot MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */ 585f126890aSEmmanuel Vadot >; 586f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_4mA>; 587f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 588f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 589f126890aSEmmanuel Vadot }; 590f126890aSEmmanuel Vadot 591f126890aSEmmanuel Vadot 592f126890aSEmmanuel Vadot tx28_usbphy0_pins: tx28-usbphy0-pins@0 { 593f126890aSEmmanuel Vadot reg = <0>; 594f126890aSEmmanuel Vadot fsl,pinmux-ids = < 595f126890aSEmmanuel Vadot MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */ 596f126890aSEmmanuel Vadot MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */ 597f126890aSEmmanuel Vadot >; 598f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_12mA>; 599f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 600f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 601f126890aSEmmanuel Vadot }; 602f126890aSEmmanuel Vadot 603f126890aSEmmanuel Vadot tx28_usbphy1_pins: tx28-usbphy1-pins@0 { 604f126890aSEmmanuel Vadot reg = <0>; 605f126890aSEmmanuel Vadot fsl,pinmux-ids = < 606f126890aSEmmanuel Vadot MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */ 607f126890aSEmmanuel Vadot MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */ 608f126890aSEmmanuel Vadot >; 609f126890aSEmmanuel Vadot fsl,drive-strength = <MXS_DRIVE_12mA>; 610f126890aSEmmanuel Vadot fsl,voltage = <MXS_VOLTAGE_HIGH>; 611f126890aSEmmanuel Vadot fsl,pull-up = <MXS_PULL_DISABLE>; 612f126890aSEmmanuel Vadot }; 613f126890aSEmmanuel Vadot}; 614f126890aSEmmanuel Vadot 615f126890aSEmmanuel Vadot&saif0 { 616f126890aSEmmanuel Vadot pinctrl-names = "default"; 617f126890aSEmmanuel Vadot pinctrl-0 = <&saif0_pins_b>; 618f126890aSEmmanuel Vadot status = "okay"; 619f126890aSEmmanuel Vadot}; 620f126890aSEmmanuel Vadot 621f126890aSEmmanuel Vadot&saif1 { 622f126890aSEmmanuel Vadot pinctrl-names = "default"; 623f126890aSEmmanuel Vadot pinctrl-0 = <&saif1_pins_a>; 624*b2d2a78aSEmmanuel Vadot fsl,saif-master = <&saif0>; 625f126890aSEmmanuel Vadot status = "okay"; 626f126890aSEmmanuel Vadot}; 627f126890aSEmmanuel Vadot 628f126890aSEmmanuel Vadot&ssp0 { 629f126890aSEmmanuel Vadot compatible = "fsl,imx28-mmc"; 630f126890aSEmmanuel Vadot pinctrl-names = "default", "special"; 631f126890aSEmmanuel Vadot pinctrl-0 = <&mmc0_4bit_pins_a 632f126890aSEmmanuel Vadot &mmc0_cd_cfg 633f126890aSEmmanuel Vadot &mmc0_sck_cfg>; 634f126890aSEmmanuel Vadot bus-width = <4>; 635f126890aSEmmanuel Vadot status = "okay"; 636f126890aSEmmanuel Vadot}; 637f126890aSEmmanuel Vadot 638f126890aSEmmanuel Vadot&ssp3 { 639f126890aSEmmanuel Vadot compatible = "fsl,imx28-spi"; 640f126890aSEmmanuel Vadot pinctrl-names = "default"; 641f126890aSEmmanuel Vadot pinctrl-0 = <&spi3_pins_a>; 642f126890aSEmmanuel Vadot clock-frequency = <57600000>; 643f126890aSEmmanuel Vadot status = "okay"; 644f126890aSEmmanuel Vadot}; 645f126890aSEmmanuel Vadot 646f126890aSEmmanuel Vadot&usb0 { 647f126890aSEmmanuel Vadot vbus-supply = <®_usb0_vbus>; 648f126890aSEmmanuel Vadot disable-over-current; 649f126890aSEmmanuel Vadot dr_mode = "peripheral"; 65084943d6fSEmmanuel Vadot phy_type = "utmi"; 651f126890aSEmmanuel Vadot status = "okay"; 652f126890aSEmmanuel Vadot}; 653f126890aSEmmanuel Vadot 654f126890aSEmmanuel Vadot&usb1 { 655f126890aSEmmanuel Vadot vbus-supply = <®_usb1_vbus>; 656f126890aSEmmanuel Vadot disable-over-current; 657f126890aSEmmanuel Vadot dr_mode = "host"; 65884943d6fSEmmanuel Vadot phy_type = "utmi"; 659f126890aSEmmanuel Vadot status = "okay"; 660f126890aSEmmanuel Vadot}; 661f126890aSEmmanuel Vadot 662f126890aSEmmanuel Vadot&usbphy0 { 663f126890aSEmmanuel Vadot pinctrl-names = "default"; 664f126890aSEmmanuel Vadot pinctrl-0 = <&tx28_usbphy0_pins>; 665f126890aSEmmanuel Vadot status = "okay"; 666f126890aSEmmanuel Vadot}; 667f126890aSEmmanuel Vadot 668f126890aSEmmanuel Vadot&usbphy1 { 669f126890aSEmmanuel Vadot pinctrl-names = "default"; 670f126890aSEmmanuel Vadot pinctrl-0 = <&tx28_usbphy1_pins>; 671f126890aSEmmanuel Vadot status = "okay"; 672f126890aSEmmanuel Vadot}; 673