2 * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
3 * Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de>
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 at the following locations:
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
15 #include <dt-bindings/gpio/gpio.h>
18 model = "Ka-Ro electronics TX28 module";
19 compatible = "karo,tx28", "fsl,imx28";
28 lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
29 lcdif_24bit_pins = &lcdif_24bit_pins_a;
35 reg = <0 0>; /* will be filled in by U-Boot */
39 compatible = "w1-gpio";
45 compatible = "simple-bus";
47 reg_usb0_vbus: usb0_vbus {
48 compatible = "regulator-fixed";
49 regulator-name = "usb0_vbus";
50 regulator-min-microvolt = <5000000>;
51 regulator-max-microvolt = <5000000>;
56 reg_usb1_vbus: usb1_vbus {
57 compatible = "regulator-fixed";
58 regulator-name = "usb1_vbus";
59 regulator-min-microvolt = <5000000>;
60 regulator-max-microvolt = <5000000>;
66 compatible = "regulator-fixed";
67 regulator-name = "2P5V";
68 regulator-min-microvolt = <2500000>;
69 regulator-max-microvolt = <2500000>;
74 compatible = "regulator-fixed";
75 regulator-name = "3P3V";
76 regulator-min-microvolt = <3300000>;
77 regulator-max-microvolt = <3300000>;
81 reg_can_xcvr: can-xcvr {
82 compatible = "regulator-fixed";
83 regulator-name = "CAN XCVR";
84 regulator-min-microvolt = <3300000>;
85 regulator-max-microvolt = <3300000>;
88 pinctrl-names = "default";
89 pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
93 compatible = "regulator-fixed";
94 regulator-name = "LCD POWER";
95 regulator-min-microvolt = <3300000>;
96 regulator-max-microvolt = <3300000>;
101 reg_lcd_reset: lcd-reset {
102 compatible = "regulator-fixed";
103 regulator-name = "LCD RESET";
104 regulator-min-microvolt = <3300000>;
105 regulator-max-microvolt = <3300000>;
106 gpio = <&gpio3 30 0>;
107 startup-delay-us = <300000>;
115 #address-cells = <1>;
118 compatible = "fixed-clock";
121 clock-frequency = <27000000>;
126 compatible = "fsl,imx28-tx28-sgtl5000",
127 "fsl,mxs-audio-sgtl5000";
128 model = "imx28-tx28-sgtl5000";
129 saif-controllers = <&saif0 &saif1>;
130 audio-codec = <&sgtl5000>;
134 compatible = "gpio-leds";
138 gpios = <&gpio4 10 0>;
139 linux,default-trigger = "heartbeat";
144 compatible = "pwm-backlight";
145 pwms = <&pwm 0 500000>;
147 * a silly way to create a 1:1 relationship between the
148 * PWM value and the actual duty cycle
150 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
151 10 11 12 13 14 15 16 17 18 19
152 20 21 22 23 24 25 26 27 28 29
153 30 31 32 33 34 35 36 37 38 39
154 40 41 42 43 44 45 46 47 48 49
155 50 51 52 53 54 55 56 57 58 59
156 60 61 62 63 64 65 66 67 68 69
157 70 71 72 73 74 75 76 77 78 79
158 80 81 82 83 84 85 86 87 88 89
159 90 91 92 93 94 95 96 97 98 99
161 default-brightness-level = <50>;
164 matrix_keypad: matrix-keypad@0 {
165 compatible = "gpio-matrix-keypad";
180 0x00000074 /* row 0, col 0, KEY_POWER */
181 0x00010052 /* row 0, col 1, KEY_KP0 */
182 0x0002004f /* row 0, col 2, KEY_KP1 */
183 0x00030050 /* row 0, col 3, KEY_KP2 */
184 0x01000051 /* row 1, col 0, KEY_KP3 */
185 0x0101004b /* row 1, col 1, KEY_KP4 */
186 0x0102004c /* row 1, col 2, KEY_KP5 */
187 0x0103004d /* row 1, col 3, KEY_KP6 */
188 0x02000047 /* row 2, col 0, KEY_KP7 */
189 0x02010048 /* row 2, col 1, KEY_KP8 */
190 0x02020049 /* row 2, col 2, KEY_KP9 */
194 debounce-delay-ms = <100>;
195 col-scan-delay-us = <5000>;
200 /* 2nd TX-Std UART - (A)UART1 */
202 pinctrl-names = "default";
203 pinctrl-0 = <&auart1_pins_a>;
207 /* 3rd TX-Std UART - (A)UART3 */
209 pinctrl-names = "default";
210 pinctrl-0 = <&auart3_pins_a>;
215 pinctrl-names = "default";
216 pinctrl-0 = <&can0_pins_a>;
217 xceiver-supply = <®_can_xcvr>;
222 pinctrl-names = "default";
223 pinctrl-0 = <&can1_pins_a>;
224 xceiver-supply = <®_can_xcvr>;
232 /* 1st TX-Std UART - (D)UART */
234 pinctrl-names = "default";
235 pinctrl-0 = <&duart_4pins_a>;
240 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
246 pinctrl-names = "default";
247 pinctrl-0 = <&i2c0_pins_a>;
248 clock-frequency = <400000>;
251 sgtl5000: sgtl5000@0a {
252 compatible = "fsl,sgtl5000";
254 VDDA-supply = <®_2p5v>;
255 VDDIO-supply = <®_3p3v>;
260 compatible = "nxp,pca9554";
262 pinctrl-names = "default";
263 pinctrl-0 = <&tx28_pca9554_pins>;
264 interrupt-parent = <&gpio3>;
268 interrupt-controller;
269 #interrupt-cells = <2>;
272 polytouch: edt-ft5x06@38 {
273 compatible = "edt,edt-ft5x06";
275 pinctrl-names = "default";
276 pinctrl-0 = <&tx28_edt_ft5x06_pins>;
277 interrupt-parent = <&gpio2>;
279 reset-gpios = <&gpio2 6 1>;
280 wake-gpios = <&gpio4 9 0>;
283 touchscreen: tsc2007@48 {
284 compatible = "ti,tsc2007";
286 pinctrl-names = "default";
287 pinctrl-0 = <&tx28_tsc2007_pins>;
288 interrupt-parent = <&gpio3>;
290 pendown-gpio = <&gpio3 20 1>;
291 ti,x-plate-ohms = /bits/ 16 <660>;
295 compatible = "mxim,ds1339";
301 pinctrl-names = "default";
302 pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
303 lcd-supply = <®_lcd>;
304 display = <&display>;
308 bits-per-pixel = <32>;
311 native-mode = <&timing5>;
314 clock-frequency = <25175000>;
326 pixelclk-active = <1>;
330 panel-name = "ETV570";
331 clock-frequency = <25175000>;
343 pixelclk-active = <1>;
347 panel-name = "ET0350";
348 clock-frequency = <6500000>;
360 pixelclk-active = <1>;
364 panel-name = "ET0430";
365 clock-frequency = <9000000>;
377 pixelclk-active = <1>;
381 panel-name = "ET0500", "ET0700";
382 clock-frequency = <33260000>;
394 pixelclk-active = <1>;
398 panel-name = "ETQ570";
399 clock-frequency = <6400000>;
411 pixelclk-active = <1>;
418 fsl,lradc-touchscreen-wires = <4>;
424 pinctrl-names = "default", "gpio_mode";
425 pinctrl-0 = <&mac0_pins_a>;
426 pinctrl-1 = <&tx28_mac0_pins_gpio>;
432 pinctrl-names = "default";
433 pinctrl-0 = <&mac1_pins_a>;
434 /* not enabled by default */
446 pinctrl-names = "default";
447 pinctrl-0 = <&pwm0_pins_a>;
452 pinctrl-names = "default";
453 pinctrl-0 = <&hog_pins_a>;
458 MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
460 fsl,drive-strength = <MXS_DRIVE_4mA>;
461 fsl,voltage = <MXS_VOLTAGE_HIGH>;
462 fsl,pull-up = <MXS_PULL_DISABLE>;
465 tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins {
467 MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
468 MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
469 MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
471 fsl,drive-strength = <MXS_DRIVE_4mA>;
472 fsl,voltage = <MXS_VOLTAGE_HIGH>;
473 fsl,pull-up = <MXS_PULL_DISABLE>;
476 tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
478 MX28_PAD_LCD_D00__GPIO_1_0
480 fsl,drive-strength = <MXS_DRIVE_4mA>;
481 fsl,voltage = <MXS_VOLTAGE_HIGH>;
482 fsl,pull-up = <MXS_PULL_DISABLE>;
485 tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
487 /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
488 MX28_PAD_LCD_D01__LCD_D1
489 MX28_PAD_LCD_D02__LCD_D2
490 MX28_PAD_LCD_D03__LCD_D3
491 MX28_PAD_LCD_D04__LCD_D4
492 MX28_PAD_LCD_D05__LCD_D5
493 MX28_PAD_LCD_D06__LCD_D6
494 MX28_PAD_LCD_D07__LCD_D7
495 MX28_PAD_LCD_D08__LCD_D8
496 MX28_PAD_LCD_D09__LCD_D9
497 MX28_PAD_LCD_D10__LCD_D10
498 MX28_PAD_LCD_D11__LCD_D11
499 MX28_PAD_LCD_D12__LCD_D12
500 MX28_PAD_LCD_D13__LCD_D13
501 MX28_PAD_LCD_D14__LCD_D14
502 MX28_PAD_LCD_D15__LCD_D15
503 MX28_PAD_LCD_D16__LCD_D16
504 MX28_PAD_LCD_D17__LCD_D17
505 MX28_PAD_LCD_D18__LCD_D18
506 MX28_PAD_LCD_D19__LCD_D19
507 MX28_PAD_LCD_D20__LCD_D20
508 MX28_PAD_LCD_D21__LCD_D21
509 MX28_PAD_LCD_D22__LCD_D22
510 MX28_PAD_LCD_D23__LCD_D23
512 fsl,drive-strength = <MXS_DRIVE_4mA>;
513 fsl,voltage = <MXS_VOLTAGE_HIGH>;
514 fsl,pull-up = <MXS_PULL_DISABLE>;
517 tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
519 MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
520 MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
522 fsl,drive-strength = <MXS_DRIVE_4mA>;
523 fsl,voltage = <MXS_VOLTAGE_HIGH>;
524 fsl,pull-up = <MXS_PULL_DISABLE>;
527 tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
529 MX28_PAD_ENET0_MDC__GPIO_4_0
530 MX28_PAD_ENET0_MDIO__GPIO_4_1
531 MX28_PAD_ENET0_RX_EN__GPIO_4_2
532 MX28_PAD_ENET0_RXD0__GPIO_4_3
533 MX28_PAD_ENET0_RXD1__GPIO_4_4
534 MX28_PAD_ENET0_TX_EN__GPIO_4_6
535 MX28_PAD_ENET0_TXD0__GPIO_4_7
536 MX28_PAD_ENET0_TXD1__GPIO_4_8
537 MX28_PAD_ENET_CLK__GPIO_4_16
539 fsl,drive-strength = <MXS_DRIVE_4mA>;
540 fsl,voltage = <MXS_VOLTAGE_HIGH>;
541 fsl,pull-up = <MXS_PULL_DISABLE>;
544 tx28_pca9554_pins: tx28-pca9554-pins {
546 MX28_PAD_PWM3__GPIO_3_28
548 fsl,drive-strength = <MXS_DRIVE_4mA>;
549 fsl,voltage = <MXS_VOLTAGE_HIGH>;
550 fsl,pull-up = <MXS_PULL_DISABLE>;
553 tx28_tsc2007_pins: tx28-tsc2007-pins {
555 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
557 fsl,drive-strength = <MXS_DRIVE_4mA>;
558 fsl,voltage = <MXS_VOLTAGE_HIGH>;
559 fsl,pull-up = <MXS_PULL_DISABLE>;
563 tx28_usbphy0_pins: tx28-usbphy0-pins {
565 MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
566 MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
568 fsl,drive-strength = <MXS_DRIVE_12mA>;
569 fsl,voltage = <MXS_VOLTAGE_HIGH>;
570 fsl,pull-up = <MXS_PULL_DISABLE>;
573 tx28_usbphy1_pins: tx28-usbphy1-pins {
575 MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
576 MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
578 fsl,drive-strength = <MXS_DRIVE_12mA>;
579 fsl,voltage = <MXS_VOLTAGE_HIGH>;
580 fsl,pull-up = <MXS_PULL_DISABLE>;
585 pinctrl-names = "default";
586 pinctrl-0 = <&saif0_pins_b>;
592 pinctrl-names = "default";
593 pinctrl-0 = <&saif1_pins_a>;
598 compatible = "fsl,imx28-mmc";
599 pinctrl-names = "default", "special";
600 pinctrl-0 = <&mmc0_4bit_pins_a
608 compatible = "fsl,imx28-spi";
609 pinctrl-names = "default";
610 pinctrl-0 = <&spi3_pins_a>;
611 clock-frequency = <57600000>;
615 compatible = "spidev";
617 spi-max-frequency = <57600000>;
621 compatible = "spidev";
623 spi-max-frequency = <57600000>;
628 vbus-supply = <®_usb0_vbus>;
629 disable-over-current;
630 dr_mode = "peripheral";
635 vbus-supply = <®_usb1_vbus>;
636 disable-over-current;
642 pinctrl-names = "default";
643 pinctrl-0 = <&tx28_usbphy0_pins>;
649 pinctrl-names = "default";
650 pinctrl-0 = <&tx28_usbphy1_pins>;