xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx53-tx53-x03x.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1*db05490dSBence Csókás// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/dts-v1/;
7724ba675SRob Herring#include "imx53-tx53.dtsi"
8724ba675SRob Herring#include <dt-bindings/input/input.h>
9724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
10724ba675SRob Herring#include <dt-bindings/pwm/pwm.h>
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	model = "Ka-Ro electronics TX53 module (LCD)";
14724ba675SRob Herring	compatible = "karo,tx53", "fsl,imx53";
15724ba675SRob Herring
16724ba675SRob Herring	aliases {
17724ba675SRob Herring		display = &display;
18724ba675SRob Herring	};
19724ba675SRob Herring
20724ba675SRob Herring	display: disp0 {
21724ba675SRob Herring		compatible = "fsl,imx-parallel-display";
22724ba675SRob Herring		interface-pix-fmt = "rgb24";
23724ba675SRob Herring		pinctrl-names = "default";
24724ba675SRob Herring		pinctrl-0 = <&pinctrl_rgb24_vga1>;
25724ba675SRob Herring		status = "okay";
26724ba675SRob Herring
27724ba675SRob Herring		port {
28724ba675SRob Herring			display0_in: endpoint {
29724ba675SRob Herring				remote-endpoint = <&ipu_di0_disp0>;
30724ba675SRob Herring			};
31724ba675SRob Herring		};
32724ba675SRob Herring
33724ba675SRob Herring		display-timings {
3424583888SKrzysztof Kozlowski			timing-vga {
35724ba675SRob Herring				clock-frequency = <25200000>;
36724ba675SRob Herring				hactive = <640>;
37724ba675SRob Herring				vactive = <480>;
38724ba675SRob Herring				hback-porch = <48>;
39724ba675SRob Herring				hsync-len = <96>;
40724ba675SRob Herring				hfront-porch = <16>;
41724ba675SRob Herring				vback-porch = <31>;
42724ba675SRob Herring				vsync-len = <2>;
43724ba675SRob Herring				vfront-porch = <12>;
44724ba675SRob Herring				hsync-active = <0>;
45724ba675SRob Herring				vsync-active = <0>;
46724ba675SRob Herring				de-active = <1>;
47724ba675SRob Herring				pixelclk-active = <0>;
48724ba675SRob Herring			};
49724ba675SRob Herring
5024583888SKrzysztof Kozlowski			timing-etc570 {
51724ba675SRob Herring				clock-frequency = <25200000>;
52724ba675SRob Herring				hactive = <640>;
53724ba675SRob Herring				vactive = <480>;
54724ba675SRob Herring				hback-porch = <114>;
55724ba675SRob Herring				hsync-len = <30>;
56724ba675SRob Herring				hfront-porch = <16>;
57724ba675SRob Herring				vback-porch = <32>;
58724ba675SRob Herring				vsync-len = <3>;
59724ba675SRob Herring				vfront-porch = <10>;
60724ba675SRob Herring				hsync-active = <0>;
61724ba675SRob Herring				vsync-active = <0>;
62724ba675SRob Herring				de-active = <1>;
63724ba675SRob Herring				pixelclk-active = <0>;
64724ba675SRob Herring			};
65724ba675SRob Herring
6624583888SKrzysztof Kozlowski			timing-et0350 {
67724ba675SRob Herring				clock-frequency = <6413760>;
68724ba675SRob Herring				hactive = <320>;
69724ba675SRob Herring				vactive = <240>;
70724ba675SRob Herring				hback-porch = <34>;
71724ba675SRob Herring				hsync-len = <34>;
72724ba675SRob Herring				hfront-porch = <20>;
73724ba675SRob Herring				vback-porch = <15>;
74724ba675SRob Herring				vsync-len = <3>;
75724ba675SRob Herring				vfront-porch = <4>;
76724ba675SRob Herring				hsync-active = <0>;
77724ba675SRob Herring				vsync-active = <0>;
78724ba675SRob Herring				de-active = <1>;
79724ba675SRob Herring				pixelclk-active = <0>;
80724ba675SRob Herring			};
81724ba675SRob Herring
8224583888SKrzysztof Kozlowski			timing-et0430 {
83724ba675SRob Herring				clock-frequency = <9009000>;
84724ba675SRob Herring				hactive = <480>;
85724ba675SRob Herring				vactive = <272>;
86724ba675SRob Herring				hback-porch = <2>;
87724ba675SRob Herring				hsync-len = <41>;
88724ba675SRob Herring				hfront-porch = <2>;
89724ba675SRob Herring				vback-porch = <2>;
90724ba675SRob Herring				vsync-len = <10>;
91724ba675SRob Herring				vfront-porch = <2>;
92724ba675SRob Herring				hsync-active = <0>;
93724ba675SRob Herring				vsync-active = <0>;
94724ba675SRob Herring				de-active = <1>;
95724ba675SRob Herring				pixelclk-active = <1>;
96724ba675SRob Herring			};
97724ba675SRob Herring
9824583888SKrzysztof Kozlowski			timing-et0500 {
99724ba675SRob Herring				clock-frequency = <33264000>;
100724ba675SRob Herring				hactive = <800>;
101724ba675SRob Herring				vactive = <480>;
102724ba675SRob Herring				hback-porch = <88>;
103724ba675SRob Herring				hsync-len = <128>;
104724ba675SRob Herring				hfront-porch = <40>;
105724ba675SRob Herring				vback-porch = <33>;
106724ba675SRob Herring				vsync-len = <2>;
107724ba675SRob Herring				vfront-porch = <10>;
108724ba675SRob Herring				hsync-active = <0>;
109724ba675SRob Herring				vsync-active = <0>;
110724ba675SRob Herring				de-active = <1>;
111724ba675SRob Herring				pixelclk-active = <0>;
112724ba675SRob Herring			};
113724ba675SRob Herring
11424583888SKrzysztof Kozlowski			timing-et0700 { /* same as ET0500 */
115724ba675SRob Herring				clock-frequency = <33264000>;
116724ba675SRob Herring				hactive = <800>;
117724ba675SRob Herring				vactive = <480>;
118724ba675SRob Herring				hback-porch = <88>;
119724ba675SRob Herring				hsync-len = <128>;
120724ba675SRob Herring				hfront-porch = <40>;
121724ba675SRob Herring				vback-porch = <33>;
122724ba675SRob Herring				vsync-len = <2>;
123724ba675SRob Herring				vfront-porch = <10>;
124724ba675SRob Herring				hsync-active = <0>;
125724ba675SRob Herring				vsync-active = <0>;
126724ba675SRob Herring				de-active = <1>;
127724ba675SRob Herring				pixelclk-active = <0>;
128724ba675SRob Herring			};
129724ba675SRob Herring
13024583888SKrzysztof Kozlowski			timing-etq570 {
131724ba675SRob Herring				clock-frequency = <6596040>;
132724ba675SRob Herring				hactive = <320>;
133724ba675SRob Herring				vactive = <240>;
134724ba675SRob Herring				hback-porch = <38>;
135724ba675SRob Herring				hsync-len = <30>;
136724ba675SRob Herring				hfront-porch = <30>;
137724ba675SRob Herring				vback-porch = <16>;
138724ba675SRob Herring				vsync-len = <3>;
139724ba675SRob Herring				vfront-porch = <4>;
140724ba675SRob Herring				hsync-active = <0>;
141724ba675SRob Herring				vsync-active = <0>;
142724ba675SRob Herring				de-active = <1>;
143724ba675SRob Herring				pixelclk-active = <0>;
144724ba675SRob Herring			};
145724ba675SRob Herring		};
146724ba675SRob Herring	};
147724ba675SRob Herring
148724ba675SRob Herring	backlight: backlight {
149724ba675SRob Herring		compatible = "pwm-backlight";
150724ba675SRob Herring		pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
151724ba675SRob Herring		power-supply = <&reg_3v3>;
152724ba675SRob Herring		brightness-levels = <
153724ba675SRob Herring			  0  1  2  3  4  5  6  7  8  9
154724ba675SRob Herring			 10 11 12 13 14 15 16 17 18 19
155724ba675SRob Herring			 20 21 22 23 24 25 26 27 28 29
156724ba675SRob Herring			 30 31 32 33 34 35 36 37 38 39
157724ba675SRob Herring			 40 41 42 43 44 45 46 47 48 49
158724ba675SRob Herring			 50 51 52 53 54 55 56 57 58 59
159724ba675SRob Herring			 60 61 62 63 64 65 66 67 68 69
160724ba675SRob Herring			 70 71 72 73 74 75 76 77 78 79
161724ba675SRob Herring			 80 81 82 83 84 85 86 87 88 89
162724ba675SRob Herring			 90 91 92 93 94 95 96 97 98 99
163724ba675SRob Herring			100
164724ba675SRob Herring		>;
165724ba675SRob Herring		default-brightness-level = <50>;
166724ba675SRob Herring	};
167724ba675SRob Herring
168724ba675SRob Herring	reg_lcd_pwr: regulator-lcd-pwr {
169724ba675SRob Herring		compatible = "regulator-fixed";
170724ba675SRob Herring		regulator-name = "LCD POWER";
171724ba675SRob Herring		regulator-min-microvolt = <3300000>;
172724ba675SRob Herring		regulator-max-microvolt = <3300000>;
173724ba675SRob Herring		gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
174724ba675SRob Herring		enable-active-high;
175724ba675SRob Herring		regulator-boot-on;
176724ba675SRob Herring	};
177724ba675SRob Herring
178724ba675SRob Herring	reg_lcd_reset: regulator-lcd-reset {
179724ba675SRob Herring		compatible = "regulator-fixed";
180724ba675SRob Herring		regulator-name = "LCD RESET";
181724ba675SRob Herring		regulator-min-microvolt = <3300000>;
182724ba675SRob Herring		regulator-max-microvolt = <3300000>;
183724ba675SRob Herring		gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
184724ba675SRob Herring		enable-active-high;
185724ba675SRob Herring		regulator-boot-on;
186724ba675SRob Herring	};
187724ba675SRob Herring};
188724ba675SRob Herring
189724ba675SRob Herring&i2c3 {
190724ba675SRob Herring	pinctrl-names = "default";
191724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
192724ba675SRob Herring	status = "okay";
193724ba675SRob Herring
194724ba675SRob Herring	sgtl5000: codec@a {
195724ba675SRob Herring		compatible = "fsl,sgtl5000";
196724ba675SRob Herring		reg = <0x0a>;
197724ba675SRob Herring		#sound-dai-cells = <0>;
198724ba675SRob Herring		VDDA-supply = <&reg_2v5>;
199724ba675SRob Herring		VDDIO-supply = <&reg_3v3>;
200724ba675SRob Herring		clocks = <&mclk>;
201724ba675SRob Herring	};
202724ba675SRob Herring
203724ba675SRob Herring	polytouch: edt-ft5x06@38 {
204724ba675SRob Herring		compatible = "edt,edt-ft5x06";
205724ba675SRob Herring		reg = <0x38>;
206724ba675SRob Herring		pinctrl-names = "default";
207724ba675SRob Herring		pinctrl-0 = <&pinctrl_edt_ft5x06_1>;
208724ba675SRob Herring		interrupt-parent = <&gpio6>;
209724ba675SRob Herring		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
210724ba675SRob Herring		reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
211724ba675SRob Herring		wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
212724ba675SRob Herring		wakeup-source;
213724ba675SRob Herring	};
214724ba675SRob Herring
215724ba675SRob Herring	touchscreen: tsc2007@48 {
216724ba675SRob Herring		compatible = "ti,tsc2007";
217724ba675SRob Herring		reg = <0x48>;
218724ba675SRob Herring		pinctrl-names = "default";
219724ba675SRob Herring		pinctrl-0 = <&pinctrl_tsc2007>;
220724ba675SRob Herring		interrupt-parent = <&gpio3>;
221724ba675SRob Herring		interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
222724ba675SRob Herring		gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
223724ba675SRob Herring		ti,x-plate-ohms = <660>;
224724ba675SRob Herring		wakeup-source;
225724ba675SRob Herring	};
226724ba675SRob Herring};
227724ba675SRob Herring
228724ba675SRob Herring&iomuxc {
2299237be3fSMarek Vasut	pinctrl_edt_ft5x06_1: edt-ft5x06-1-grp {
230724ba675SRob Herring		fsl,pins = <
231724ba675SRob Herring			MX53_PAD_NANDF_CS2__GPIO6_15 0x1f0 /* Interrupt */
232724ba675SRob Herring			MX53_PAD_EIM_A16__GPIO2_22   0x04 /* Reset */
233724ba675SRob Herring			MX53_PAD_EIM_A17__GPIO2_21   0x04 /* Wake */
234724ba675SRob Herring		>;
235724ba675SRob Herring	};
236724ba675SRob Herring
237724ba675SRob Herring	pinctrl_kpp: kppgrp {
238724ba675SRob Herring		fsl,pins = <
239724ba675SRob Herring			MX53_PAD_GPIO_9__KPP_COL_6 0x1f4
240724ba675SRob Herring			MX53_PAD_GPIO_4__KPP_COL_7 0x1f4
241724ba675SRob Herring			MX53_PAD_KEY_COL2__KPP_COL_2 0x1f4
242724ba675SRob Herring			MX53_PAD_KEY_COL3__KPP_COL_3 0x1f4
243724ba675SRob Herring			MX53_PAD_GPIO_2__KPP_ROW_6 0x1f4
244724ba675SRob Herring			MX53_PAD_GPIO_5__KPP_ROW_7 0x1f4
245724ba675SRob Herring			MX53_PAD_KEY_ROW2__KPP_ROW_2 0x1f4
246724ba675SRob Herring			MX53_PAD_KEY_ROW3__KPP_ROW_3 0x1f4
247724ba675SRob Herring		>;
248724ba675SRob Herring	};
249724ba675SRob Herring
2509237be3fSMarek Vasut	pinctrl_rgb24_vga1: rgb24-vga1grp {
251724ba675SRob Herring		fsl,pins = <
252724ba675SRob Herring			MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK		0x5
253724ba675SRob Herring			MX53_PAD_DI0_PIN15__IPU_DI0_PIN15		0x5
254724ba675SRob Herring			MX53_PAD_DI0_PIN2__IPU_DI0_PIN2			0x5
255724ba675SRob Herring			MX53_PAD_DI0_PIN3__IPU_DI0_PIN3			0x5
256724ba675SRob Herring			MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0		0x5
257724ba675SRob Herring			MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1		0x5
258724ba675SRob Herring			MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2		0x5
259724ba675SRob Herring			MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3		0x5
260724ba675SRob Herring			MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4		0x5
261724ba675SRob Herring			MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5		0x5
262724ba675SRob Herring			MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6		0x5
263724ba675SRob Herring			MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7		0x5
264724ba675SRob Herring			MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8		0x5
265724ba675SRob Herring			MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9		0x5
266724ba675SRob Herring			MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10		0x5
267724ba675SRob Herring			MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11		0x5
268724ba675SRob Herring			MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12		0x5
269724ba675SRob Herring			MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13		0x5
270724ba675SRob Herring			MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14		0x5
271724ba675SRob Herring			MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15		0x5
272724ba675SRob Herring			MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16		0x5
273724ba675SRob Herring			MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17		0x5
274724ba675SRob Herring			MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18		0x5
275724ba675SRob Herring			MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19		0x5
276724ba675SRob Herring			MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20		0x5
277724ba675SRob Herring			MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21		0x5
278724ba675SRob Herring			MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22		0x5
279724ba675SRob Herring			MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23		0x5
280724ba675SRob Herring		>;
281724ba675SRob Herring	};
282724ba675SRob Herring
283724ba675SRob Herring	pinctrl_tsc2007: tsc2007grp {
284724ba675SRob Herring		fsl,pins = <
285724ba675SRob Herring			MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */
286724ba675SRob Herring		>;
287724ba675SRob Herring	};
288724ba675SRob Herring};
289724ba675SRob Herring
290724ba675SRob Herring&ipu_di0_disp0 {
291724ba675SRob Herring	remote-endpoint = <&display0_in>;
292724ba675SRob Herring};
293724ba675SRob Herring
294724ba675SRob Herring&kpp {
295724ba675SRob Herring	pinctrl-names = "default";
296724ba675SRob Herring	pinctrl-0 = <&pinctrl_kpp>;
297724ba675SRob Herring	/* sample keymap */
298724ba675SRob Herring	/* row/col 0,1 are mapped to KPP row/col 6,7 */
299724ba675SRob Herring	linux,keymap = <
300724ba675SRob Herring		MATRIX_KEY(6, 6, KEY_POWER)
301724ba675SRob Herring		MATRIX_KEY(6, 7, KEY_KP0)
302724ba675SRob Herring		MATRIX_KEY(6, 2, KEY_KP1)
303724ba675SRob Herring		MATRIX_KEY(6, 3, KEY_KP2)
304724ba675SRob Herring		MATRIX_KEY(7, 6, KEY_KP3)
305724ba675SRob Herring		MATRIX_KEY(7, 7, KEY_KP4)
306724ba675SRob Herring		MATRIX_KEY(7, 2, KEY_KP5)
307724ba675SRob Herring		MATRIX_KEY(7, 3, KEY_KP6)
308724ba675SRob Herring		MATRIX_KEY(2, 6, KEY_KP7)
309724ba675SRob Herring		MATRIX_KEY(2, 7, KEY_KP8)
310724ba675SRob Herring		MATRIX_KEY(2, 2, KEY_KP9)
311724ba675SRob Herring	>;
312724ba675SRob Herring	status = "okay";
313724ba675SRob Herring};
314