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