imx53-tx53-x03x.dts revision 284090
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#include <dt-bindings/pwm/pwm.h>
16
17/ {
18	model = "Ka-Ro electronics TX53 module (LCD)";
19	compatible = "karo,tx53", "fsl,imx53";
20
21	aliases {
22		display = &display;
23	};
24
25	soc {
26		display: display@di0 {
27			compatible = "fsl,imx-parallel-display";
28			interface-pix-fmt = "rgb24";
29			pinctrl-names = "default";
30			pinctrl-0 = <&pinctrl_rgb24_vga1>;
31			status = "okay";
32
33			port {
34				display0_in: endpoint {
35					remote-endpoint = <&ipu_di0_disp0>;
36				};
37			};
38
39			display-timings {
40				VGA {
41					clock-frequency = <25200000>;
42					hactive = <640>;
43					vactive = <480>;
44					hback-porch = <48>;
45					hsync-len = <96>;
46					hfront-porch = <16>;
47					vback-porch = <31>;
48					vsync-len = <2>;
49					vfront-porch = <12>;
50					hsync-active = <0>;
51					vsync-active = <0>;
52					de-active = <1>;
53					pixelclk-active = <0>;
54				};
55
56				ETV570 {
57					clock-frequency = <25200000>;
58					hactive = <640>;
59					vactive = <480>;
60					hback-porch = <114>;
61					hsync-len = <30>;
62					hfront-porch = <16>;
63					vback-porch = <32>;
64					vsync-len = <3>;
65					vfront-porch = <10>;
66					hsync-active = <0>;
67					vsync-active = <0>;
68					de-active = <1>;
69					pixelclk-active = <0>;
70				};
71
72				ET0350 {
73					clock-frequency = <6413760>;
74					hactive = <320>;
75					vactive = <240>;
76					hback-porch = <34>;
77					hsync-len = <34>;
78					hfront-porch = <20>;
79					vback-porch = <15>;
80					vsync-len = <3>;
81					vfront-porch = <4>;
82					hsync-active = <0>;
83					vsync-active = <0>;
84					de-active = <1>;
85					pixelclk-active = <0>;
86				};
87
88				ET0430 {
89					clock-frequency = <9009000>;
90					hactive = <480>;
91					vactive = <272>;
92					hback-porch = <2>;
93					hsync-len = <41>;
94					hfront-porch = <2>;
95					vback-porch = <2>;
96					vsync-len = <10>;
97					vfront-porch = <2>;
98					hsync-active = <0>;
99					vsync-active = <0>;
100					de-active = <1>;
101					pixelclk-active = <1>;
102				};
103
104				ET0500 {
105					clock-frequency = <33264000>;
106					hactive = <800>;
107					vactive = <480>;
108					hback-porch = <88>;
109					hsync-len = <128>;
110					hfront-porch = <40>;
111					vback-porch = <33>;
112					vsync-len = <2>;
113					vfront-porch = <10>;
114					hsync-active = <0>;
115					vsync-active = <0>;
116					de-active = <1>;
117					pixelclk-active = <0>;
118				};
119
120				ET0700 { /* same as ET0500 */
121					clock-frequency = <33264000>;
122					hactive = <800>;
123					vactive = <480>;
124					hback-porch = <88>;
125					hsync-len = <128>;
126					hfront-porch = <40>;
127					vback-porch = <33>;
128					vsync-len = <2>;
129					vfront-porch = <10>;
130					hsync-active = <0>;
131					vsync-active = <0>;
132					de-active = <1>;
133					pixelclk-active = <0>;
134				};
135
136				ETQ570 {
137					clock-frequency = <6596040>;
138					hactive = <320>;
139					vactive = <240>;
140					hback-porch = <38>;
141					hsync-len = <30>;
142					hfront-porch = <30>;
143					vback-porch = <16>;
144					vsync-len = <3>;
145					vfront-porch = <4>;
146					hsync-active = <0>;
147					vsync-active = <0>;
148					de-active = <1>;
149					pixelclk-active = <0>;
150				};
151			};
152		};
153	};
154
155	backlight: backlight {
156		compatible = "pwm-backlight";
157		pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
158		power-supply = <&reg_3v3>;
159		brightness-levels = <
160			  0  1  2  3  4  5  6  7  8  9
161			 10 11 12 13 14 15 16 17 18 19
162			 20 21 22 23 24 25 26 27 28 29
163			 30 31 32 33 34 35 36 37 38 39
164			 40 41 42 43 44 45 46 47 48 49
165			 50 51 52 53 54 55 56 57 58 59
166			 60 61 62 63 64 65 66 67 68 69
167			 70 71 72 73 74 75 76 77 78 79
168			 80 81 82 83 84 85 86 87 88 89
169			 90 91 92 93 94 95 96 97 98 99
170			100
171		>;
172		default-brightness-level = <50>;
173	};
174
175	regulators {
176		reg_lcd_pwr: regulator@5 {
177			compatible = "regulator-fixed";
178			reg = <5>;
179			regulator-name = "LCD POWER";
180			regulator-min-microvolt = <3300000>;
181			regulator-max-microvolt = <3300000>;
182			gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
183			enable-active-high;
184			regulator-boot-on;
185		};
186
187		reg_lcd_reset: regulator@6 {
188			compatible = "regulator-fixed";
189			reg = <6>;
190			regulator-name = "LCD RESET";
191			regulator-min-microvolt = <3300000>;
192			regulator-max-microvolt = <3300000>;
193			gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
194			enable-active-high;
195			regulator-boot-on;
196		};
197	};
198};
199
200&i2c3 {
201	pinctrl-names = "default";
202	pinctrl-0 = <&pinctrl_i2c3>;
203	status = "okay";
204
205	sgtl5000: codec@0a {
206		compatible = "fsl,sgtl5000";
207		reg = <0x0a>;
208		VDDA-supply = <&reg_2v5>;
209		VDDIO-supply = <&reg_3v3>;
210		clocks = <&mclk>;
211	};
212
213	polytouch: edt-ft5x06@38 {
214		compatible = "edt,edt-ft5x06";
215		reg = <0x38>;
216		pinctrl-names = "default";
217		pinctrl-0 = <&pinctrl_edt_ft5x06_1>;
218		interrupt-parent = <&gpio6>;
219		interrupts = <15 0>;
220		reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
221		wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
222	};
223
224	touchscreen: tsc2007@48 {
225		compatible = "ti,tsc2007";
226		reg = <0x48>;
227		pinctrl-names = "default";
228		pinctrl-0 = <&pinctrl_tsc2007>;
229		interrupt-parent = <&gpio3>;
230		interrupts = <26 0>;
231		gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
232		ti,x-plate-ohms = <660>;
233		linux,wakeup;
234	};
235};
236
237&iomuxc {
238	imx53-tx53-x03x {
239		pinctrl_edt_ft5x06_1: edt-ft5x06grp-1 {
240			fsl,pins = <
241				MX53_PAD_NANDF_CS2__GPIO6_15 0x1f0 /* Interrupt */
242				MX53_PAD_EIM_A16__GPIO2_22   0x04 /* Reset */
243				MX53_PAD_EIM_A17__GPIO2_21   0x04 /* Wake */
244			>;
245		};
246
247		pinctrl_kpp: kppgrp {
248			fsl,pins = <
249				MX53_PAD_GPIO_9__KPP_COL_6 0x1f4
250				MX53_PAD_GPIO_4__KPP_COL_7 0x1f4
251				MX53_PAD_KEY_COL2__KPP_COL_2 0x1f4
252				MX53_PAD_KEY_COL3__KPP_COL_3 0x1f4
253				MX53_PAD_GPIO_2__KPP_ROW_6 0x1f4
254				MX53_PAD_GPIO_5__KPP_ROW_7 0x1f4
255				MX53_PAD_KEY_ROW2__KPP_ROW_2 0x1f4
256				MX53_PAD_KEY_ROW3__KPP_ROW_3 0x1f4
257			>;
258		};
259
260		pinctrl_rgb24_vga1: rgb24-vgagrp1 {
261			fsl,pins = <
262				MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK		0x5
263				MX53_PAD_DI0_PIN15__IPU_DI0_PIN15		0x5
264				MX53_PAD_DI0_PIN2__IPU_DI0_PIN2			0x5
265				MX53_PAD_DI0_PIN3__IPU_DI0_PIN3			0x5
266				MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0		0x5
267				MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1		0x5
268				MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2		0x5
269				MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3		0x5
270				MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4		0x5
271				MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5		0x5
272				MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6		0x5
273				MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7		0x5
274				MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8		0x5
275				MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9		0x5
276				MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10		0x5
277				MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11		0x5
278				MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12		0x5
279				MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13		0x5
280				MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14		0x5
281				MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15		0x5
282				MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16		0x5
283				MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17		0x5
284				MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18		0x5
285				MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19		0x5
286				MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20		0x5
287				MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21		0x5
288				MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22		0x5
289				MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23		0x5
290			>;
291		};
292
293		pinctrl_tsc2007: tsc2007grp {
294			fsl,pins = <
295				MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */
296			>;
297		};
298	};
299};
300
301&ipu_di0_disp0 {
302	remote-endpoint = <&display0_in>;
303};
304
305&kpp {
306	pinctrl-names = "default";
307	pinctrl-0 = <&pinctrl_kpp>;
308	/* sample keymap */
309	/* row/col 0,1 are mapped to KPP row/col 6,7 */
310	linux,keymap = <
311		MATRIX_KEY(6, 6, KEY_POWER)
312		MATRIX_KEY(6, 7, KEY_KP0)
313		MATRIX_KEY(6, 2, KEY_KP1)
314		MATRIX_KEY(6, 3, KEY_KP2)
315		MATRIX_KEY(7, 6, KEY_KP3)
316		MATRIX_KEY(7, 7, KEY_KP4)
317		MATRIX_KEY(7, 2, KEY_KP5)
318		MATRIX_KEY(7, 3, KEY_KP6)
319		MATRIX_KEY(2, 6, KEY_KP7)
320		MATRIX_KEY(2, 7, KEY_KP8)
321		MATRIX_KEY(2, 2, KEY_KP9)
322	>;
323	status = "okay";
324};
325