xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6qdl-tx6-lvds.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot/*
2f126890aSEmmanuel Vadot * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
3f126890aSEmmanuel Vadot *
4f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
5f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
6f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
7f126890aSEmmanuel Vadot * whole.
8f126890aSEmmanuel Vadot *
9f126890aSEmmanuel Vadot *  a) This file is free software; you can redistribute it and/or
10f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License
11f126890aSEmmanuel Vadot *     version 2 as published by the Free Software Foundation.
12f126890aSEmmanuel Vadot *
13f126890aSEmmanuel Vadot *     This file is distributed in the hope that it will be useful,
14f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16f126890aSEmmanuel Vadot *     GNU General Public License for more details.
17f126890aSEmmanuel Vadot *
18f126890aSEmmanuel Vadot * Or, alternatively,
19f126890aSEmmanuel Vadot *
20f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
21f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
22f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
23f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
24f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
25f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
26f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
27f126890aSEmmanuel Vadot *     conditions:
28f126890aSEmmanuel Vadot *
29f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
30f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
31f126890aSEmmanuel Vadot *
32f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
40f126890aSEmmanuel Vadot */
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot/ {
43f126890aSEmmanuel Vadot	aliases {
44f126890aSEmmanuel Vadot		display = &lvds0;
45f126890aSEmmanuel Vadot		lvds0 = &lvds0;
46f126890aSEmmanuel Vadot		lvds1 = &lvds1;
47f126890aSEmmanuel Vadot	};
48f126890aSEmmanuel Vadot
49f126890aSEmmanuel Vadot	backlight0: backlight0 {
50f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
51f126890aSEmmanuel Vadot		pwms = <&pwm2 0 500000 0>;
52f126890aSEmmanuel Vadot		power-supply = <&reg_lcd0_pwr>;
53f126890aSEmmanuel Vadot		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
54f126890aSEmmanuel Vadot				     10 11 12 13 14 15 16 17 18 19
55f126890aSEmmanuel Vadot				     20 21 22 23 24 25 26 27 28 29
56f126890aSEmmanuel Vadot				     30 31 32 33 34 35 36 37 38 39
57f126890aSEmmanuel Vadot				     40 41 42 43 44 45 46 47 48 49
58f126890aSEmmanuel Vadot				     50 51 52 53 54 55 56 57 58 59
59f126890aSEmmanuel Vadot				     60 61 62 63 64 65 66 67 68 69
60f126890aSEmmanuel Vadot				     70 71 72 73 74 75 76 77 78 79
61f126890aSEmmanuel Vadot				     80 81 82 83 84 85 86 87 88 89
62f126890aSEmmanuel Vadot				     90 91 92 93 94 95 96 97 98 99
63f126890aSEmmanuel Vadot				    100>;
64f126890aSEmmanuel Vadot		default-brightness-level = <50>;
65f126890aSEmmanuel Vadot	};
66f126890aSEmmanuel Vadot
67f126890aSEmmanuel Vadot	backlight1: backlight1 {
68f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
69f126890aSEmmanuel Vadot		pwms = <&pwm1 0 500000 0>;
70f126890aSEmmanuel Vadot		power-supply = <&reg_lcd1_pwr>;
71f126890aSEmmanuel Vadot		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
72f126890aSEmmanuel Vadot				     10 11 12 13 14 15 16 17 18 19
73f126890aSEmmanuel Vadot				     20 21 22 23 24 25 26 27 28 29
74f126890aSEmmanuel Vadot				     30 31 32 33 34 35 36 37 38 39
75f126890aSEmmanuel Vadot				     40 41 42 43 44 45 46 47 48 49
76f126890aSEmmanuel Vadot				     50 51 52 53 54 55 56 57 58 59
77f126890aSEmmanuel Vadot				     60 61 62 63 64 65 66 67 68 69
78f126890aSEmmanuel Vadot				     70 71 72 73 74 75 76 77 78 79
79f126890aSEmmanuel Vadot				     80 81 82 83 84 85 86 87 88 89
80f126890aSEmmanuel Vadot				     90 91 92 93 94 95 96 97 98 99
81f126890aSEmmanuel Vadot				    100>;
82f126890aSEmmanuel Vadot		default-brightness-level = <50>;
83f126890aSEmmanuel Vadot	};
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot	lvds0_panel: lvds0-panel {
86f126890aSEmmanuel Vadot		compatible = "nlt,nl12880bc20-spwg-24";
87f126890aSEmmanuel Vadot		backlight = <&backlight0>;
88f126890aSEmmanuel Vadot		power-supply = <&reg_3v3>;
89f126890aSEmmanuel Vadot
90f126890aSEmmanuel Vadot		port {
91f126890aSEmmanuel Vadot			panel_in_lvds0: endpoint {
92f126890aSEmmanuel Vadot				remote-endpoint = <&lvds0_out>;
93f126890aSEmmanuel Vadot			};
94f126890aSEmmanuel Vadot		};
95f126890aSEmmanuel Vadot	};
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot	lvds1_panel: lvds1-panel {
98f126890aSEmmanuel Vadot		compatible = "nlt,nl12880bc20-spwg-24";
99f126890aSEmmanuel Vadot		backlight = <&backlight1>;
100f126890aSEmmanuel Vadot		power-supply = <&reg_3v3>;
101f126890aSEmmanuel Vadot
102f126890aSEmmanuel Vadot		port {
103f126890aSEmmanuel Vadot			panel_in_lvds1: endpoint {
104f126890aSEmmanuel Vadot				remote-endpoint = <&lvds1_out>;
105f126890aSEmmanuel Vadot			};
106f126890aSEmmanuel Vadot		};
107f126890aSEmmanuel Vadot	};
108f126890aSEmmanuel Vadot};
109f126890aSEmmanuel Vadot
110f126890aSEmmanuel Vadot&kpp {
111f126890aSEmmanuel Vadot	status = "disabled"; /* pad conflict with backlight1 PWM */
112f126890aSEmmanuel Vadot};
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot&ldb {
115f126890aSEmmanuel Vadot	status = "okay";
116f126890aSEmmanuel Vadot
117f126890aSEmmanuel Vadot	lvds0: lvds-channel@0 {
118f126890aSEmmanuel Vadot		fsl,data-width = <18>;
119f126890aSEmmanuel Vadot		status = "okay";
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot		port@4 {
122f126890aSEmmanuel Vadot			reg = <4>;
123f126890aSEmmanuel Vadot
124f126890aSEmmanuel Vadot			lvds0_out: endpoint {
125f126890aSEmmanuel Vadot				remote-endpoint = <&panel_in_lvds0>;
126f126890aSEmmanuel Vadot			};
127f126890aSEmmanuel Vadot		};
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot		display-timings {
130*0e8011faSEmmanuel Vadot			timing-hsd100pxn1 {
131f126890aSEmmanuel Vadot				clock-frequency = <65000000>;
132f126890aSEmmanuel Vadot				hactive = <1024>;
133f126890aSEmmanuel Vadot				vactive = <768>;
134f126890aSEmmanuel Vadot				hback-porch = <220>;
135f126890aSEmmanuel Vadot				hfront-porch = <40>;
136f126890aSEmmanuel Vadot				vback-porch = <21>;
137f126890aSEmmanuel Vadot				vfront-porch = <7>;
138f126890aSEmmanuel Vadot				hsync-len = <60>;
139f126890aSEmmanuel Vadot				vsync-len = <10>;
140f126890aSEmmanuel Vadot				de-active = <1>;
141f126890aSEmmanuel Vadot				pixelclk-active = <1>;
142f126890aSEmmanuel Vadot			};
143f126890aSEmmanuel Vadot
144*0e8011faSEmmanuel Vadot			timing-vga {
145f126890aSEmmanuel Vadot				clock-frequency = <25200000>;
146f126890aSEmmanuel Vadot				hactive = <640>;
147f126890aSEmmanuel Vadot				vactive = <480>;
148f126890aSEmmanuel Vadot				hback-porch = <48>;
149f126890aSEmmanuel Vadot				hfront-porch = <16>;
150f126890aSEmmanuel Vadot				vback-porch = <31>;
151f126890aSEmmanuel Vadot				vfront-porch = <12>;
152f126890aSEmmanuel Vadot				hsync-len = <96>;
153f126890aSEmmanuel Vadot				vsync-len = <2>;
154f126890aSEmmanuel Vadot				hsync-active = <0>;
155f126890aSEmmanuel Vadot				vsync-active = <0>;
156f126890aSEmmanuel Vadot				de-active = <1>;
157f126890aSEmmanuel Vadot				pixelclk-active = <0>;
158f126890aSEmmanuel Vadot			};
159f126890aSEmmanuel Vadot
160*0e8011faSEmmanuel Vadot			timing-nl12880bc20 {
161f126890aSEmmanuel Vadot				clock-frequency = <71000000>;
162f126890aSEmmanuel Vadot				hactive = <1280>;
163f126890aSEmmanuel Vadot				vactive = <800>;
164f126890aSEmmanuel Vadot				hback-porch = <50>;
165f126890aSEmmanuel Vadot				hfront-porch = <50>;
166f126890aSEmmanuel Vadot				vback-porch = <5>;
167f126890aSEmmanuel Vadot				vfront-porch = <5>;
168f126890aSEmmanuel Vadot				hsync-len = <60>;
169f126890aSEmmanuel Vadot				vsync-len = <13>;
170f126890aSEmmanuel Vadot				hsync-active = <0>;
171f126890aSEmmanuel Vadot				vsync-active = <0>;
172f126890aSEmmanuel Vadot				de-active = <1>;
173f126890aSEmmanuel Vadot				pixelclk-active = <1>;
174f126890aSEmmanuel Vadot			};
175f126890aSEmmanuel Vadot
176*0e8011faSEmmanuel Vadot			timing-et0700 {
177f126890aSEmmanuel Vadot				clock-frequency = <33264000>;
178f126890aSEmmanuel Vadot				hactive = <800>;
179f126890aSEmmanuel Vadot				vactive = <480>;
180f126890aSEmmanuel Vadot				hback-porch = <88>;
181f126890aSEmmanuel Vadot				hsync-len = <128>;
182f126890aSEmmanuel Vadot				hfront-porch = <40>;
183f126890aSEmmanuel Vadot				vback-porch = <33>;
184f126890aSEmmanuel Vadot				vsync-len = <2>;
185f126890aSEmmanuel Vadot				vfront-porch = <10>;
186f126890aSEmmanuel Vadot				hsync-active = <0>;
187f126890aSEmmanuel Vadot				vsync-active = <0>;
188f126890aSEmmanuel Vadot				de-active = <1>;
189f126890aSEmmanuel Vadot				pixelclk-active = <0>;
190f126890aSEmmanuel Vadot			};
191f126890aSEmmanuel Vadot
192*0e8011faSEmmanuel Vadot			timing-etv570 {
193f126890aSEmmanuel Vadot				clock-frequency = <25200000>;
194f126890aSEmmanuel Vadot				hactive = <640>;
195f126890aSEmmanuel Vadot				vactive = <480>;
196f126890aSEmmanuel Vadot				hback-porch = <114>;
197f126890aSEmmanuel Vadot				hsync-len = <30>;
198f126890aSEmmanuel Vadot				hfront-porch = <16>;
199f126890aSEmmanuel Vadot				vback-porch = <32>;
200f126890aSEmmanuel Vadot				vsync-len = <3>;
201f126890aSEmmanuel Vadot				vfront-porch = <10>;
202f126890aSEmmanuel Vadot				hsync-active = <0>;
203f126890aSEmmanuel Vadot				vsync-active = <0>;
204f126890aSEmmanuel Vadot				de-active = <1>;
205f126890aSEmmanuel Vadot				pixelclk-active = <0>;
206f126890aSEmmanuel Vadot			};
207f126890aSEmmanuel Vadot		};
208f126890aSEmmanuel Vadot	};
209f126890aSEmmanuel Vadot
210f126890aSEmmanuel Vadot	lvds1: lvds-channel@1 {
211f126890aSEmmanuel Vadot		fsl,data-width = <18>;
212f126890aSEmmanuel Vadot		status = "okay";
213f126890aSEmmanuel Vadot
214f126890aSEmmanuel Vadot		port@4 {
215f126890aSEmmanuel Vadot			reg = <4>;
216f126890aSEmmanuel Vadot
217f126890aSEmmanuel Vadot			lvds1_out: endpoint {
218f126890aSEmmanuel Vadot				remote-endpoint = <&panel_in_lvds1>;
219f126890aSEmmanuel Vadot			};
220f126890aSEmmanuel Vadot		};
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot		display-timings {
223*0e8011faSEmmanuel Vadot			timing-hsd100pxn1 {
224f126890aSEmmanuel Vadot				clock-frequency = <65000000>;
225f126890aSEmmanuel Vadot				hactive = <1024>;
226f126890aSEmmanuel Vadot				vactive = <768>;
227f126890aSEmmanuel Vadot				hback-porch = <220>;
228f126890aSEmmanuel Vadot				hfront-porch = <40>;
229f126890aSEmmanuel Vadot				vback-porch = <21>;
230f126890aSEmmanuel Vadot				vfront-porch = <7>;
231f126890aSEmmanuel Vadot				hsync-len = <60>;
232f126890aSEmmanuel Vadot				vsync-len = <10>;
233f126890aSEmmanuel Vadot				de-active = <1>;
234f126890aSEmmanuel Vadot				pixelclk-active = <1>;
235f126890aSEmmanuel Vadot			};
236f126890aSEmmanuel Vadot
237*0e8011faSEmmanuel Vadot			timing-vga {
238f126890aSEmmanuel Vadot				clock-frequency = <25200000>;
239f126890aSEmmanuel Vadot				hactive = <640>;
240f126890aSEmmanuel Vadot				vactive = <480>;
241f126890aSEmmanuel Vadot				hback-porch = <48>;
242f126890aSEmmanuel Vadot				hfront-porch = <16>;
243f126890aSEmmanuel Vadot				vback-porch = <31>;
244f126890aSEmmanuel Vadot				vfront-porch = <12>;
245f126890aSEmmanuel Vadot				hsync-len = <96>;
246f126890aSEmmanuel Vadot				vsync-len = <2>;
247f126890aSEmmanuel Vadot				hsync-active = <0>;
248f126890aSEmmanuel Vadot				vsync-active = <0>;
249f126890aSEmmanuel Vadot				de-active = <1>;
250f126890aSEmmanuel Vadot				pixelclk-active = <0>;
251f126890aSEmmanuel Vadot			};
252f126890aSEmmanuel Vadot
253*0e8011faSEmmanuel Vadot			timing-nl12880bc20 {
254f126890aSEmmanuel Vadot				clock-frequency = <71000000>;
255f126890aSEmmanuel Vadot				hactive = <1280>;
256f126890aSEmmanuel Vadot				vactive = <800>;
257f126890aSEmmanuel Vadot				hback-porch = <50>;
258f126890aSEmmanuel Vadot				hfront-porch = <50>;
259f126890aSEmmanuel Vadot				vback-porch = <5>;
260f126890aSEmmanuel Vadot				vfront-porch = <5>;
261f126890aSEmmanuel Vadot				hsync-len = <60>;
262f126890aSEmmanuel Vadot				vsync-len = <13>;
263f126890aSEmmanuel Vadot				hsync-active = <0>;
264f126890aSEmmanuel Vadot				vsync-active = <0>;
265f126890aSEmmanuel Vadot				de-active = <1>;
266f126890aSEmmanuel Vadot				pixelclk-active = <1>;
267f126890aSEmmanuel Vadot			};
268f126890aSEmmanuel Vadot		};
269f126890aSEmmanuel Vadot	};
270f126890aSEmmanuel Vadot};
271f126890aSEmmanuel Vadot
272f126890aSEmmanuel Vadot&pwm1 {
273f126890aSEmmanuel Vadot	status = "okay";
274f126890aSEmmanuel Vadot};
275f126890aSEmmanuel Vadot
276f126890aSEmmanuel Vadot&reg_lcd0_pwr {
277f126890aSEmmanuel Vadot	status = "okay";
278f126890aSEmmanuel Vadot};
279f126890aSEmmanuel Vadot
280f126890aSEmmanuel Vadot&reg_lcd1_pwr {
281f126890aSEmmanuel Vadot	status = "okay";
282f126890aSEmmanuel Vadot};
283