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