• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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		wakeup-source;
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		wakeup-source;
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 = "spwg";
187		fsl,data-width = <18>;
188		status = "okay";
189
190		display-timings {
191			native-mode = <&lvds0_timing0>;
192
193			lvds0_timing0: hsd100pxn1 {
194				clock-frequency = <65000000>;
195				hactive = <1024>;
196				vactive = <768>;
197				hback-porch = <220>;
198				hsync-len = <60>;
199				hfront-porch = <40>;
200				vback-porch = <21>;
201				vsync-len = <10>;
202				vfront-porch = <7>;
203				hsync-active = <0>;
204				vsync-active = <0>;
205				de-active = <1>;
206				pixelclk-active = <1>;
207			};
208
209			lvds0_timing1: nl12880bc20 {
210				clock-frequency = <71000000>;
211				hactive = <1280>;
212				vactive = <800>;
213				hback-porch = <50>;
214				hsync-len = <60>;
215				hfront-porch = <50>;
216				vback-porch = <5>;
217				vsync-len = <13>;
218				vfront-porch = <5>;
219				hsync-active = <0>;
220				vsync-active = <0>;
221				de-active = <1>;
222				pixelclk-active = <1>;
223			};
224		};
225	};
226
227	lvds1: lvds-channel@1 {
228		fsl,data-mapping = "spwg";
229		fsl,data-width = <18>;
230		status = "okay";
231
232		display-timings {
233			native-mode = <&lvds1_timing0>;
234
235			lvds1_timing0: hsd100pxn1 {
236				clock-frequency = <65000000>;
237				hactive = <1024>;
238				vactive = <768>;
239				hback-porch = <220>;
240				hsync-len = <60>;
241				hfront-porch = <40>;
242				vback-porch = <21>;
243				vsync-len = <10>;
244				vfront-porch = <7>;
245				hsync-active = <0>;
246				vsync-active = <0>;
247				de-active = <1>;
248				pixelclk-active = <1>;
249			};
250		};
251	};
252};
253
254&pwm1 {
255	pinctrl-names = "default";
256	pinctrl-0 = <&pinctrl_pwm1>;
257};
258
259&sata {
260	status = "okay";
261};
262