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