• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright 2015-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 "imx6dl.dtsi"
44#include "imx6qdl-tx6.dtsi"
45
46/ {
47	model = "Ka-Ro electronics TX6S-8035 Module";
48	compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
49
50	aliases {
51		display = &display;
52		ipu1 = &ipu1;
53	};
54
55	cpus {
56		/delete-node/ cpu@1;
57	};
58
59	backlight: backlight {
60		compatible = "pwm-backlight";
61		pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
62		pinctrl-names = "default";
63		pinctrl-0 = <&pinctrl_lcd0_pwr>;
64		enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
65		power-supply = <&reg_lcd1_pwr>;
66		/*
67		 * a poor man's way to create a 1:1 relationship between
68		 * the PWM value and the actual duty cycle
69		 */
70		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
71				     10 11 12 13 14 15 16 17 18 19
72				     20 21 22 23 24 25 26 27 28 29
73				     30 31 32 33 34 35 36 37 38 39
74				     40 41 42 43 44 45 46 47 48 49
75				     50 51 52 53 54 55 56 57 58 59
76				     60 61 62 63 64 65 66 67 68 69
77				     70 71 72 73 74 75 76 77 78 79
78				     80 81 82 83 84 85 86 87 88 89
79				     90 91 92 93 94 95 96 97 98 99
80				    100>;
81		default-brightness-level = <50>;
82	};
83
84	display: display@di0 {
85		compatible = "fsl,imx-parallel-display";
86		pinctrl-names = "default";
87		pinctrl-0 = <&pinctrl_disp0_2>;
88		interface-pix-fmt = "rgb24";
89		status = "okay";
90
91		port {
92			display0_in: endpoint {
93				remote-endpoint = <&ipu1_di0_disp0>;
94			};
95		};
96
97		display-timings {
98			native-mode = <&vga>;
99
100			vga: VGA {
101				clock-frequency = <25200000>;
102				hactive = <640>;
103				vactive = <480>;
104				hback-porch = <48>;
105				hsync-len = <96>;
106				hfront-porch = <16>;
107				vback-porch = <31>;
108				vsync-len = <2>;
109				vfront-porch = <12>;
110				hsync-active = <0>;
111				vsync-active = <0>;
112				de-active = <1>;
113				pixelclk-active = <0>;
114			};
115
116			ETV570 {
117				clock-frequency = <25200000>;
118				hactive = <640>;
119				vactive = <480>;
120				hback-porch = <114>;
121				hsync-len = <30>;
122				hfront-porch = <16>;
123				vback-porch = <32>;
124				vsync-len = <3>;
125				vfront-porch = <10>;
126				hsync-active = <0>;
127				vsync-active = <0>;
128				de-active = <1>;
129				pixelclk-active = <0>;
130			};
131
132			ET0350 {
133				clock-frequency = <6413760>;
134				hactive = <320>;
135				vactive = <240>;
136				hback-porch = <34>;
137				hsync-len = <34>;
138				hfront-porch = <20>;
139				vback-porch = <15>;
140				vsync-len = <3>;
141				vfront-porch = <4>;
142				hsync-active = <0>;
143				vsync-active = <0>;
144				de-active = <1>;
145				pixelclk-active = <0>;
146			};
147
148			ET0430 {
149				clock-frequency = <9009000>;
150				hactive = <480>;
151				vactive = <272>;
152				hback-porch = <2>;
153				hsync-len = <41>;
154				hfront-porch = <2>;
155				vback-porch = <2>;
156				vsync-len = <10>;
157				vfront-porch = <2>;
158				hsync-active = <0>;
159				vsync-active = <0>;
160				de-active = <1>;
161				pixelclk-active = <1>;
162			};
163
164			ET0500 {
165				clock-frequency = <33264000>;
166				hactive = <800>;
167				vactive = <480>;
168				hback-porch = <88>;
169				hsync-len = <128>;
170				hfront-porch = <40>;
171				vback-porch = <33>;
172				vsync-len = <2>;
173				vfront-porch = <10>;
174				hsync-active = <0>;
175				vsync-active = <0>;
176				de-active = <1>;
177				pixelclk-active = <0>;
178			};
179
180			ET0700 { /* same as ET0500 */
181				clock-frequency = <33264000>;
182				hactive = <800>;
183				vactive = <480>;
184				hback-porch = <88>;
185				hsync-len = <128>;
186				hfront-porch = <40>;
187				vback-porch = <33>;
188				vsync-len = <2>;
189				vfront-porch = <10>;
190				hsync-active = <0>;
191				vsync-active = <0>;
192				de-active = <1>;
193				pixelclk-active = <0>;
194			};
195
196			ETQ570 {
197				clock-frequency = <6596040>;
198				hactive = <320>;
199				vactive = <240>;
200				hback-porch = <38>;
201				hsync-len = <30>;
202				hfront-porch = <30>;
203				vback-porch = <16>;
204				vsync-len = <3>;
205				vfront-porch = <4>;
206				hsync-active = <0>;
207				vsync-active = <0>;
208				de-active = <1>;
209				pixelclk-active = <0>;
210			};
211		};
212	};
213};
214
215&ds1339 {
216	status = "disabled";
217};
218
219&gpmi {
220	status = "disabled";
221};
222
223&ipu1_di0_disp0 {
224	remote-endpoint = <&display0_in>;
225};
226
227&reg_lcd0_pwr {
228	status = "disabled";
229};
230
231&usdhc4 {
232	pinctrl-names = "default";
233	pinctrl-0 = <&pinctrl_usdhc4>;
234	bus-width = <4>;
235	non-removable;
236	no-1-8-v;
237	fsl,wp-controller;
238	status = "okay";
239};
240
241&iomuxc {
242	pinctrl_usdhc4: usdhc4grp {
243		fsl,pins = <
244			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x070b1
245			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x070b1
246			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x070b1
247			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x070b1
248			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x070b1
249			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x070b1
250			MX6QDL_PAD_NANDF_ALE__SD4_RESET		0x0b0b1
251		>;
252	};
253};
254