Back to home page

OSCL-LXR

 
 

    


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 = <&reg_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 = <&reg_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 = <&reg_2v5>;
0136                 VDDIO-supply = <&reg_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 };