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