• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 *  a) This file is free software; you can redistribute it and/or
10 *     modify it under the terms of the GNU General Public License
11 *     version 2 as published by the Free Software Foundation.
12 *
13 *     This file is distributed in the hope that it will be useful,
14 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *     GNU General Public License for more details.
17 *
18 * Or, alternatively,
19 *
20 *  b) Permission is hereby granted, free of charge, to any person
21 *     obtaining a copy of this software and associated documentation
22 *     files (the "Software"), to deal in the Software without
23 *     restriction, including without limitation the rights to use,
24 *     copy, modify, merge, publish, distribute, sublicense, and/or
25 *     sell copies of the Software, and to permit persons to whom the
26 *     Software is furnished to do so, subject to the following
27 *     conditions:
28 *
29 *     The above copyright notice and this permission notice shall be
30 *     included in all copies or substantial portions of the Software.
31 *
32 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39 *     OTHER DEALINGS IN THE SOFTWARE.
40 */
41
42/dts-v1/;
43#include "imx6q.dtsi"
44#include "imx6qdl-tx6.dtsi"
45
46/ {
47	model = "Ka-Ro electronics TX6Q-1036 Module";
48	compatible = "karo,imx6q-tx6q", "fsl,imx6q";
49
50	aliases {
51		display = &display;
52	};
53
54	backlight: backlight {
55		compatible = "pwm-backlight";
56		pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
57		pinctrl-names = "default";
58		pinctrl-0 = <&pinctrl_lcd0_pwr>;
59		enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
60		power-supply = <&reg_lcd1_pwr>;
61		/*
62		 * a poor man's way to create a 1:1 relationship between
63		 * the PWM value and the actual duty cycle
64		 */
65		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
66				     10 11 12 13 14 15 16 17 18 19
67				     20 21 22 23 24 25 26 27 28 29
68				     30 31 32 33 34 35 36 37 38 39
69				     40 41 42 43 44 45 46 47 48 49
70				     50 51 52 53 54 55 56 57 58 59
71				     60 61 62 63 64 65 66 67 68 69
72				     70 71 72 73 74 75 76 77 78 79
73				     80 81 82 83 84 85 86 87 88 89
74				     90 91 92 93 94 95 96 97 98 99
75				    100>;
76		default-brightness-level = <50>;
77	};
78
79	display: display@di0 {
80		compatible = "fsl,imx-parallel-display";
81		pinctrl-names = "default";
82		pinctrl-0 = <&pinctrl_disp0_2>;
83		interface-pix-fmt = "rgb24";
84		status = "okay";
85
86		port {
87			display0_in: endpoint {
88				remote-endpoint = <&ipu1_di0_disp0>;
89			};
90		};
91
92		display-timings {
93			native-mode = <&vga>;
94
95			vga: VGA {
96				clock-frequency = <25200000>;
97				hactive = <640>;
98				vactive = <480>;
99				hback-porch = <48>;
100				hsync-len = <96>;
101				hfront-porch = <16>;
102				vback-porch = <31>;
103				vsync-len = <2>;
104				vfront-porch = <12>;
105				hsync-active = <0>;
106				vsync-active = <0>;
107				de-active = <1>;
108				pixelclk-active = <0>;
109			};
110
111			ETV570 {
112				clock-frequency = <25200000>;
113				hactive = <640>;
114				vactive = <480>;
115				hback-porch = <114>;
116				hsync-len = <30>;
117				hfront-porch = <16>;
118				vback-porch = <32>;
119				vsync-len = <3>;
120				vfront-porch = <10>;
121				hsync-active = <0>;
122				vsync-active = <0>;
123				de-active = <1>;
124				pixelclk-active = <0>;
125			};
126
127			ET0350 {
128				clock-frequency = <6413760>;
129				hactive = <320>;
130				vactive = <240>;
131				hback-porch = <34>;
132				hsync-len = <34>;
133				hfront-porch = <20>;
134				vback-porch = <15>;
135				vsync-len = <3>;
136				vfront-porch = <4>;
137				hsync-active = <0>;
138				vsync-active = <0>;
139				de-active = <1>;
140				pixelclk-active = <0>;
141			};
142
143			ET0430 {
144				clock-frequency = <9009000>;
145				hactive = <480>;
146				vactive = <272>;
147				hback-porch = <2>;
148				hsync-len = <41>;
149				hfront-porch = <2>;
150				vback-porch = <2>;
151				vsync-len = <10>;
152				vfront-porch = <2>;
153				hsync-active = <0>;
154				vsync-active = <0>;
155				de-active = <1>;
156				pixelclk-active = <1>;
157			};
158
159			ET0500 {
160				clock-frequency = <33264000>;
161				hactive = <800>;
162				vactive = <480>;
163				hback-porch = <88>;
164				hsync-len = <128>;
165				hfront-porch = <40>;
166				vback-porch = <33>;
167				vsync-len = <2>;
168				vfront-porch = <10>;
169				hsync-active = <0>;
170				vsync-active = <0>;
171				de-active = <1>;
172				pixelclk-active = <0>;
173			};
174
175			ET0700 { /* same as ET0500 */
176				clock-frequency = <33264000>;
177				hactive = <800>;
178				vactive = <480>;
179				hback-porch = <88>;
180				hsync-len = <128>;
181				hfront-porch = <40>;
182				vback-porch = <33>;
183				vsync-len = <2>;
184				vfront-porch = <10>;
185				hsync-active = <0>;
186				vsync-active = <0>;
187				de-active = <1>;
188				pixelclk-active = <0>;
189			};
190
191			ETQ570 {
192				clock-frequency = <6596040>;
193				hactive = <320>;
194				vactive = <240>;
195				hback-porch = <38>;
196				hsync-len = <30>;
197				hfront-porch = <30>;
198				vback-porch = <16>;
199				vsync-len = <3>;
200				vfront-porch = <4>;
201				hsync-active = <0>;
202				vsync-active = <0>;
203				de-active = <1>;
204				pixelclk-active = <0>;
205			};
206		};
207	};
208};
209
210&ds1339 {
211	status = "disabled";
212};
213
214&gpmi {
215	status = "disabled";
216};
217
218&ipu1_di0_disp0 {
219	remote-endpoint = <&display0_in>;
220};
221
222&ipu2 {
223	status = "disabled";
224};
225
226&reg_lcd0_pwr {
227	status = "disabled";
228};
229
230&usdhc4 {
231	pinctrl-names = "default";
232	pinctrl-0 = <&pinctrl_usdhc4>;
233	bus-width = <4>;
234	non-removable;
235	no-1-8-v;
236	fsl,wp-controller;
237	status = "okay";
238};
239
240&iomuxc {
241	pinctrl_usdhc4: usdhc4grp {
242		fsl,pins = <
243			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x070b1
244			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x070b1
245			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x070b1
246			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x070b1
247			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x070b1
248			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x070b1
249			MX6QDL_PAD_NANDF_ALE__SD4_RESET		0x0b0b1
250		>;
251	};
252};
253