0001 /*
0002 * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
0003 *
0004 * This file is dual-licensed: you can use it either under the terms
0005 * of the GPL or the X11 license, at your option. Note that this dual
0006 * licensing only applies to this file, and not this project as a
0007 * whole.
0008 *
0009 * a) This file is free software; you can redistribute it and/or
0010 * modify it under the terms of the GNU General Public License
0011 * version 2 as published by the Free Software Foundation.
0012 *
0013 * This file is distributed in the hope that it will be useful,
0014 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0016 * GNU General Public License for more details.
0017 *
0018 * Or, alternatively,
0019 *
0020 * b) Permission is hereby granted, free of charge, to any person
0021 * obtaining a copy of this software and associated documentation
0022 * files (the "Software"), to deal in the Software without
0023 * restriction, including without limitation the rights to use,
0024 * copy, modify, merge, publish, distribute, sublicense, and/or
0025 * sell copies of the Software, and to permit persons to whom the
0026 * Software is furnished to do so, subject to the following
0027 * conditions:
0028 *
0029 * The above copyright notice and this permission notice shall be
0030 * included in all copies or substantial portions of the Software.
0031 *
0032 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0033 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
0034 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
0035 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
0036 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
0037 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0038 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0039 * OTHER DEALINGS IN THE SOFTWARE.
0040 * The code contained herein is licensed under the GNU General Public
0041 * License. You may obtain a copy of the GNU General Public License
0042 * Version 2 at the following locations:
0043 *
0044 * http://www.opensource.org/licenses/gpl-license.html
0045 * http://www.gnu.org/copyleft/gpl.html
0046 */
0047
0048 /dts-v1/;
0049 #include "imx53-tx53.dtsi"
0050 #include <dt-bindings/input/input.h>
0051
0052 / {
0053 model = "Ka-Ro electronics TX53 module (LVDS)";
0054 compatible = "karo,tx53", "fsl,imx53";
0055
0056 aliases {
0057 display = &lvds0;
0058 lvds0 = &lvds0;
0059 lvds1 = &lvds1;
0060 };
0061
0062 backlight0: backlight0 {
0063 compatible = "pwm-backlight";
0064 pwms = <&pwm2 0 500000 0>;
0065 power-supply = <®_3v3>;
0066 brightness-levels = <
0067 0 1 2 3 4 5 6 7 8 9
0068 10 11 12 13 14 15 16 17 18 19
0069 20 21 22 23 24 25 26 27 28 29
0070 30 31 32 33 34 35 36 37 38 39
0071 40 41 42 43 44 45 46 47 48 49
0072 50 51 52 53 54 55 56 57 58 59
0073 60 61 62 63 64 65 66 67 68 69
0074 70 71 72 73 74 75 76 77 78 79
0075 80 81 82 83 84 85 86 87 88 89
0076 90 91 92 93 94 95 96 97 98 99
0077 100
0078 >;
0079 default-brightness-level = <50>;
0080 };
0081
0082 backlight1: backlight1 {
0083 compatible = "pwm-backlight";
0084 pwms = <&pwm1 0 500000 0>;
0085 power-supply = <®_3v3>;
0086 brightness-levels = <
0087 0 1 2 3 4 5 6 7 8 9
0088 10 11 12 13 14 15 16 17 18 19
0089 20 21 22 23 24 25 26 27 28 29
0090 30 31 32 33 34 35 36 37 38 39
0091 40 41 42 43 44 45 46 47 48 49
0092 50 51 52 53 54 55 56 57 58 59
0093 60 61 62 63 64 65 66 67 68 69
0094 70 71 72 73 74 75 76 77 78 79
0095 80 81 82 83 84 85 86 87 88 89
0096 90 91 92 93 94 95 96 97 98 99
0097 100
0098 >;
0099 default-brightness-level = <50>;
0100 };
0101
0102 reg_lcd_pwr0: regulator-lvds0-pwr {
0103 compatible = "regulator-fixed";
0104 regulator-name = "LVDS0 POWER";
0105 regulator-min-microvolt = <3300000>;
0106 regulator-max-microvolt = <3300000>;
0107 gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
0108 enable-active-high;
0109 regulator-boot-on;
0110 };
0111
0112 reg_lcd_pwr1: regulator-lvds1-pwr {
0113 compatible = "regulator-fixed";
0114 regulator-name = "LVDS1 POWER";
0115 regulator-min-microvolt = <3300000>;
0116 regulator-max-microvolt = <3300000>;
0117 gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
0118 enable-active-high;
0119 regulator-boot-on;
0120 };
0121 };
0122
0123 &i2c3 {
0124 pinctrl-names = "default", "gpio";
0125 pinctrl-0 = <&pinctrl_i2c3>;
0126 pinctrl-1 = <&pinctrl_i2c3_gpio>;
0127 scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
0128 sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
0129 status = "okay";
0130
0131 sgtl5000: codec@a {
0132 compatible = "fsl,sgtl5000";
0133 reg = <0x0a>;
0134 #sound-dai-cells = <0>;
0135 VDDA-supply = <®_2v5>;
0136 VDDIO-supply = <®_3v3>;
0137 clocks = <&mclk>;
0138 };
0139 };
0140
0141 &iomuxc {
0142 imx53-tx53-x13x {
0143 pinctrl_lvds0: lvds0grp {
0144 fsl,pins = <
0145 MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000
0146 MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000
0147 MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000
0148 MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000
0149 MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000
0150 >;
0151 };
0152
0153 pinctrl_lvds1: lvds1grp {
0154 fsl,pins = <
0155 MX53_PAD_LVDS1_TX3_P__LDB_LVDS1_TX3 0x80000000
0156 MX53_PAD_LVDS1_TX2_P__LDB_LVDS1_TX2 0x80000000
0157 MX53_PAD_LVDS1_CLK_P__LDB_LVDS1_CLK 0x80000000
0158 MX53_PAD_LVDS1_TX1_P__LDB_LVDS1_TX1 0x80000000
0159 MX53_PAD_LVDS1_TX0_P__LDB_LVDS1_TX0 0x80000000
0160 >;
0161 };
0162
0163 pinctrl_pwm1: pwm1grp {
0164 fsl,pins = <MX53_PAD_GPIO_9__PWM1_PWMO 0x04>;
0165 };
0166
0167 pinctrl_eeti1: eeti1grp {
0168 fsl,pins = <
0169 MX53_PAD_EIM_D22__GPIO3_22 0x1f0 /* Interrupt */
0170 >;
0171 };
0172
0173 pinctrl_eeti2: eeti2grp {
0174 fsl,pins = <
0175 MX53_PAD_EIM_D23__GPIO3_23 0x1f0 /* Interrupt */
0176 >;
0177 };
0178 };
0179 };
0180
0181 &ldb {
0182 pinctrl-names = "default";
0183 pinctrl-0 = <&pinctrl_lvds0 &pinctrl_lvds1>;
0184 status = "okay";
0185
0186 lvds0: lvds-channel@0 {
0187 fsl,data-mapping = "spwg";
0188 fsl,data-width = <18>;
0189 status = "okay";
0190
0191 display-timings {
0192 native-mode = <&lvds0_timing0>;
0193
0194 lvds0_timing0: hsd100pxn1 {
0195 clock-frequency = <65000000>;
0196 hactive = <1024>;
0197 vactive = <768>;
0198 hback-porch = <220>;
0199 hsync-len = <60>;
0200 hfront-porch = <40>;
0201 vback-porch = <21>;
0202 vsync-len = <10>;
0203 vfront-porch = <7>;
0204 hsync-active = <0>;
0205 vsync-active = <0>;
0206 de-active = <1>;
0207 pixelclk-active = <1>;
0208 };
0209
0210 lvds0_timing1: nl12880bc20 {
0211 clock-frequency = <71000000>;
0212 hactive = <1280>;
0213 vactive = <800>;
0214 hback-porch = <50>;
0215 hsync-len = <60>;
0216 hfront-porch = <50>;
0217 vback-porch = <5>;
0218 vsync-len = <13>;
0219 vfront-porch = <5>;
0220 hsync-active = <0>;
0221 vsync-active = <0>;
0222 de-active = <1>;
0223 pixelclk-active = <1>;
0224 };
0225 };
0226 };
0227
0228 lvds1: lvds-channel@1 {
0229 fsl,data-mapping = "spwg";
0230 fsl,data-width = <18>;
0231 status = "okay";
0232
0233 display-timings {
0234 native-mode = <&lvds1_timing0>;
0235
0236 lvds1_timing0: hsd100pxn1 {
0237 clock-frequency = <65000000>;
0238 hactive = <1024>;
0239 vactive = <768>;
0240 hback-porch = <220>;
0241 hsync-len = <60>;
0242 hfront-porch = <40>;
0243 vback-porch = <21>;
0244 vsync-len = <10>;
0245 vfront-porch = <7>;
0246 hsync-active = <0>;
0247 vsync-active = <0>;
0248 de-active = <1>;
0249 pixelclk-active = <1>;
0250 };
0251 };
0252 };
0253 };
0254
0255 &pwm1 {
0256 pinctrl-names = "default";
0257 pinctrl-0 = <&pinctrl_pwm1>;
0258 };
0259
0260 &sata {
0261 status = "okay";
0262 };