0001 /*
0002 * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
0003 *
0004 * This file is dual-licensed: you can use it either under the terms
0005 * of the GPL or the X11 license, at your option. Note that this dual
0006 * licensing only applies to this file, and not this project as a
0007 * whole.
0008 *
0009 * a) This file is free software; you can redistribute it and/or
0010 * modify it under the terms of the GNU General Public License
0011 * version 2 as published by the Free Software Foundation.
0012 *
0013 * This file is distributed in the hope that it will be useful,
0014 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0016 * GNU General Public License for more details.
0017 *
0018 * Or, alternatively,
0019 *
0020 * b) Permission is hereby granted, free of charge, to any person
0021 * obtaining a copy of this software and associated documentation
0022 * files (the "Software"), to deal in the Software without
0023 * restriction, including without limitation the rights to use,
0024 * copy, modify, merge, publish, distribute, sublicense, and/or
0025 * sell copies of the Software, and to permit persons to whom the
0026 * Software is furnished to do so, subject to the following
0027 * conditions:
0028 *
0029 * The above copyright notice and this permission notice shall be
0030 * included in all copies or substantial portions of the Software.
0031 *
0032 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0033 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
0034 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
0035 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
0036 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
0037 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0038 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0039 * OTHER DEALINGS IN THE SOFTWARE.
0040 */
0041
0042 / {
0043 aliases {
0044 display = &lvds0;
0045 lvds0 = &lvds0;
0046 lvds1 = &lvds1;
0047 };
0048
0049 backlight0: backlight0 {
0050 compatible = "pwm-backlight";
0051 pwms = <&pwm2 0 500000 0>;
0052 power-supply = <®_lcd0_pwr>;
0053 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
0054 10 11 12 13 14 15 16 17 18 19
0055 20 21 22 23 24 25 26 27 28 29
0056 30 31 32 33 34 35 36 37 38 39
0057 40 41 42 43 44 45 46 47 48 49
0058 50 51 52 53 54 55 56 57 58 59
0059 60 61 62 63 64 65 66 67 68 69
0060 70 71 72 73 74 75 76 77 78 79
0061 80 81 82 83 84 85 86 87 88 89
0062 90 91 92 93 94 95 96 97 98 99
0063 100>;
0064 default-brightness-level = <50>;
0065 };
0066
0067 backlight1: backlight1 {
0068 compatible = "pwm-backlight";
0069 pwms = <&pwm1 0 500000 0>;
0070 power-supply = <®_lcd1_pwr>;
0071 brightness-levels = < 0 1 2 3 4 5 6 7 8 9
0072 10 11 12 13 14 15 16 17 18 19
0073 20 21 22 23 24 25 26 27 28 29
0074 30 31 32 33 34 35 36 37 38 39
0075 40 41 42 43 44 45 46 47 48 49
0076 50 51 52 53 54 55 56 57 58 59
0077 60 61 62 63 64 65 66 67 68 69
0078 70 71 72 73 74 75 76 77 78 79
0079 80 81 82 83 84 85 86 87 88 89
0080 90 91 92 93 94 95 96 97 98 99
0081 100>;
0082 default-brightness-level = <50>;
0083 };
0084
0085 lvds0_panel: lvds0-panel {
0086 compatible = "nlt,nl12880bc20-spwg-24";
0087 backlight = <&backlight0>;
0088 power-supply = <®_3v3>;
0089
0090 port {
0091 panel_in_lvds0: endpoint {
0092 remote-endpoint = <&lvds0_out>;
0093 };
0094 };
0095 };
0096
0097 lvds1_panel: lvds1-panel {
0098 compatible = "nlt,nl12880bc20-spwg-24";
0099 backlight = <&backlight1>;
0100 power-supply = <®_3v3>;
0101
0102 port {
0103 panel_in_lvds1: endpoint {
0104 remote-endpoint = <&lvds1_out>;
0105 };
0106 };
0107 };
0108 };
0109
0110 &kpp {
0111 status = "disabled"; /* pad conflict with backlight1 PWM */
0112 };
0113
0114 &ldb {
0115 status = "okay";
0116
0117 lvds0: lvds-channel@0 {
0118 fsl,data-width = <18>;
0119 status = "okay";
0120
0121 port@4 {
0122 reg = <4>;
0123
0124 lvds0_out: endpoint {
0125 remote-endpoint = <&panel_in_lvds0>;
0126 };
0127 };
0128
0129 display-timings {
0130 hsd100pxn1 {
0131 u-boot,panel-name = "hannstar,hsd100pxn1";
0132 clock-frequency = <65000000>;
0133 hactive = <1024>;
0134 vactive = <768>;
0135 hback-porch = <220>;
0136 hfront-porch = <40>;
0137 vback-porch = <21>;
0138 vfront-porch = <7>;
0139 hsync-len = <60>;
0140 vsync-len = <10>;
0141 de-active = <1>;
0142 pixelclk-active = <1>;
0143 };
0144
0145 VGA {
0146 clock-frequency = <25200000>;
0147 hactive = <640>;
0148 vactive = <480>;
0149 hback-porch = <48>;
0150 hfront-porch = <16>;
0151 vback-porch = <31>;
0152 vfront-porch = <12>;
0153 hsync-len = <96>;
0154 vsync-len = <2>;
0155 hsync-active = <0>;
0156 vsync-active = <0>;
0157 de-active = <1>;
0158 pixelclk-active = <0>;
0159 };
0160
0161 nl12880bc20 {
0162 u-boot,panel-name = "nlt,nl12880bc20-spwg-24";
0163 clock-frequency = <71000000>;
0164 hactive = <1280>;
0165 vactive = <800>;
0166 hback-porch = <50>;
0167 hfront-porch = <50>;
0168 vback-porch = <5>;
0169 vfront-porch = <5>;
0170 hsync-len = <60>;
0171 vsync-len = <13>;
0172 hsync-active = <0>;
0173 vsync-active = <0>;
0174 de-active = <1>;
0175 pixelclk-active = <1>;
0176 };
0177
0178 ET0700 {
0179 u-boot,panel-name = "edt,etm0700g0dh6";
0180 clock-frequency = <33264000>;
0181 hactive = <800>;
0182 vactive = <480>;
0183 hback-porch = <88>;
0184 hsync-len = <128>;
0185 hfront-porch = <40>;
0186 vback-porch = <33>;
0187 vsync-len = <2>;
0188 vfront-porch = <10>;
0189 hsync-active = <0>;
0190 vsync-active = <0>;
0191 de-active = <1>;
0192 pixelclk-active = <0>;
0193 };
0194
0195 ETV570 {
0196 u-boot,panel-name = "edt,et057090dhu";
0197 clock-frequency = <25200000>;
0198 hactive = <640>;
0199 vactive = <480>;
0200 hback-porch = <114>;
0201 hsync-len = <30>;
0202 hfront-porch = <16>;
0203 vback-porch = <32>;
0204 vsync-len = <3>;
0205 vfront-porch = <10>;
0206 hsync-active = <0>;
0207 vsync-active = <0>;
0208 de-active = <1>;
0209 pixelclk-active = <0>;
0210 };
0211 };
0212 };
0213
0214 lvds1: lvds-channel@1 {
0215 fsl,data-width = <18>;
0216 status = "okay";
0217
0218 port@4 {
0219 reg = <4>;
0220
0221 lvds1_out: endpoint {
0222 remote-endpoint = <&panel_in_lvds1>;
0223 };
0224 };
0225
0226 display-timings {
0227 hsd100pxn1 {
0228 clock-frequency = <65000000>;
0229 hactive = <1024>;
0230 vactive = <768>;
0231 hback-porch = <220>;
0232 hfront-porch = <40>;
0233 vback-porch = <21>;
0234 vfront-porch = <7>;
0235 hsync-len = <60>;
0236 vsync-len = <10>;
0237 de-active = <1>;
0238 pixelclk-active = <1>;
0239 };
0240
0241 VGA {
0242 clock-frequency = <25200000>;
0243 hactive = <640>;
0244 vactive = <480>;
0245 hback-porch = <48>;
0246 hfront-porch = <16>;
0247 vback-porch = <31>;
0248 vfront-porch = <12>;
0249 hsync-len = <96>;
0250 vsync-len = <2>;
0251 hsync-active = <0>;
0252 vsync-active = <0>;
0253 de-active = <1>;
0254 pixelclk-active = <0>;
0255 };
0256
0257 nl12880bc20 {
0258 clock-frequency = <71000000>;
0259 hactive = <1280>;
0260 vactive = <800>;
0261 hback-porch = <50>;
0262 hfront-porch = <50>;
0263 vback-porch = <5>;
0264 vfront-porch = <5>;
0265 hsync-len = <60>;
0266 vsync-len = <13>;
0267 hsync-active = <0>;
0268 vsync-active = <0>;
0269 de-active = <1>;
0270 pixelclk-active = <1>;
0271 };
0272 };
0273 };
0274 };
0275
0276 &pwm1 {
0277 status = "okay";
0278 };
0279
0280 ®_lcd0_pwr {
0281 status = "okay";
0282 };
0283
0284 ®_lcd1_pwr {
0285 status = "okay";
0286 };