1270866Simp/* 2270866Simp * Copyright 2013 Lothar Wa��mann <LW@KARO-electronics.de> 3270866Simp * 4270866Simp * The code contained herein is licensed under the GNU General Public 5270866Simp * License. You may obtain a copy of the GNU General Public License 6270866Simp * Version 2 at the following locations: 7270866Simp * 8270866Simp * http://www.opensource.org/licenses/gpl-license.html 9270866Simp * http://www.gnu.org/copyleft/gpl.html 10270866Simp */ 11270866Simp 12270866Simp/dts-v1/; 13270866Simp#include "imx53-tx53.dtsi" 14270866Simp#include <dt-bindings/input/input.h> 15270866Simp#include <dt-bindings/pwm/pwm.h> 16270866Simp 17270866Simp/ { 18270866Simp model = "Ka-Ro electronics TX53 module (LCD)"; 19270866Simp compatible = "karo,tx53", "fsl,imx53"; 20270866Simp 21270866Simp aliases { 22270866Simp display = &display; 23270866Simp }; 24270866Simp 25270866Simp soc { 26270866Simp display: display@di0 { 27270866Simp compatible = "fsl,imx-parallel-display"; 28270866Simp interface-pix-fmt = "rgb24"; 29270866Simp pinctrl-names = "default"; 30270866Simp pinctrl-0 = <&pinctrl_rgb24_vga1>; 31270866Simp status = "okay"; 32270866Simp 33270866Simp port { 34270866Simp display0_in: endpoint { 35270866Simp remote-endpoint = <&ipu_di0_disp0>; 36270866Simp }; 37270866Simp }; 38270866Simp 39270866Simp display-timings { 40270866Simp VGA { 41270866Simp clock-frequency = <25200000>; 42270866Simp hactive = <640>; 43270866Simp vactive = <480>; 44270866Simp hback-porch = <48>; 45270866Simp hsync-len = <96>; 46270866Simp hfront-porch = <16>; 47270866Simp vback-porch = <31>; 48270866Simp vsync-len = <2>; 49270866Simp vfront-porch = <12>; 50270866Simp hsync-active = <0>; 51270866Simp vsync-active = <0>; 52270866Simp de-active = <1>; 53270866Simp pixelclk-active = <0>; 54270866Simp }; 55270866Simp 56270866Simp ETV570 { 57270866Simp clock-frequency = <25200000>; 58270866Simp hactive = <640>; 59270866Simp vactive = <480>; 60270866Simp hback-porch = <114>; 61270866Simp hsync-len = <30>; 62270866Simp hfront-porch = <16>; 63270866Simp vback-porch = <32>; 64270866Simp vsync-len = <3>; 65270866Simp vfront-porch = <10>; 66270866Simp hsync-active = <0>; 67270866Simp vsync-active = <0>; 68270866Simp de-active = <1>; 69270866Simp pixelclk-active = <0>; 70270866Simp }; 71270866Simp 72270866Simp ET0350 { 73270866Simp clock-frequency = <6413760>; 74270866Simp hactive = <320>; 75270866Simp vactive = <240>; 76270866Simp hback-porch = <34>; 77270866Simp hsync-len = <34>; 78270866Simp hfront-porch = <20>; 79270866Simp vback-porch = <15>; 80270866Simp vsync-len = <3>; 81270866Simp vfront-porch = <4>; 82270866Simp hsync-active = <0>; 83270866Simp vsync-active = <0>; 84270866Simp de-active = <1>; 85270866Simp pixelclk-active = <0>; 86270866Simp }; 87270866Simp 88270866Simp ET0430 { 89270866Simp clock-frequency = <9009000>; 90270866Simp hactive = <480>; 91270866Simp vactive = <272>; 92270866Simp hback-porch = <2>; 93270866Simp hsync-len = <41>; 94270866Simp hfront-porch = <2>; 95270866Simp vback-porch = <2>; 96270866Simp vsync-len = <10>; 97270866Simp vfront-porch = <2>; 98270866Simp hsync-active = <0>; 99270866Simp vsync-active = <0>; 100270866Simp de-active = <1>; 101270866Simp pixelclk-active = <1>; 102270866Simp }; 103270866Simp 104270866Simp ET0500 { 105270866Simp clock-frequency = <33264000>; 106270866Simp hactive = <800>; 107270866Simp vactive = <480>; 108270866Simp hback-porch = <88>; 109270866Simp hsync-len = <128>; 110270866Simp hfront-porch = <40>; 111270866Simp vback-porch = <33>; 112270866Simp vsync-len = <2>; 113270866Simp vfront-porch = <10>; 114270866Simp hsync-active = <0>; 115270866Simp vsync-active = <0>; 116270866Simp de-active = <1>; 117270866Simp pixelclk-active = <0>; 118270866Simp }; 119270866Simp 120270866Simp ET0700 { /* same as ET0500 */ 121270866Simp clock-frequency = <33264000>; 122270866Simp hactive = <800>; 123270866Simp vactive = <480>; 124270866Simp hback-porch = <88>; 125270866Simp hsync-len = <128>; 126270866Simp hfront-porch = <40>; 127270866Simp vback-porch = <33>; 128270866Simp vsync-len = <2>; 129270866Simp vfront-porch = <10>; 130270866Simp hsync-active = <0>; 131270866Simp vsync-active = <0>; 132270866Simp de-active = <1>; 133270866Simp pixelclk-active = <0>; 134270866Simp }; 135270866Simp 136270866Simp ETQ570 { 137270866Simp clock-frequency = <6596040>; 138270866Simp hactive = <320>; 139270866Simp vactive = <240>; 140270866Simp hback-porch = <38>; 141270866Simp hsync-len = <30>; 142270866Simp hfront-porch = <30>; 143270866Simp vback-porch = <16>; 144270866Simp vsync-len = <3>; 145270866Simp vfront-porch = <4>; 146270866Simp hsync-active = <0>; 147270866Simp vsync-active = <0>; 148270866Simp de-active = <1>; 149270866Simp pixelclk-active = <0>; 150270866Simp }; 151270866Simp }; 152270866Simp }; 153270866Simp }; 154270866Simp 155270866Simp backlight: backlight { 156270866Simp compatible = "pwm-backlight"; 157270866Simp pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; 158270866Simp power-supply = <®_3v3>; 159270866Simp brightness-levels = < 160270866Simp 0 1 2 3 4 5 6 7 8 9 161270866Simp 10 11 12 13 14 15 16 17 18 19 162270866Simp 20 21 22 23 24 25 26 27 28 29 163270866Simp 30 31 32 33 34 35 36 37 38 39 164270866Simp 40 41 42 43 44 45 46 47 48 49 165270866Simp 50 51 52 53 54 55 56 57 58 59 166270866Simp 60 61 62 63 64 65 66 67 68 69 167270866Simp 70 71 72 73 74 75 76 77 78 79 168270866Simp 80 81 82 83 84 85 86 87 88 89 169270866Simp 90 91 92 93 94 95 96 97 98 99 170270866Simp 100 171270866Simp >; 172270866Simp default-brightness-level = <50>; 173270866Simp }; 174270866Simp 175270866Simp regulators { 176270866Simp reg_lcd_pwr: regulator@5 { 177270866Simp compatible = "regulator-fixed"; 178270866Simp reg = <5>; 179270866Simp regulator-name = "LCD POWER"; 180270866Simp regulator-min-microvolt = <3300000>; 181270866Simp regulator-max-microvolt = <3300000>; 182270866Simp gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; 183270866Simp enable-active-high; 184270866Simp regulator-boot-on; 185270866Simp }; 186270866Simp 187270866Simp reg_lcd_reset: regulator@6 { 188270866Simp compatible = "regulator-fixed"; 189270866Simp reg = <6>; 190270866Simp regulator-name = "LCD RESET"; 191270866Simp regulator-min-microvolt = <3300000>; 192270866Simp regulator-max-microvolt = <3300000>; 193270866Simp gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>; 194270866Simp enable-active-high; 195270866Simp regulator-boot-on; 196270866Simp }; 197270866Simp }; 198270866Simp}; 199270866Simp 200270866Simp&i2c3 { 201270866Simp pinctrl-names = "default"; 202270866Simp pinctrl-0 = <&pinctrl_i2c3>; 203270866Simp status = "okay"; 204270866Simp 205270866Simp sgtl5000: codec@0a { 206270866Simp compatible = "fsl,sgtl5000"; 207270866Simp reg = <0x0a>; 208270866Simp VDDA-supply = <®_2v5>; 209270866Simp VDDIO-supply = <®_3v3>; 210270866Simp clocks = <&mclk>; 211270866Simp }; 212270866Simp 213270866Simp polytouch: edt-ft5x06@38 { 214270866Simp compatible = "edt,edt-ft5x06"; 215270866Simp reg = <0x38>; 216270866Simp pinctrl-names = "default"; 217270866Simp pinctrl-0 = <&pinctrl_edt_ft5x06_1>; 218270866Simp interrupt-parent = <&gpio6>; 219270866Simp interrupts = <15 0>; 220270866Simp reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>; 221270866Simp wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; 222270866Simp }; 223270866Simp 224270866Simp touchscreen: tsc2007@48 { 225270866Simp compatible = "ti,tsc2007"; 226270866Simp reg = <0x48>; 227270866Simp pinctrl-names = "default"; 228270866Simp pinctrl-0 = <&pinctrl_tsc2007>; 229270866Simp interrupt-parent = <&gpio3>; 230270866Simp interrupts = <26 0>; 231270866Simp gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; 232270866Simp ti,x-plate-ohms = <660>; 233270866Simp linux,wakeup; 234270866Simp }; 235270866Simp}; 236270866Simp 237270866Simp&iomuxc { 238270866Simp imx53-tx53-x03x { 239270866Simp pinctrl_edt_ft5x06_1: edt-ft5x06grp-1 { 240270866Simp fsl,pins = < 241270866Simp MX53_PAD_NANDF_CS2__GPIO6_15 0x1f0 /* Interrupt */ 242270866Simp MX53_PAD_EIM_A16__GPIO2_22 0x04 /* Reset */ 243270866Simp MX53_PAD_EIM_A17__GPIO2_21 0x04 /* Wake */ 244270866Simp >; 245270866Simp }; 246270866Simp 247270866Simp pinctrl_kpp: kppgrp { 248270866Simp fsl,pins = < 249270866Simp MX53_PAD_GPIO_9__KPP_COL_6 0x1f4 250270866Simp MX53_PAD_GPIO_4__KPP_COL_7 0x1f4 251270866Simp MX53_PAD_KEY_COL2__KPP_COL_2 0x1f4 252270866Simp MX53_PAD_KEY_COL3__KPP_COL_3 0x1f4 253270866Simp MX53_PAD_GPIO_2__KPP_ROW_6 0x1f4 254270866Simp MX53_PAD_GPIO_5__KPP_ROW_7 0x1f4 255270866Simp MX53_PAD_KEY_ROW2__KPP_ROW_2 0x1f4 256270866Simp MX53_PAD_KEY_ROW3__KPP_ROW_3 0x1f4 257270866Simp >; 258270866Simp }; 259270866Simp 260270866Simp pinctrl_rgb24_vga1: rgb24-vgagrp1 { 261270866Simp fsl,pins = < 262270866Simp MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 0x5 263270866Simp MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 0x5 264270866Simp MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 0x5 265270866Simp MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 0x5 266270866Simp MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 0x5 267270866Simp MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 0x5 268270866Simp MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 0x5 269270866Simp MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 0x5 270270866Simp MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 0x5 271270866Simp MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 0x5 272270866Simp MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 0x5 273270866Simp MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 0x5 274270866Simp MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 0x5 275270866Simp MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 0x5 276270866Simp MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 0x5 277270866Simp MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 0x5 278270866Simp MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 0x5 279270866Simp MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 0x5 280270866Simp MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 0x5 281270866Simp MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 0x5 282270866Simp MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 0x5 283270866Simp MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 0x5 284270866Simp MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 0x5 285270866Simp MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 0x5 286270866Simp MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 0x5 287270866Simp MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 0x5 288270866Simp MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 0x5 289270866Simp MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 0x5 290270866Simp >; 291270866Simp }; 292270866Simp 293270866Simp pinctrl_tsc2007: tsc2007grp { 294270866Simp fsl,pins = < 295270866Simp MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */ 296270866Simp >; 297270866Simp }; 298270866Simp }; 299270866Simp}; 300270866Simp 301270866Simp&ipu_di0_disp0 { 302270866Simp remote-endpoint = <&display0_in>; 303270866Simp}; 304270866Simp 305270866Simp&kpp { 306270866Simp pinctrl-names = "default"; 307270866Simp pinctrl-0 = <&pinctrl_kpp>; 308270866Simp /* sample keymap */ 309270866Simp /* row/col 0,1 are mapped to KPP row/col 6,7 */ 310270866Simp linux,keymap = < 311270866Simp MATRIX_KEY(6, 6, KEY_POWER) 312270866Simp MATRIX_KEY(6, 7, KEY_KP0) 313270866Simp MATRIX_KEY(6, 2, KEY_KP1) 314270866Simp MATRIX_KEY(6, 3, KEY_KP2) 315270866Simp MATRIX_KEY(7, 6, KEY_KP3) 316270866Simp MATRIX_KEY(7, 7, KEY_KP4) 317270866Simp MATRIX_KEY(7, 2, KEY_KP5) 318270866Simp MATRIX_KEY(7, 3, KEY_KP6) 319270866Simp MATRIX_KEY(2, 6, KEY_KP7) 320270866Simp MATRIX_KEY(2, 7, KEY_KP8) 321270866Simp MATRIX_KEY(2, 2, KEY_KP9) 322270866Simp >; 323270866Simp status = "okay"; 324270866Simp}; 325