]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/imx53-tx53-x03x.dts
Merge remote-tracking branch 'usb-chipidea-fixes/ci-for-usb-stable'
[karo-tx-linux.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/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 };