1/*
2 * Copyright 2013 Lothar Wa��mann <LW@KARO-electronics.de>
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13#include "imx53-tx53.dtsi"
14#include <dt-bindings/input/input.h>
15
16/ {
17	model = "Ka-Ro electronics TX53 module (LVDS)";
18	compatible = "karo,tx53", "fsl,imx53";
19
20	aliases {
21		display = &lvds0;
22		lvds0 = &lvds0;
23		lvds1 = &lvds1;
24	};
25
26	backlight0: backlight0 {
27		compatible = "pwm-backlight";
28		pwms = <&pwm2 0 500000 0>;
29		power-supply = <&reg_3v3>;
30		brightness-levels = <
31			  0  1  2  3  4  5  6  7  8  9
32			 10 11 12 13 14 15 16 17 18 19
33			 20 21 22 23 24 25 26 27 28 29
34			 30 31 32 33 34 35 36 37 38 39
35			 40 41 42 43 44 45 46 47 48 49
36			 50 51 52 53 54 55 56 57 58 59
37			 60 61 62 63 64 65 66 67 68 69
38			 70 71 72 73 74 75 76 77 78 79
39			 80 81 82 83 84 85 86 87 88 89
40			 90 91 92 93 94 95 96 97 98 99
41			100
42		>;
43		default-brightness-level = <50>;
44	};
45
46	backlight1: backlight1 {
47		compatible = "pwm-backlight";
48		pwms = <&pwm1 0 500000 0>;
49		power-supply = <&reg_3v3>;
50		brightness-levels = <
51			  0  1  2  3  4  5  6  7  8  9
52			 10 11 12 13 14 15 16 17 18 19
53			 20 21 22 23 24 25 26 27 28 29
54			 30 31 32 33 34 35 36 37 38 39
55			 40 41 42 43 44 45 46 47 48 49
56			 50 51 52 53 54 55 56 57 58 59
57			 60 61 62 63 64 65 66 67 68 69
58			 70 71 72 73 74 75 76 77 78 79
59			 80 81 82 83 84 85 86 87 88 89
60			 90 91 92 93 94 95 96 97 98 99
61			100
62		>;
63		default-brightness-level = <50>;
64	};
65
66	regulators {
67		reg_lcd_pwr0: regulator@5 {
68			compatible = "regulator-fixed";
69			reg = <5>;
70			regulator-name = "LVDS0 POWER";
71			regulator-min-microvolt = <3300000>;
72			regulator-max-microvolt = <3300000>;
73			gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
74			enable-active-high;
75			regulator-boot-on;
76		};
77
78		reg_lcd_pwr1: regulator@6 {
79			compatible = "regulator-fixed";
80			reg = <6>;
81			regulator-name = "LVDS1 POWER";
82			regulator-min-microvolt = <3300000>;
83			regulator-max-microvolt = <3300000>;
84			gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
85			enable-active-high;
86			regulator-boot-on;
87		};
88	};
89};
90
91&i2c2 {
92	pinctrl-names = "default";
93	pinctrl-0 = <&pinctrl_i2c2>;
94	status = "okay";
95
96	touchscreen2: eeti@04 {
97		compatible = "eeti,egalax_ts";
98		reg = <0x04>;
99		pinctrl-names = "default";
100		pinctrl-0 = <&pinctrl_eeti2>;
101		interrupt-parent = <&gpio3>;
102		interrupts = <23 0>;
103		wakeup-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
104		linux,wakeup;
105	};
106};
107
108&i2c3 {
109	pinctrl-names = "default";
110	pinctrl-0 = <&pinctrl_i2c3>;
111	status = "okay";
112
113	sgtl5000: codec@0a {
114		compatible = "fsl,sgtl5000";
115		reg = <0x0a>;
116		VDDA-supply = <&reg_2v5>;
117		VDDIO-supply = <&reg_3v3>;
118		clocks = <&mclk>;
119	};
120
121	touchscreen1: eeti@04 {
122		compatible = "eeti,egalax_ts";
123		reg = <0x04>;
124		pinctrl-names = "default";
125		pinctrl-0 = <&pinctrl_eeti1>;
126		interrupt-parent = <&gpio3>;
127		interrupts = <22 0>;
128		wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
129		linux,wakeup;
130	};
131};
132
133&iomuxc {
134	imx53-tx53-x13x {
135		pinctrl_i2c2: i2c2-grp1 {
136			fsl,pins = <
137				MX53_PAD_KEY_ROW3__I2C2_SDA		0xc0000000
138				MX53_PAD_KEY_COL3__I2C2_SCL		0xc0000000
139			>;
140		};
141
142		pinctrl_lvds0: lvds0grp {
143			fsl,pins = <
144				MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000
145				MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000
146				MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000
147				MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000
148				MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000
149			>;
150		};
151
152		pinctrl_lvds1: lvds1grp {
153			fsl,pins = <
154				MX53_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 0x80000000
155				MX53_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 0x80000000
156				MX53_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 0x80000000
157				MX53_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 0x80000000
158				MX53_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 0x80000000
159			>;
160		};
161
162		pinctrl_pwm1: pwm1grp {
163			fsl,pins = <MX53_PAD_GPIO_9__PWM1_PWMO 0x04>;
164		};
165
166		pinctrl_eeti1: eeti1grp {
167			fsl,pins = <
168				MX53_PAD_EIM_D22__GPIO3_22 0x1f0 /* Interrupt */
169			>;
170		};
171
172		pinctrl_eeti2: eeti2grp {
173			fsl,pins = <
174				MX53_PAD_EIM_D23__GPIO3_23 0x1f0 /* Interrupt */
175			>;
176		};
177	};
178};
179
180&ldb {
181	pinctrl-names = "default";
182	pinctrl-0 = <&pinctrl_lvds0 &pinctrl_lvds1>;
183	status = "okay";
184
185	lvds0: lvds-channel@0 {
186		fsl,data-mapping = "jeida";
187		fsl,data-width = <24>;
188		status = "okay";
189
190		display-timings {
191			native-mode = <&lvds_timing0>;
192			lvds_timing0: hsd100pxn1 {
193				clock-frequency = <65000000>;
194				hactive = <1024>;
195				vactive = <768>;
196				hback-porch = <220>;
197				hsync-len = <60>;
198				hfront-porch = <40>;
199				vback-porch = <21>;
200				vsync-len = <10>;
201				vfront-porch = <7>;
202				hsync-active = <0>;
203				vsync-active = <0>;
204				de-active = <1>;
205				pixelclk-active = <0>;
206			};
207		};
208	};
209
210	lvds1: lvds-channel@1 {
211		fsl,data-mapping = "jeida";
212		fsl,data-width = <24>;
213		status = "okay";
214
215		display-timings {
216			native-mode = <&lvds_timing1>;
217			lvds_timing1: hsd100pxn1 {
218				clock-frequency = <65000000>;
219				hactive = <1024>;
220				vactive = <768>;
221				hback-porch = <220>;
222				hsync-len = <60>;
223				hfront-porch = <40>;
224				vback-porch = <21>;
225				vsync-len = <10>;
226				vfront-porch = <7>;
227				hsync-active = <0>;
228				vsync-active = <0>;
229				de-active = <1>;
230				pixelclk-active = <0>;
231			};
232		};
233	};
234};
235
236&pwm1 {
237	pinctrl-names = "default";
238	pinctrl-0 = <&pinctrl_pwm1>;
239};
240
241&sata {
242	status = "okay";
243};
244