blob: 2ca2eb37e14fc8ad44a0724ccfe82c13940be64d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001/*
2 * Copyright 2017 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/ {
43 aliases {
44 display = &lvds0;
45 lvds0 = &lvds0;
46 lvds1 = &lvds1;
47 };
48
49 backlight0: backlight0 {
50 compatible = "pwm-backlight";
51 pwms = <&pwm2 0 500000 0>;
52 power-supply = <&reg_lcd0_pwr>;
53 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
54 10 11 12 13 14 15 16 17 18 19
55 20 21 22 23 24 25 26 27 28 29
56 30 31 32 33 34 35 36 37 38 39
57 40 41 42 43 44 45 46 47 48 49
58 50 51 52 53 54 55 56 57 58 59
59 60 61 62 63 64 65 66 67 68 69
60 70 71 72 73 74 75 76 77 78 79
61 80 81 82 83 84 85 86 87 88 89
62 90 91 92 93 94 95 96 97 98 99
63 100>;
64 default-brightness-level = <50>;
65 };
66
67 backlight1: backlight1 {
68 compatible = "pwm-backlight";
69 pwms = <&pwm1 0 500000 0>;
70 power-supply = <&reg_lcd1_pwr>;
71 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
72 10 11 12 13 14 15 16 17 18 19
73 20 21 22 23 24 25 26 27 28 29
74 30 31 32 33 34 35 36 37 38 39
75 40 41 42 43 44 45 46 47 48 49
76 50 51 52 53 54 55 56 57 58 59
77 60 61 62 63 64 65 66 67 68 69
78 70 71 72 73 74 75 76 77 78 79
79 80 81 82 83 84 85 86 87 88 89
80 90 91 92 93 94 95 96 97 98 99
81 100>;
82 default-brightness-level = <50>;
83 };
84
85 lvds0_panel: lvds0-panel {
86 compatible = "nlt,nl12880bc20-spwg-24";
87 backlight = <&backlight0>;
88 power-supply = <&reg_3v3>;
89
90 port {
91 panel_in_lvds0: endpoint {
92 remote-endpoint = <&lvds0_out>;
93 };
94 };
95 };
96
97 lvds1_panel: lvds1-panel {
98 compatible = "nlt,nl12880bc20-spwg-24";
99 backlight = <&backlight1>;
100 power-supply = <&reg_3v3>;
101
102 port {
103 panel_in_lvds1: endpoint {
104 remote-endpoint = <&lvds1_out>;
105 };
106 };
107 };
108};
109
110&kpp {
111 status = "disabled"; /* pad conflict with backlight1 PWM */
112};
113
114&ldb {
115 status = "okay";
116
117 lvds0: lvds-channel@0 {
118 fsl,data-width = <18>;
119 status = "okay";
120
121 port@4 {
122 reg = <4>;
123
124 lvds0_out: endpoint {
125 remote-endpoint = <&panel_in_lvds0>;
126 };
127 };
128
129 display-timings {
130 hsd100pxn1 {
131 u-boot,panel-name = "hannstar,hsd100pxn1";
132 clock-frequency = <65000000>;
133 hactive = <1024>;
134 vactive = <768>;
135 hback-porch = <220>;
136 hfront-porch = <40>;
137 vback-porch = <21>;
138 vfront-porch = <7>;
139 hsync-len = <60>;
140 vsync-len = <10>;
141 de-active = <1>;
142 pixelclk-active = <1>;
143 };
144
145 VGA {
146 clock-frequency = <25200000>;
147 hactive = <640>;
148 vactive = <480>;
149 hback-porch = <48>;
150 hfront-porch = <16>;
151 vback-porch = <31>;
152 vfront-porch = <12>;
153 hsync-len = <96>;
154 vsync-len = <2>;
155 hsync-active = <0>;
156 vsync-active = <0>;
157 de-active = <1>;
158 pixelclk-active = <0>;
159 };
160
161 nl12880bc20 {
162 u-boot,panel-name = "nlt,nl12880bc20-spwg-24";
163 clock-frequency = <71000000>;
164 hactive = <1280>;
165 vactive = <800>;
166 hback-porch = <50>;
167 hfront-porch = <50>;
168 vback-porch = <5>;
169 vfront-porch = <5>;
170 hsync-len = <60>;
171 vsync-len = <13>;
172 hsync-active = <0>;
173 vsync-active = <0>;
174 de-active = <1>;
175 pixelclk-active = <1>;
176 };
177
178 ET0700 {
179 u-boot,panel-name = "edt,etm0700g0dh6";
180 clock-frequency = <33264000>;
181 hactive = <800>;
182 vactive = <480>;
183 hback-porch = <88>;
184 hsync-len = <128>;
185 hfront-porch = <40>;
186 vback-porch = <33>;
187 vsync-len = <2>;
188 vfront-porch = <10>;
189 hsync-active = <0>;
190 vsync-active = <0>;
191 de-active = <1>;
192 pixelclk-active = <0>;
193 };
194
195 ETV570 {
196 u-boot,panel-name = "edt,et057090dhu";
197 clock-frequency = <25200000>;
198 hactive = <640>;
199 vactive = <480>;
200 hback-porch = <114>;
201 hsync-len = <30>;
202 hfront-porch = <16>;
203 vback-porch = <32>;
204 vsync-len = <3>;
205 vfront-porch = <10>;
206 hsync-active = <0>;
207 vsync-active = <0>;
208 de-active = <1>;
209 pixelclk-active = <0>;
210 };
211 };
212 };
213
214 lvds1: lvds-channel@1 {
215 fsl,data-width = <18>;
216 status = "okay";
217
218 port@4 {
219 reg = <4>;
220
221 lvds1_out: endpoint {
222 remote-endpoint = <&panel_in_lvds1>;
223 };
224 };
225
226 display-timings {
227 hsd100pxn1 {
228 clock-frequency = <65000000>;
229 hactive = <1024>;
230 vactive = <768>;
231 hback-porch = <220>;
232 hfront-porch = <40>;
233 vback-porch = <21>;
234 vfront-porch = <7>;
235 hsync-len = <60>;
236 vsync-len = <10>;
237 de-active = <1>;
238 pixelclk-active = <1>;
239 };
240
241 VGA {
242 clock-frequency = <25200000>;
243 hactive = <640>;
244 vactive = <480>;
245 hback-porch = <48>;
246 hfront-porch = <16>;
247 vback-porch = <31>;
248 vfront-porch = <12>;
249 hsync-len = <96>;
250 vsync-len = <2>;
251 hsync-active = <0>;
252 vsync-active = <0>;
253 de-active = <1>;
254 pixelclk-active = <0>;
255 };
256
257 nl12880bc20 {
258 clock-frequency = <71000000>;
259 hactive = <1280>;
260 vactive = <800>;
261 hback-porch = <50>;
262 hfront-porch = <50>;
263 vback-porch = <5>;
264 vfront-porch = <5>;
265 hsync-len = <60>;
266 vsync-len = <13>;
267 hsync-active = <0>;
268 vsync-active = <0>;
269 de-active = <1>;
270 pixelclk-active = <1>;
271 };
272 };
273 };
274};
275
276&pwm1 {
277 status = "okay";
278};
279
280&reg_lcd0_pwr {
281 status = "okay";
282};
283
284&reg_lcd1_pwr {
285 status = "okay";
286};