1/* 2 * Copyright 2016 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/dts-v1/; 43#include "imx6dl.dtsi" 44#include "imx6qdl-tx6.dtsi" 45 46/ { 47 model = "Ka-Ro electronics TX6U-81xx Module on MB7 baseboard"; 48 compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; 49 50 aliases { 51 display = &lvds0; 52 lvds0 = &lvds0; 53 lvds1 = &lvds1; 54 }; 55 56 backlight0: backlight0 { 57 compatible = "pwm-backlight"; 58 pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; 59 power-supply = <®_lcd0_pwr>; 60 /* 61 * a poor man's way to create a 1:1 relationship between 62 * the PWM value and the actual duty cycle 63 */ 64 brightness-levels = < 0 1 2 3 4 5 6 7 8 9 65 10 11 12 13 14 15 16 17 18 19 66 20 21 22 23 24 25 26 27 28 29 67 30 31 32 33 34 35 36 37 38 39 68 40 41 42 43 44 45 46 47 48 49 69 50 51 52 53 54 55 56 57 58 59 70 60 61 62 63 64 65 66 67 68 69 71 70 71 72 73 74 75 76 77 78 79 72 80 81 82 83 84 85 86 87 88 89 73 90 91 92 93 94 95 96 97 98 99 74 100>; 75 default-brightness-level = <50>; 76 }; 77 78 backlight1: backlight1 { 79 compatible = "pwm-backlight"; 80 pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>; 81 power-supply = <®_lcd1_pwr>; 82 /* 83 * a poor man's way to create a 1:1 relationship between 84 * the PWM value and the actual duty cycle 85 */ 86 brightness-levels = < 0 1 2 3 4 5 6 7 8 9 87 10 11 12 13 14 15 16 17 18 19 88 20 21 22 23 24 25 26 27 28 29 89 30 31 32 33 34 35 36 37 38 39 90 40 41 42 43 44 45 46 47 48 49 91 50 51 52 53 54 55 56 57 58 59 92 60 61 62 63 64 65 66 67 68 69 93 70 71 72 73 74 75 76 77 78 79 94 80 81 82 83 84 85 86 87 88 89 95 90 91 92 93 94 95 96 97 98 99 96 100>; 97 default-brightness-level = <50>; 98 }; 99}; 100 101&can1 { 102 status = "disabled"; 103}; 104 105&can2 { 106 xceiver-supply = <®_3v3>; 107}; 108 109&i2c3 { 110 polytouch1: eeti@04 { 111 compatible = "eeti,egalax_ts"; 112 reg = <0x04>; 113 pinctrl-names = "default"; 114 pinctrl-0 = <&pinctrl_eeti>; 115 interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_FALLING>; 116 wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; 117 wakeup-source; 118 }; 119}; 120 121&kpp { 122 status = "disabled"; /* pads partially clash with backlight1 PWM */ 123}; 124 125&ldb { 126 status = "okay"; 127 128 lvds0: lvds-channel@0 { 129 fsl,data-mapping = "spwg"; 130 fsl,data-width = <18>; 131 status = "okay"; 132 133 display-timings { 134 native-mode = <&lvds0_timing1>; 135 136 lvds0_timing0: hsd100pxn1 { 137 clock-frequency = <65000000>; 138 hactive = <1024>; 139 vactive = <768>; 140 hback-porch = <220>; 141 hfront-porch = <40>; 142 vback-porch = <21>; 143 vfront-porch = <7>; 144 hsync-len = <60>; 145 vsync-len = <10>; 146 hsync-active = <0>; 147 vsync-active = <0>; 148 de-active = <1>; 149 pixelclk-active = <1>; 150 }; 151 152 lvds0_timing1: VGA { 153 clock-frequency = <25200000>; 154 hactive = <640>; 155 vactive = <480>; 156 hback-porch = <48>; 157 hfront-porch = <16>; 158 vback-porch = <31>; 159 vfront-porch = <12>; 160 hsync-len = <96>; 161 vsync-len = <2>; 162 hsync-active = <0>; 163 vsync-active = <0>; 164 de-active = <1>; 165 pixelclk-active = <0>; 166 }; 167 168 lvds0_timing2: nl12880bc20 { 169 clock-frequency = <71000000>; 170 hactive = <1280>; 171 vactive = <800>; 172 hback-porch = <50>; 173 hfront-porch = <50>; 174 vback-porch = <5>; 175 vfront-porch = <5>; 176 hsync-len = <60>; 177 vsync-len = <13>; 178 hsync-active = <0>; 179 vsync-active = <0>; 180 de-active = <1>; 181 pixelclk-active = <1>; 182 }; 183 }; 184 }; 185 186 lvds1: lvds-channel@1 { 187 fsl,data-mapping = "spwg"; 188 fsl,data-width = <18>; 189 status = "okay"; 190 191 display-timings { 192 native-mode = <&lvds1_timing2>; 193 194 lvds1_timing0: hsd100pxn1 { 195 clock-frequency = <65000000>; 196 hactive = <1024>; 197 vactive = <768>; 198 hback-porch = <220>; 199 hfront-porch = <40>; 200 vback-porch = <21>; 201 vfront-porch = <7>; 202 hsync-len = <60>; 203 vsync-len = <10>; 204 hsync-active = <0>; 205 vsync-active = <0>; 206 de-active = <1>; 207 pixelclk-active = <1>; 208 }; 209 210 lvds1_timing1: VGA { 211 clock-frequency = <25200000>; 212 hactive = <640>; 213 vactive = <480>; 214 hback-porch = <48>; 215 hfront-porch = <16>; 216 vback-porch = <31>; 217 vfront-porch = <12>; 218 hsync-len = <96>; 219 vsync-len = <2>; 220 hsync-active = <0>; 221 vsync-active = <0>; 222 de-active = <1>; 223 pixelclk-active = <0>; 224 }; 225 226 lvds1_timing2: nl12880bc20 { 227 clock-frequency = <71000000>; 228 hactive = <1280>; 229 vactive = <800>; 230 hback-porch = <50>; 231 hfront-porch = <50>; 232 vback-porch = <5>; 233 vfront-porch = <5>; 234 hsync-len = <60>; 235 vsync-len = <13>; 236 hsync-active = <0>; 237 vsync-active = <0>; 238 de-active = <1>; 239 pixelclk-active = <1>; 240 }; 241 }; 242 }; 243}; 244 245&pwm1 { 246 status = "okay"; 247}; 248 249&iomuxc { 250 pinctrl_eeti: eetigrp { 251 fsl,pins = < 252 MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */ 253 >; 254 }; 255}; 256