xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx53-tx53-x03x.dts (revision 9237be3f4155e445ebed2aa380253761da759df1)
1724ba675SRob Herring/*
2724ba675SRob Herring * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
3724ba675SRob Herring *
4724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
5724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
6724ba675SRob Herring * licensing only applies to this file, and not this project as a
7724ba675SRob Herring * whole.
8724ba675SRob Herring *
9724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
10724ba675SRob Herring *     modify it under the terms of the GNU General Public License
11724ba675SRob Herring *     version 2 as published by the Free Software Foundation.
12724ba675SRob Herring *
13724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
14724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16724ba675SRob Herring *     GNU General Public License for more details.
17724ba675SRob Herring *
18724ba675SRob Herring * Or, alternatively,
19724ba675SRob Herring *
20724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
21724ba675SRob Herring *     obtaining a copy of this software and associated documentation
22724ba675SRob Herring *     files (the "Software"), to deal in the Software without
23724ba675SRob Herring *     restriction, including without limitation the rights to use,
24724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
25724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
26724ba675SRob Herring *     Software is furnished to do so, subject to the following
27724ba675SRob Herring *     conditions:
28724ba675SRob Herring *
29724ba675SRob Herring *     The above copyright notice and this permission notice shall be
30724ba675SRob Herring *     included in all copies or substantial portions of the Software.
31724ba675SRob Herring *
32724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
40724ba675SRob Herring */
41724ba675SRob Herring
42724ba675SRob Herring/dts-v1/;
43724ba675SRob Herring#include "imx53-tx53.dtsi"
44724ba675SRob Herring#include <dt-bindings/input/input.h>
45724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
46724ba675SRob Herring#include <dt-bindings/pwm/pwm.h>
47724ba675SRob Herring
48724ba675SRob Herring/ {
49724ba675SRob Herring	model = "Ka-Ro electronics TX53 module (LCD)";
50724ba675SRob Herring	compatible = "karo,tx53", "fsl,imx53";
51724ba675SRob Herring
52724ba675SRob Herring	aliases {
53724ba675SRob Herring		display = &display;
54724ba675SRob Herring	};
55724ba675SRob Herring
56724ba675SRob Herring	display: disp0 {
57724ba675SRob Herring		compatible = "fsl,imx-parallel-display";
58724ba675SRob Herring		interface-pix-fmt = "rgb24";
59724ba675SRob Herring		pinctrl-names = "default";
60724ba675SRob Herring		pinctrl-0 = <&pinctrl_rgb24_vga1>;
61724ba675SRob Herring		status = "okay";
62724ba675SRob Herring
63724ba675SRob Herring		port {
64724ba675SRob Herring			display0_in: endpoint {
65724ba675SRob Herring				remote-endpoint = <&ipu_di0_disp0>;
66724ba675SRob Herring			};
67724ba675SRob Herring		};
68724ba675SRob Herring
69724ba675SRob Herring		display-timings {
7024583888SKrzysztof Kozlowski			timing-vga {
71724ba675SRob Herring				clock-frequency = <25200000>;
72724ba675SRob Herring				hactive = <640>;
73724ba675SRob Herring				vactive = <480>;
74724ba675SRob Herring				hback-porch = <48>;
75724ba675SRob Herring				hsync-len = <96>;
76724ba675SRob Herring				hfront-porch = <16>;
77724ba675SRob Herring				vback-porch = <31>;
78724ba675SRob Herring				vsync-len = <2>;
79724ba675SRob Herring				vfront-porch = <12>;
80724ba675SRob Herring				hsync-active = <0>;
81724ba675SRob Herring				vsync-active = <0>;
82724ba675SRob Herring				de-active = <1>;
83724ba675SRob Herring				pixelclk-active = <0>;
84724ba675SRob Herring			};
85724ba675SRob Herring
8624583888SKrzysztof Kozlowski			timing-etc570 {
87724ba675SRob Herring				clock-frequency = <25200000>;
88724ba675SRob Herring				hactive = <640>;
89724ba675SRob Herring				vactive = <480>;
90724ba675SRob Herring				hback-porch = <114>;
91724ba675SRob Herring				hsync-len = <30>;
92724ba675SRob Herring				hfront-porch = <16>;
93724ba675SRob Herring				vback-porch = <32>;
94724ba675SRob Herring				vsync-len = <3>;
95724ba675SRob Herring				vfront-porch = <10>;
96724ba675SRob Herring				hsync-active = <0>;
97724ba675SRob Herring				vsync-active = <0>;
98724ba675SRob Herring				de-active = <1>;
99724ba675SRob Herring				pixelclk-active = <0>;
100724ba675SRob Herring			};
101724ba675SRob Herring
10224583888SKrzysztof Kozlowski			timing-et0350 {
103724ba675SRob Herring				clock-frequency = <6413760>;
104724ba675SRob Herring				hactive = <320>;
105724ba675SRob Herring				vactive = <240>;
106724ba675SRob Herring				hback-porch = <34>;
107724ba675SRob Herring				hsync-len = <34>;
108724ba675SRob Herring				hfront-porch = <20>;
109724ba675SRob Herring				vback-porch = <15>;
110724ba675SRob Herring				vsync-len = <3>;
111724ba675SRob Herring				vfront-porch = <4>;
112724ba675SRob Herring				hsync-active = <0>;
113724ba675SRob Herring				vsync-active = <0>;
114724ba675SRob Herring				de-active = <1>;
115724ba675SRob Herring				pixelclk-active = <0>;
116724ba675SRob Herring			};
117724ba675SRob Herring
11824583888SKrzysztof Kozlowski			timing-et0430 {
119724ba675SRob Herring				clock-frequency = <9009000>;
120724ba675SRob Herring				hactive = <480>;
121724ba675SRob Herring				vactive = <272>;
122724ba675SRob Herring				hback-porch = <2>;
123724ba675SRob Herring				hsync-len = <41>;
124724ba675SRob Herring				hfront-porch = <2>;
125724ba675SRob Herring				vback-porch = <2>;
126724ba675SRob Herring				vsync-len = <10>;
127724ba675SRob Herring				vfront-porch = <2>;
128724ba675SRob Herring				hsync-active = <0>;
129724ba675SRob Herring				vsync-active = <0>;
130724ba675SRob Herring				de-active = <1>;
131724ba675SRob Herring				pixelclk-active = <1>;
132724ba675SRob Herring			};
133724ba675SRob Herring
13424583888SKrzysztof Kozlowski			timing-et0500 {
135724ba675SRob Herring				clock-frequency = <33264000>;
136724ba675SRob Herring				hactive = <800>;
137724ba675SRob Herring				vactive = <480>;
138724ba675SRob Herring				hback-porch = <88>;
139724ba675SRob Herring				hsync-len = <128>;
140724ba675SRob Herring				hfront-porch = <40>;
141724ba675SRob Herring				vback-porch = <33>;
142724ba675SRob Herring				vsync-len = <2>;
143724ba675SRob Herring				vfront-porch = <10>;
144724ba675SRob Herring				hsync-active = <0>;
145724ba675SRob Herring				vsync-active = <0>;
146724ba675SRob Herring				de-active = <1>;
147724ba675SRob Herring				pixelclk-active = <0>;
148724ba675SRob Herring			};
149724ba675SRob Herring
15024583888SKrzysztof Kozlowski			timing-et0700 { /* same as ET0500 */
151724ba675SRob Herring				clock-frequency = <33264000>;
152724ba675SRob Herring				hactive = <800>;
153724ba675SRob Herring				vactive = <480>;
154724ba675SRob Herring				hback-porch = <88>;
155724ba675SRob Herring				hsync-len = <128>;
156724ba675SRob Herring				hfront-porch = <40>;
157724ba675SRob Herring				vback-porch = <33>;
158724ba675SRob Herring				vsync-len = <2>;
159724ba675SRob Herring				vfront-porch = <10>;
160724ba675SRob Herring				hsync-active = <0>;
161724ba675SRob Herring				vsync-active = <0>;
162724ba675SRob Herring				de-active = <1>;
163724ba675SRob Herring				pixelclk-active = <0>;
164724ba675SRob Herring			};
165724ba675SRob Herring
16624583888SKrzysztof Kozlowski			timing-etq570 {
167724ba675SRob Herring				clock-frequency = <6596040>;
168724ba675SRob Herring				hactive = <320>;
169724ba675SRob Herring				vactive = <240>;
170724ba675SRob Herring				hback-porch = <38>;
171724ba675SRob Herring				hsync-len = <30>;
172724ba675SRob Herring				hfront-porch = <30>;
173724ba675SRob Herring				vback-porch = <16>;
174724ba675SRob Herring				vsync-len = <3>;
175724ba675SRob Herring				vfront-porch = <4>;
176724ba675SRob Herring				hsync-active = <0>;
177724ba675SRob Herring				vsync-active = <0>;
178724ba675SRob Herring				de-active = <1>;
179724ba675SRob Herring				pixelclk-active = <0>;
180724ba675SRob Herring			};
181724ba675SRob Herring		};
182724ba675SRob Herring	};
183724ba675SRob Herring
184724ba675SRob Herring	backlight: backlight {
185724ba675SRob Herring		compatible = "pwm-backlight";
186724ba675SRob Herring		pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
187724ba675SRob Herring		power-supply = <&reg_3v3>;
188724ba675SRob Herring		brightness-levels = <
189724ba675SRob Herring			  0  1  2  3  4  5  6  7  8  9
190724ba675SRob Herring			 10 11 12 13 14 15 16 17 18 19
191724ba675SRob Herring			 20 21 22 23 24 25 26 27 28 29
192724ba675SRob Herring			 30 31 32 33 34 35 36 37 38 39
193724ba675SRob Herring			 40 41 42 43 44 45 46 47 48 49
194724ba675SRob Herring			 50 51 52 53 54 55 56 57 58 59
195724ba675SRob Herring			 60 61 62 63 64 65 66 67 68 69
196724ba675SRob Herring			 70 71 72 73 74 75 76 77 78 79
197724ba675SRob Herring			 80 81 82 83 84 85 86 87 88 89
198724ba675SRob Herring			 90 91 92 93 94 95 96 97 98 99
199724ba675SRob Herring			100
200724ba675SRob Herring		>;
201724ba675SRob Herring		default-brightness-level = <50>;
202724ba675SRob Herring	};
203724ba675SRob Herring
204724ba675SRob Herring	reg_lcd_pwr: regulator-lcd-pwr {
205724ba675SRob Herring		compatible = "regulator-fixed";
206724ba675SRob Herring		regulator-name = "LCD POWER";
207724ba675SRob Herring		regulator-min-microvolt = <3300000>;
208724ba675SRob Herring		regulator-max-microvolt = <3300000>;
209724ba675SRob Herring		gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
210724ba675SRob Herring		enable-active-high;
211724ba675SRob Herring		regulator-boot-on;
212724ba675SRob Herring	};
213724ba675SRob Herring
214724ba675SRob Herring	reg_lcd_reset: regulator-lcd-reset {
215724ba675SRob Herring		compatible = "regulator-fixed";
216724ba675SRob Herring		regulator-name = "LCD RESET";
217724ba675SRob Herring		regulator-min-microvolt = <3300000>;
218724ba675SRob Herring		regulator-max-microvolt = <3300000>;
219724ba675SRob Herring		gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
220724ba675SRob Herring		enable-active-high;
221724ba675SRob Herring		regulator-boot-on;
222724ba675SRob Herring	};
223724ba675SRob Herring};
224724ba675SRob Herring
225724ba675SRob Herring&i2c3 {
226724ba675SRob Herring	pinctrl-names = "default";
227724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
228724ba675SRob Herring	status = "okay";
229724ba675SRob Herring
230724ba675SRob Herring	sgtl5000: codec@a {
231724ba675SRob Herring		compatible = "fsl,sgtl5000";
232724ba675SRob Herring		reg = <0x0a>;
233724ba675SRob Herring		#sound-dai-cells = <0>;
234724ba675SRob Herring		VDDA-supply = <&reg_2v5>;
235724ba675SRob Herring		VDDIO-supply = <&reg_3v3>;
236724ba675SRob Herring		clocks = <&mclk>;
237724ba675SRob Herring	};
238724ba675SRob Herring
239724ba675SRob Herring	polytouch: edt-ft5x06@38 {
240724ba675SRob Herring		compatible = "edt,edt-ft5x06";
241724ba675SRob Herring		reg = <0x38>;
242724ba675SRob Herring		pinctrl-names = "default";
243724ba675SRob Herring		pinctrl-0 = <&pinctrl_edt_ft5x06_1>;
244724ba675SRob Herring		interrupt-parent = <&gpio6>;
245724ba675SRob Herring		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
246724ba675SRob Herring		reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
247724ba675SRob Herring		wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
248724ba675SRob Herring		wakeup-source;
249724ba675SRob Herring	};
250724ba675SRob Herring
251724ba675SRob Herring	touchscreen: tsc2007@48 {
252724ba675SRob Herring		compatible = "ti,tsc2007";
253724ba675SRob Herring		reg = <0x48>;
254724ba675SRob Herring		pinctrl-names = "default";
255724ba675SRob Herring		pinctrl-0 = <&pinctrl_tsc2007>;
256724ba675SRob Herring		interrupt-parent = <&gpio3>;
257724ba675SRob Herring		interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
258724ba675SRob Herring		gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
259724ba675SRob Herring		ti,x-plate-ohms = <660>;
260724ba675SRob Herring		wakeup-source;
261724ba675SRob Herring	};
262724ba675SRob Herring};
263724ba675SRob Herring
264724ba675SRob Herring&iomuxc {
265*9237be3fSMarek Vasut	pinctrl_edt_ft5x06_1: edt-ft5x06-1-grp {
266724ba675SRob Herring		fsl,pins = <
267724ba675SRob Herring			MX53_PAD_NANDF_CS2__GPIO6_15 0x1f0 /* Interrupt */
268724ba675SRob Herring			MX53_PAD_EIM_A16__GPIO2_22   0x04 /* Reset */
269724ba675SRob Herring			MX53_PAD_EIM_A17__GPIO2_21   0x04 /* Wake */
270724ba675SRob Herring		>;
271724ba675SRob Herring	};
272724ba675SRob Herring
273724ba675SRob Herring	pinctrl_kpp: kppgrp {
274724ba675SRob Herring		fsl,pins = <
275724ba675SRob Herring			MX53_PAD_GPIO_9__KPP_COL_6 0x1f4
276724ba675SRob Herring			MX53_PAD_GPIO_4__KPP_COL_7 0x1f4
277724ba675SRob Herring			MX53_PAD_KEY_COL2__KPP_COL_2 0x1f4
278724ba675SRob Herring			MX53_PAD_KEY_COL3__KPP_COL_3 0x1f4
279724ba675SRob Herring			MX53_PAD_GPIO_2__KPP_ROW_6 0x1f4
280724ba675SRob Herring			MX53_PAD_GPIO_5__KPP_ROW_7 0x1f4
281724ba675SRob Herring			MX53_PAD_KEY_ROW2__KPP_ROW_2 0x1f4
282724ba675SRob Herring			MX53_PAD_KEY_ROW3__KPP_ROW_3 0x1f4
283724ba675SRob Herring		>;
284724ba675SRob Herring	};
285724ba675SRob Herring
286*9237be3fSMarek Vasut	pinctrl_rgb24_vga1: rgb24-vga1grp {
287724ba675SRob Herring		fsl,pins = <
288724ba675SRob Herring			MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK		0x5
289724ba675SRob Herring			MX53_PAD_DI0_PIN15__IPU_DI0_PIN15		0x5
290724ba675SRob Herring			MX53_PAD_DI0_PIN2__IPU_DI0_PIN2			0x5
291724ba675SRob Herring			MX53_PAD_DI0_PIN3__IPU_DI0_PIN3			0x5
292724ba675SRob Herring			MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0		0x5
293724ba675SRob Herring			MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1		0x5
294724ba675SRob Herring			MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2		0x5
295724ba675SRob Herring			MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3		0x5
296724ba675SRob Herring			MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4		0x5
297724ba675SRob Herring			MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5		0x5
298724ba675SRob Herring			MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6		0x5
299724ba675SRob Herring			MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7		0x5
300724ba675SRob Herring			MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8		0x5
301724ba675SRob Herring			MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9		0x5
302724ba675SRob Herring			MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10		0x5
303724ba675SRob Herring			MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11		0x5
304724ba675SRob Herring			MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12		0x5
305724ba675SRob Herring			MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13		0x5
306724ba675SRob Herring			MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14		0x5
307724ba675SRob Herring			MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15		0x5
308724ba675SRob Herring			MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16		0x5
309724ba675SRob Herring			MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17		0x5
310724ba675SRob Herring			MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18		0x5
311724ba675SRob Herring			MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19		0x5
312724ba675SRob Herring			MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20		0x5
313724ba675SRob Herring			MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21		0x5
314724ba675SRob Herring			MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22		0x5
315724ba675SRob Herring			MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23		0x5
316724ba675SRob Herring		>;
317724ba675SRob Herring	};
318724ba675SRob Herring
319724ba675SRob Herring	pinctrl_tsc2007: tsc2007grp {
320724ba675SRob Herring		fsl,pins = <
321724ba675SRob Herring			MX53_PAD_EIM_D26__GPIO3_26 0x1f0 /* Interrupt */
322724ba675SRob Herring		>;
323724ba675SRob Herring	};
324724ba675SRob Herring};
325724ba675SRob Herring
326724ba675SRob Herring&ipu_di0_disp0 {
327724ba675SRob Herring	remote-endpoint = <&display0_in>;
328724ba675SRob Herring};
329724ba675SRob Herring
330724ba675SRob Herring&kpp {
331724ba675SRob Herring	pinctrl-names = "default";
332724ba675SRob Herring	pinctrl-0 = <&pinctrl_kpp>;
333724ba675SRob Herring	/* sample keymap */
334724ba675SRob Herring	/* row/col 0,1 are mapped to KPP row/col 6,7 */
335724ba675SRob Herring	linux,keymap = <
336724ba675SRob Herring		MATRIX_KEY(6, 6, KEY_POWER)
337724ba675SRob Herring		MATRIX_KEY(6, 7, KEY_KP0)
338724ba675SRob Herring		MATRIX_KEY(6, 2, KEY_KP1)
339724ba675SRob Herring		MATRIX_KEY(6, 3, KEY_KP2)
340724ba675SRob Herring		MATRIX_KEY(7, 6, KEY_KP3)
341724ba675SRob Herring		MATRIX_KEY(7, 7, KEY_KP4)
342724ba675SRob Herring		MATRIX_KEY(7, 2, KEY_KP5)
343724ba675SRob Herring		MATRIX_KEY(7, 3, KEY_KP6)
344724ba675SRob Herring		MATRIX_KEY(2, 6, KEY_KP7)
345724ba675SRob Herring		MATRIX_KEY(2, 7, KEY_KP8)
346724ba675SRob Herring		MATRIX_KEY(2, 2, KEY_KP9)
347724ba675SRob Herring	>;
348724ba675SRob Herring	status = "okay";
349724ba675SRob Herring};
350