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