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 = &display; 45*724ba675SRob Herring }; 46*724ba675SRob Herring 47*724ba675SRob Herring backlight: backlight { 48*724ba675SRob Herring compatible = "pwm-backlight"; 49*724ba675SRob Herring pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; 50*724ba675SRob Herring pinctrl-names = "default"; 51*724ba675SRob Herring pinctrl-0 = <&pinctrl_lcd1_pwr>; 52*724ba675SRob Herring enable-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; 53*724ba675SRob Herring power-supply = <®_3v3>; 54*724ba675SRob Herring turn-on-delay-ms = <35>; 55*724ba675SRob Herring /* 56*724ba675SRob Herring * a poor man's way to create a 1:1 relationship between 57*724ba675SRob Herring * the PWM value and the actual duty cycle 58*724ba675SRob Herring */ 59*724ba675SRob Herring brightness-levels = < 0 1 2 3 4 5 6 7 8 9 60*724ba675SRob Herring 10 11 12 13 14 15 16 17 18 19 61*724ba675SRob Herring 20 21 22 23 24 25 26 27 28 29 62*724ba675SRob Herring 30 31 32 33 34 35 36 37 38 39 63*724ba675SRob Herring 40 41 42 43 44 45 46 47 48 49 64*724ba675SRob Herring 50 51 52 53 54 55 56 57 58 59 65*724ba675SRob Herring 60 61 62 63 64 65 66 67 68 69 66*724ba675SRob Herring 70 71 72 73 74 75 76 77 78 79 67*724ba675SRob Herring 80 81 82 83 84 85 86 87 88 89 68*724ba675SRob Herring 90 91 92 93 94 95 96 97 98 99 69*724ba675SRob Herring 100>; 70*724ba675SRob Herring default-brightness-level = <50>; 71*724ba675SRob Herring }; 72*724ba675SRob Herring 73*724ba675SRob Herring lcd_panel: lcd-panel { 74*724ba675SRob Herring compatible = "edt,etm0700g0dh6"; 75*724ba675SRob Herring pinctrl-names = "default"; 76*724ba675SRob Herring pinctrl-0 = <&pinctrl_lcd0_pwr>; 77*724ba675SRob Herring enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>; 78*724ba675SRob Herring power-supply = <®_3v3>; 79*724ba675SRob Herring backlight = <&backlight>; 80*724ba675SRob Herring 81*724ba675SRob Herring port { 82*724ba675SRob Herring lcd_panel_in: endpoint { 83*724ba675SRob Herring remote-endpoint = <&lcd_out>; 84*724ba675SRob Herring }; 85*724ba675SRob Herring }; 86*724ba675SRob Herring }; 87*724ba675SRob Herring 88*724ba675SRob Herring display: disp0 { 89*724ba675SRob Herring compatible = "fsl,imx-parallel-display"; 90*724ba675SRob Herring #address-cells = <1>; 91*724ba675SRob Herring #size-cells = <0>; 92*724ba675SRob Herring pinctrl-names = "default"; 93*724ba675SRob Herring pinctrl-0 = <&pinctrl_disp0_1>; 94*724ba675SRob Herring status = "okay"; 95*724ba675SRob Herring 96*724ba675SRob Herring port@0 { 97*724ba675SRob Herring reg = <0>; 98*724ba675SRob Herring 99*724ba675SRob Herring lcd_in: endpoint { 100*724ba675SRob Herring remote-endpoint = <&ipu1_di0_disp0>; 101*724ba675SRob Herring }; 102*724ba675SRob Herring }; 103*724ba675SRob Herring 104*724ba675SRob Herring port@1 { 105*724ba675SRob Herring reg = <1>; 106*724ba675SRob Herring 107*724ba675SRob Herring lcd_out: endpoint { 108*724ba675SRob Herring remote-endpoint = <&lcd_panel_in>; 109*724ba675SRob Herring }; 110*724ba675SRob Herring }; 111*724ba675SRob Herring 112*724ba675SRob Herring display-timings { 113*724ba675SRob Herring VGA { 114*724ba675SRob Herring clock-frequency = <25200000>; 115*724ba675SRob Herring hactive = <640>; 116*724ba675SRob Herring vactive = <480>; 117*724ba675SRob Herring hback-porch = <48>; 118*724ba675SRob Herring hsync-len = <96>; 119*724ba675SRob Herring hfront-porch = <16>; 120*724ba675SRob Herring vback-porch = <31>; 121*724ba675SRob Herring vsync-len = <2>; 122*724ba675SRob Herring vfront-porch = <12>; 123*724ba675SRob Herring hsync-active = <0>; 124*724ba675SRob Herring vsync-active = <0>; 125*724ba675SRob Herring de-active = <1>; 126*724ba675SRob Herring pixelclk-active = <0>; 127*724ba675SRob Herring }; 128*724ba675SRob Herring 129*724ba675SRob Herring ETV570 { 130*724ba675SRob Herring u-boot,panel-name = "edt,et057090dhu"; 131*724ba675SRob Herring clock-frequency = <25200000>; 132*724ba675SRob Herring hactive = <640>; 133*724ba675SRob Herring vactive = <480>; 134*724ba675SRob Herring hback-porch = <114>; 135*724ba675SRob Herring hsync-len = <30>; 136*724ba675SRob Herring hfront-porch = <16>; 137*724ba675SRob Herring vback-porch = <32>; 138*724ba675SRob Herring vsync-len = <3>; 139*724ba675SRob Herring vfront-porch = <10>; 140*724ba675SRob Herring hsync-active = <0>; 141*724ba675SRob Herring vsync-active = <0>; 142*724ba675SRob Herring de-active = <1>; 143*724ba675SRob Herring pixelclk-active = <0>; 144*724ba675SRob Herring }; 145*724ba675SRob Herring 146*724ba675SRob Herring ET0350 { 147*724ba675SRob Herring u-boot,panel-name = "edt,et0350g0dh6"; 148*724ba675SRob Herring clock-frequency = <6413760>; 149*724ba675SRob Herring hactive = <320>; 150*724ba675SRob Herring vactive = <240>; 151*724ba675SRob Herring hback-porch = <34>; 152*724ba675SRob Herring hsync-len = <34>; 153*724ba675SRob Herring hfront-porch = <20>; 154*724ba675SRob Herring vback-porch = <15>; 155*724ba675SRob Herring vsync-len = <3>; 156*724ba675SRob Herring vfront-porch = <4>; 157*724ba675SRob Herring hsync-active = <0>; 158*724ba675SRob Herring vsync-active = <0>; 159*724ba675SRob Herring de-active = <1>; 160*724ba675SRob Herring pixelclk-active = <0>; 161*724ba675SRob Herring }; 162*724ba675SRob Herring 163*724ba675SRob Herring ET0430 { 164*724ba675SRob Herring u-boot,panel-name = "edt,et0430g0dh6"; 165*724ba675SRob Herring clock-frequency = <9009000>; 166*724ba675SRob Herring hactive = <480>; 167*724ba675SRob Herring vactive = <272>; 168*724ba675SRob Herring hback-porch = <2>; 169*724ba675SRob Herring hsync-len = <41>; 170*724ba675SRob Herring hfront-porch = <2>; 171*724ba675SRob Herring vback-porch = <2>; 172*724ba675SRob Herring vsync-len = <10>; 173*724ba675SRob Herring vfront-porch = <2>; 174*724ba675SRob Herring hsync-active = <0>; 175*724ba675SRob Herring vsync-active = <0>; 176*724ba675SRob Herring de-active = <1>; 177*724ba675SRob Herring pixelclk-active = <1>; 178*724ba675SRob Herring }; 179*724ba675SRob Herring 180*724ba675SRob Herring ET0500 { 181*724ba675SRob Herring clock-frequency = <33264000>; 182*724ba675SRob Herring hactive = <800>; 183*724ba675SRob Herring vactive = <480>; 184*724ba675SRob Herring hback-porch = <88>; 185*724ba675SRob Herring hsync-len = <128>; 186*724ba675SRob Herring hfront-porch = <40>; 187*724ba675SRob Herring vback-porch = <33>; 188*724ba675SRob Herring vsync-len = <2>; 189*724ba675SRob Herring vfront-porch = <10>; 190*724ba675SRob Herring hsync-active = <0>; 191*724ba675SRob Herring vsync-active = <0>; 192*724ba675SRob Herring de-active = <1>; 193*724ba675SRob Herring pixelclk-active = <0>; 194*724ba675SRob Herring }; 195*724ba675SRob Herring 196*724ba675SRob Herring ET0700 { /* same as ET0500 */ 197*724ba675SRob Herring u-boot,panel-name = "edt,etm0700g0dh6"; 198*724ba675SRob Herring clock-frequency = <33264000>; 199*724ba675SRob Herring hactive = <800>; 200*724ba675SRob Herring vactive = <480>; 201*724ba675SRob Herring hback-porch = <88>; 202*724ba675SRob Herring hsync-len = <128>; 203*724ba675SRob Herring hfront-porch = <40>; 204*724ba675SRob Herring vback-porch = <33>; 205*724ba675SRob Herring vsync-len = <2>; 206*724ba675SRob Herring vfront-porch = <10>; 207*724ba675SRob Herring hsync-active = <0>; 208*724ba675SRob Herring vsync-active = <0>; 209*724ba675SRob Herring de-active = <1>; 210*724ba675SRob Herring pixelclk-active = <0>; 211*724ba675SRob Herring }; 212*724ba675SRob Herring 213*724ba675SRob Herring ETQ570 { 214*724ba675SRob Herring clock-frequency = <6596040>; 215*724ba675SRob Herring hactive = <320>; 216*724ba675SRob Herring vactive = <240>; 217*724ba675SRob Herring hback-porch = <38>; 218*724ba675SRob Herring hsync-len = <30>; 219*724ba675SRob Herring hfront-porch = <30>; 220*724ba675SRob Herring vback-porch = <16>; 221*724ba675SRob Herring vsync-len = <3>; 222*724ba675SRob Herring vfront-porch = <4>; 223*724ba675SRob Herring hsync-active = <0>; 224*724ba675SRob Herring vsync-active = <0>; 225*724ba675SRob Herring de-active = <1>; 226*724ba675SRob Herring pixelclk-active = <0>; 227*724ba675SRob Herring }; 228*724ba675SRob Herring 229*724ba675SRob Herring CoMTFT { /* same as ET0700 but with inverted pixel clock */ 230*724ba675SRob Herring u-boot,panel-name = "edt,etm0700g0edh6"; 231*724ba675SRob Herring clock-frequency = <33264000>; 232*724ba675SRob Herring hactive = <800>; 233*724ba675SRob Herring vactive = <480>; 234*724ba675SRob Herring hback-porch = <88>; 235*724ba675SRob Herring hsync-len = <128>; 236*724ba675SRob Herring hfront-porch = <40>; 237*724ba675SRob Herring vback-porch = <33>; 238*724ba675SRob Herring vsync-len = <2>; 239*724ba675SRob Herring vfront-porch = <10>; 240*724ba675SRob Herring hsync-active = <0>; 241*724ba675SRob Herring vsync-active = <0>; 242*724ba675SRob Herring de-active = <1>; 243*724ba675SRob Herring pixelclk-active = <1>; 244*724ba675SRob Herring }; 245*724ba675SRob Herring }; 246*724ba675SRob Herring }; 247*724ba675SRob Herring}; 248*724ba675SRob Herring 249*724ba675SRob Herring&ipu1_di0_disp0 { 250*724ba675SRob Herring remote-endpoint = <&lcd_in>; 251*724ba675SRob Herring}; 252