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";
40 gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
45 compatible = "simple-bus";
49 reg_usb0_vbus: regulator@0 {
50 compatible = "regulator-fixed";
52 regulator-name = "usb0_vbus";
53 regulator-min-microvolt = <5000000>;
54 regulator-max-microvolt = <5000000>;
55 gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
59 reg_usb1_vbus: regulator@1 {
60 compatible = "regulator-fixed";
62 regulator-name = "usb1_vbus";
63 regulator-min-microvolt = <5000000>;
64 regulator-max-microvolt = <5000000>;
65 gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
69 reg_2p5v: regulator@2 {
70 compatible = "regulator-fixed";
72 regulator-name = "2P5V";
73 regulator-min-microvolt = <2500000>;
74 regulator-max-microvolt = <2500000>;
78 reg_3p3v: regulator@3 {
79 compatible = "regulator-fixed";
81 regulator-name = "3P3V";
82 regulator-min-microvolt = <3300000>;
83 regulator-max-microvolt = <3300000>;
87 reg_can_xcvr: regulator@4 {
88 compatible = "regulator-fixed";
90 regulator-name = "CAN XCVR";
91 regulator-min-microvolt = <3300000>;
92 regulator-max-microvolt = <3300000>;
93 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
98 reg_lcd: regulator@5 {
99 compatible = "regulator-fixed";
101 regulator-name = "LCD POWER";
102 regulator-min-microvolt = <3300000>;
103 regulator-max-microvolt = <3300000>;
104 gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
108 reg_lcd_reset: regulator@6 {
109 compatible = "regulator-fixed";
111 regulator-name = "LCD RESET";
112 regulator-min-microvolt = <3300000>;
113 regulator-max-microvolt = <3300000>;
114 gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
115 startup-delay-us = <300000>;
123 #address-cells = <1>;
126 compatible = "fixed-clock";
129 clock-frequency = <27000000>;
134 compatible = "fsl,imx28-tx28-sgtl5000",
135 "fsl,mxs-audio-sgtl5000";
136 model = "imx28-tx28-sgtl5000";
137 saif-controllers = <&saif0 &saif1>;
138 audio-codec = <&sgtl5000>;
142 compatible = "gpio-leds";
146 gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
147 linux,default-trigger = "heartbeat";
152 compatible = "pwm-backlight";
153 pwms = <&pwm 0 500000>;
155 * a silly way to create a 1:1 relationship between the
156 * PWM value and the actual duty cycle
158 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
159 10 11 12 13 14 15 16 17 18 19
160 20 21 22 23 24 25 26 27 28 29
161 30 31 32 33 34 35 36 37 38 39
162 40 41 42 43 44 45 46 47 48 49
163 50 51 52 53 54 55 56 57 58 59
164 60 61 62 63 64 65 66 67 68 69
165 70 71 72 73 74 75 76 77 78 79
166 80 81 82 83 84 85 86 87 88 89
167 90 91 92 93 94 95 96 97 98 99
169 default-brightness-level = <50>;
172 matrix_keypad: matrix-keypad@0 {
173 compatible = "gpio-matrix-keypad";
175 &gpio5 0 GPIO_ACTIVE_HIGH
176 &gpio5 1 GPIO_ACTIVE_HIGH
177 &gpio5 2 GPIO_ACTIVE_HIGH
178 &gpio5 3 GPIO_ACTIVE_HIGH
181 &gpio5 4 GPIO_ACTIVE_HIGH
182 &gpio5 5 GPIO_ACTIVE_HIGH
183 &gpio5 6 GPIO_ACTIVE_HIGH
184 &gpio5 7 GPIO_ACTIVE_HIGH
188 0x00000074 /* row 0, col 0, KEY_POWER */
189 0x00010052 /* row 0, col 1, KEY_KP0 */
190 0x0002004f /* row 0, col 2, KEY_KP1 */
191 0x00030050 /* row 0, col 3, KEY_KP2 */
192 0x01000051 /* row 1, col 0, KEY_KP3 */
193 0x0101004b /* row 1, col 1, KEY_KP4 */
194 0x0102004c /* row 1, col 2, KEY_KP5 */
195 0x0103004d /* row 1, col 3, KEY_KP6 */
196 0x02000047 /* row 2, col 0, KEY_KP7 */
197 0x02010048 /* row 2, col 1, KEY_KP8 */
198 0x02020049 /* row 2, col 2, KEY_KP9 */
202 debounce-delay-ms = <100>;
203 col-scan-delay-us = <5000>;
208 /* 2nd TX-Std UART - (A)UART1 */
210 pinctrl-names = "default";
211 pinctrl-0 = <&auart1_pins_a>;
215 /* 3rd TX-Std UART - (A)UART3 */
217 pinctrl-names = "default";
218 pinctrl-0 = <&auart3_pins_a>;
223 pinctrl-names = "default";
224 pinctrl-0 = <&can0_pins_a>;
225 xceiver-supply = <®_can_xcvr>;
230 pinctrl-names = "default";
231 pinctrl-0 = <&can1_pins_a>;
232 xceiver-supply = <®_can_xcvr>;
240 /* 1st TX-Std UART - (D)UART */
242 pinctrl-names = "default";
243 pinctrl-0 = <&duart_4pins_a>;
248 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
254 pinctrl-names = "default";
255 pinctrl-0 = <&i2c0_pins_a>;
256 clock-frequency = <400000>;
259 sgtl5000: sgtl5000@0a {
260 compatible = "fsl,sgtl5000";
262 VDDA-supply = <®_2p5v>;
263 VDDIO-supply = <®_3p3v>;
268 compatible = "nxp,pca9554";
270 pinctrl-names = "default";
271 pinctrl-0 = <&tx28_pca9554_pins>;
272 interrupt-parent = <&gpio3>;
276 interrupt-controller;
277 #interrupt-cells = <2>;
280 polytouch: edt-ft5x06@38 {
281 compatible = "edt,edt-ft5x06";
283 pinctrl-names = "default";
284 pinctrl-0 = <&tx28_edt_ft5x06_pins>;
285 interrupt-parent = <&gpio2>;
287 reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
288 wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
291 touchscreen: tsc2007@48 {
292 compatible = "ti,tsc2007";
294 pinctrl-names = "default";
295 pinctrl-0 = <&tx28_tsc2007_pins>;
296 interrupt-parent = <&gpio3>;
298 pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
299 ti,x-plate-ohms = /bits/ 16 <660>;
303 compatible = "mxim,ds1339";
309 pinctrl-names = "default";
310 pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
311 lcd-supply = <®_lcd>;
312 display = <&display0>;
316 bits-per-pixel = <32>;
319 native-mode = <&timing5>;
322 clock-frequency = <25175000>;
334 pixelclk-active = <1>;
338 panel-name = "ETV570";
339 clock-frequency = <25175000>;
351 pixelclk-active = <1>;
355 panel-name = "ET0350";
356 clock-frequency = <6500000>;
368 pixelclk-active = <1>;
372 panel-name = "ET0430";
373 clock-frequency = <9000000>;
385 pixelclk-active = <1>;
389 panel-name = "ET0500", "ET0700";
390 clock-frequency = <33260000>;
402 pixelclk-active = <1>;
406 panel-name = "ETQ570";
407 clock-frequency = <6400000>;
419 pixelclk-active = <1>;
426 fsl,lradc-touchscreen-wires = <4>;
432 pinctrl-names = "default", "gpio_mode";
433 pinctrl-0 = <&mac0_pins_a>;
434 pinctrl-1 = <&tx28_mac0_pins_gpio>;
440 pinctrl-names = "default";
441 pinctrl-0 = <&mac1_pins_a>;
442 /* not enabled by default */
454 pinctrl-names = "default";
455 pinctrl-0 = <&pwm0_pins_a>;
460 pinctrl-names = "default";
461 pinctrl-0 = <&hog_pins_a>;
466 MX28_PAD_ENET0_RXD3__GPIO_4_10 /* module LED */
468 fsl,drive-strength = <MXS_DRIVE_4mA>;
469 fsl,voltage = <MXS_VOLTAGE_HIGH>;
470 fsl,pull-up = <MXS_PULL_DISABLE>;
473 tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins {
475 MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
476 MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
477 MX28_PAD_ENET0_RXD2__GPIO_4_9 /* WAKE */
479 fsl,drive-strength = <MXS_DRIVE_4mA>;
480 fsl,voltage = <MXS_VOLTAGE_HIGH>;
481 fsl,pull-up = <MXS_PULL_DISABLE>;
484 tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins {
486 MX28_PAD_LCD_D00__GPIO_1_0
488 fsl,drive-strength = <MXS_DRIVE_4mA>;
489 fsl,voltage = <MXS_VOLTAGE_HIGH>;
490 fsl,pull-up = <MXS_PULL_DISABLE>;
493 tx28_lcdif_23bit_pins: tx28-lcdif-23bit {
495 /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
496 MX28_PAD_LCD_D01__LCD_D1
497 MX28_PAD_LCD_D02__LCD_D2
498 MX28_PAD_LCD_D03__LCD_D3
499 MX28_PAD_LCD_D04__LCD_D4
500 MX28_PAD_LCD_D05__LCD_D5
501 MX28_PAD_LCD_D06__LCD_D6
502 MX28_PAD_LCD_D07__LCD_D7
503 MX28_PAD_LCD_D08__LCD_D8
504 MX28_PAD_LCD_D09__LCD_D9
505 MX28_PAD_LCD_D10__LCD_D10
506 MX28_PAD_LCD_D11__LCD_D11
507 MX28_PAD_LCD_D12__LCD_D12
508 MX28_PAD_LCD_D13__LCD_D13
509 MX28_PAD_LCD_D14__LCD_D14
510 MX28_PAD_LCD_D15__LCD_D15
511 MX28_PAD_LCD_D16__LCD_D16
512 MX28_PAD_LCD_D17__LCD_D17
513 MX28_PAD_LCD_D18__LCD_D18
514 MX28_PAD_LCD_D19__LCD_D19
515 MX28_PAD_LCD_D20__LCD_D20
516 MX28_PAD_LCD_D21__LCD_D21
517 MX28_PAD_LCD_D22__LCD_D22
518 MX28_PAD_LCD_D23__LCD_D23
520 fsl,drive-strength = <MXS_DRIVE_4mA>;
521 fsl,voltage = <MXS_VOLTAGE_HIGH>;
522 fsl,pull-up = <MXS_PULL_DISABLE>;
525 tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl {
527 MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
528 MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
530 fsl,drive-strength = <MXS_DRIVE_4mA>;
531 fsl,voltage = <MXS_VOLTAGE_HIGH>;
532 fsl,pull-up = <MXS_PULL_DISABLE>;
535 tx28_mac0_pins_gpio: tx28-mac0-gpio-pins {
537 MX28_PAD_ENET0_MDC__GPIO_4_0
538 MX28_PAD_ENET0_MDIO__GPIO_4_1
539 MX28_PAD_ENET0_RX_EN__GPIO_4_2
540 MX28_PAD_ENET0_RXD0__GPIO_4_3
541 MX28_PAD_ENET0_RXD1__GPIO_4_4
542 MX28_PAD_ENET0_TX_EN__GPIO_4_6
543 MX28_PAD_ENET0_TXD0__GPIO_4_7
544 MX28_PAD_ENET0_TXD1__GPIO_4_8
545 MX28_PAD_ENET_CLK__GPIO_4_16
547 fsl,drive-strength = <MXS_DRIVE_4mA>;
548 fsl,voltage = <MXS_VOLTAGE_HIGH>;
549 fsl,pull-up = <MXS_PULL_DISABLE>;
552 tx28_pca9554_pins: tx28-pca9554-pins {
554 MX28_PAD_PWM3__GPIO_3_28
556 fsl,drive-strength = <MXS_DRIVE_4mA>;
557 fsl,voltage = <MXS_VOLTAGE_HIGH>;
558 fsl,pull-up = <MXS_PULL_DISABLE>;
561 tx28_tsc2007_pins: tx28-tsc2007-pins {
563 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
565 fsl,drive-strength = <MXS_DRIVE_4mA>;
566 fsl,voltage = <MXS_VOLTAGE_HIGH>;
567 fsl,pull-up = <MXS_PULL_DISABLE>;
571 tx28_usbphy0_pins: tx28-usbphy0-pins {
573 MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
574 MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
576 fsl,drive-strength = <MXS_DRIVE_12mA>;
577 fsl,voltage = <MXS_VOLTAGE_HIGH>;
578 fsl,pull-up = <MXS_PULL_DISABLE>;
581 tx28_usbphy1_pins: tx28-usbphy1-pins {
583 MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
584 MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
586 fsl,drive-strength = <MXS_DRIVE_12mA>;
587 fsl,voltage = <MXS_VOLTAGE_HIGH>;
588 fsl,pull-up = <MXS_PULL_DISABLE>;
593 pinctrl-names = "default";
594 pinctrl-0 = <&saif0_pins_b>;
600 pinctrl-names = "default";
601 pinctrl-0 = <&saif1_pins_a>;
606 compatible = "fsl,imx28-mmc";
607 pinctrl-names = "default", "special";
608 pinctrl-0 = <&mmc0_4bit_pins_a
616 compatible = "fsl,imx28-spi";
617 pinctrl-names = "default";
618 pinctrl-0 = <&spi3_pins_a>;
619 clock-frequency = <57600000>;
623 compatible = "spidev";
625 spi-max-frequency = <57600000>;
629 compatible = "spidev";
631 spi-max-frequency = <57600000>;
635 compatible = "spidev";
637 spi-max-frequency = <57600000>;
642 vbus-supply = <®_usb0_vbus>;
643 disable-over-current;
644 dr_mode = "peripheral";
649 vbus-supply = <®_usb1_vbus>;
650 disable-over-current;
656 pinctrl-names = "default";
657 pinctrl-0 = <&tx28_usbphy0_pins>;
663 pinctrl-names = "default";
664 pinctrl-0 = <&tx28_usbphy1_pins>;