xref: /linux/arch/arm/boot/dts/nxp/imx/imx6qdl-tx6-lvds.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
2/*
3 * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
4 */
5
6/ {
7	aliases {
8		display = &lvds0;
9		lvds0 = &lvds0;
10		lvds1 = &lvds1;
11	};
12
13	backlight0: backlight0 {
14		compatible = "pwm-backlight";
15		pwms = <&pwm2 0 500000 0>;
16		power-supply = <&reg_lcd0_pwr>;
17		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
18				     10 11 12 13 14 15 16 17 18 19
19				     20 21 22 23 24 25 26 27 28 29
20				     30 31 32 33 34 35 36 37 38 39
21				     40 41 42 43 44 45 46 47 48 49
22				     50 51 52 53 54 55 56 57 58 59
23				     60 61 62 63 64 65 66 67 68 69
24				     70 71 72 73 74 75 76 77 78 79
25				     80 81 82 83 84 85 86 87 88 89
26				     90 91 92 93 94 95 96 97 98 99
27				    100>;
28		default-brightness-level = <50>;
29	};
30
31	backlight1: backlight1 {
32		compatible = "pwm-backlight";
33		pwms = <&pwm1 0 500000 0>;
34		power-supply = <&reg_lcd1_pwr>;
35		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
36				     10 11 12 13 14 15 16 17 18 19
37				     20 21 22 23 24 25 26 27 28 29
38				     30 31 32 33 34 35 36 37 38 39
39				     40 41 42 43 44 45 46 47 48 49
40				     50 51 52 53 54 55 56 57 58 59
41				     60 61 62 63 64 65 66 67 68 69
42				     70 71 72 73 74 75 76 77 78 79
43				     80 81 82 83 84 85 86 87 88 89
44				     90 91 92 93 94 95 96 97 98 99
45				    100>;
46		default-brightness-level = <50>;
47	};
48
49	lvds0_panel: lvds0-panel {
50		compatible = "nlt,nl12880bc20-spwg-24";
51		backlight = <&backlight0>;
52		power-supply = <&reg_3v3>;
53
54		port {
55			panel_in_lvds0: endpoint {
56				remote-endpoint = <&lvds0_out>;
57			};
58		};
59	};
60
61	lvds1_panel: lvds1-panel {
62		compatible = "nlt,nl12880bc20-spwg-24";
63		backlight = <&backlight1>;
64		power-supply = <&reg_3v3>;
65
66		port {
67			panel_in_lvds1: endpoint {
68				remote-endpoint = <&lvds1_out>;
69			};
70		};
71	};
72};
73
74&kpp {
75	status = "disabled"; /* pad conflict with backlight1 PWM */
76};
77
78&ldb {
79	status = "okay";
80
81	lvds0: lvds-channel@0 {
82		fsl,data-width = <18>;
83		status = "okay";
84
85		port@4 {
86			reg = <4>;
87
88			lvds0_out: endpoint {
89				remote-endpoint = <&panel_in_lvds0>;
90			};
91		};
92
93		display-timings {
94			timing-hsd100pxn1 {
95				clock-frequency = <65000000>;
96				hactive = <1024>;
97				vactive = <768>;
98				hback-porch = <220>;
99				hfront-porch = <40>;
100				vback-porch = <21>;
101				vfront-porch = <7>;
102				hsync-len = <60>;
103				vsync-len = <10>;
104				de-active = <1>;
105				pixelclk-active = <1>;
106			};
107
108			timing-vga {
109				clock-frequency = <25200000>;
110				hactive = <640>;
111				vactive = <480>;
112				hback-porch = <48>;
113				hfront-porch = <16>;
114				vback-porch = <31>;
115				vfront-porch = <12>;
116				hsync-len = <96>;
117				vsync-len = <2>;
118				hsync-active = <0>;
119				vsync-active = <0>;
120				de-active = <1>;
121				pixelclk-active = <0>;
122			};
123
124			timing-nl12880bc20 {
125				clock-frequency = <71000000>;
126				hactive = <1280>;
127				vactive = <800>;
128				hback-porch = <50>;
129				hfront-porch = <50>;
130				vback-porch = <5>;
131				vfront-porch = <5>;
132				hsync-len = <60>;
133				vsync-len = <13>;
134				hsync-active = <0>;
135				vsync-active = <0>;
136				de-active = <1>;
137				pixelclk-active = <1>;
138			};
139
140			timing-et0700 {
141				clock-frequency = <33264000>;
142				hactive = <800>;
143				vactive = <480>;
144				hback-porch = <88>;
145				hsync-len = <128>;
146				hfront-porch = <40>;
147				vback-porch = <33>;
148				vsync-len = <2>;
149				vfront-porch = <10>;
150				hsync-active = <0>;
151				vsync-active = <0>;
152				de-active = <1>;
153				pixelclk-active = <0>;
154			};
155
156			timing-etv570 {
157				clock-frequency = <25200000>;
158				hactive = <640>;
159				vactive = <480>;
160				hback-porch = <114>;
161				hsync-len = <30>;
162				hfront-porch = <16>;
163				vback-porch = <32>;
164				vsync-len = <3>;
165				vfront-porch = <10>;
166				hsync-active = <0>;
167				vsync-active = <0>;
168				de-active = <1>;
169				pixelclk-active = <0>;
170			};
171		};
172	};
173
174	lvds1: lvds-channel@1 {
175		fsl,data-width = <18>;
176		status = "okay";
177
178		port@4 {
179			reg = <4>;
180
181			lvds1_out: endpoint {
182				remote-endpoint = <&panel_in_lvds1>;
183			};
184		};
185
186		display-timings {
187			timing-hsd100pxn1 {
188				clock-frequency = <65000000>;
189				hactive = <1024>;
190				vactive = <768>;
191				hback-porch = <220>;
192				hfront-porch = <40>;
193				vback-porch = <21>;
194				vfront-porch = <7>;
195				hsync-len = <60>;
196				vsync-len = <10>;
197				de-active = <1>;
198				pixelclk-active = <1>;
199			};
200
201			timing-vga {
202				clock-frequency = <25200000>;
203				hactive = <640>;
204				vactive = <480>;
205				hback-porch = <48>;
206				hfront-porch = <16>;
207				vback-porch = <31>;
208				vfront-porch = <12>;
209				hsync-len = <96>;
210				vsync-len = <2>;
211				hsync-active = <0>;
212				vsync-active = <0>;
213				de-active = <1>;
214				pixelclk-active = <0>;
215			};
216
217			timing-nl12880bc20 {
218				clock-frequency = <71000000>;
219				hactive = <1280>;
220				vactive = <800>;
221				hback-porch = <50>;
222				hfront-porch = <50>;
223				vback-porch = <5>;
224				vfront-porch = <5>;
225				hsync-len = <60>;
226				vsync-len = <13>;
227				hsync-active = <0>;
228				vsync-active = <0>;
229				de-active = <1>;
230				pixelclk-active = <1>;
231			};
232		};
233	};
234};
235
236&pwm1 {
237	status = "okay";
238};
239
240&reg_lcd0_pwr {
241	status = "okay";
242};
243
244&reg_lcd1_pwr {
245	status = "okay";
246};
247