1/* 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 = <®_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 = <®_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 = <®_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 = <®_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®_lcd0_pwr { 281 status = "okay"; 282}; 283 284®_lcd1_pwr { 285 status = "okay"; 286}; 287