blob: dcea784477be96880319a65a3e4a44ecbba5fd54 [file] [log] [blame]
Adam Fordf479cec2017-04-07 10:25:34 -05001/*
Adam Fordb64b5ad2018-12-28 08:55:41 -06002 * Copyright 2018 Logic PD, Inc.
Adam Fordf479cec2017-04-07 10:25:34 -05003 * Based on SabreSD, Copyright 2016 Freescale Semiconductor, Inc.
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This file is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This file is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */
43
44/dts-v1/;
Adam Fordb64b5ad2018-12-28 08:55:41 -060045#include "imx6q.dtsi"
46#include "imx6-logicpd-som.dtsi"
47#include "imx6-logicpd-baseboard.dtsi"
Adam Fordf479cec2017-04-07 10:25:34 -050048
49/ {
Adam Fordb64b5ad2018-12-28 08:55:41 -060050 model = "Logic PD i.MX6QD SOM-M3 (HDMI)";
Adam Fordf479cec2017-04-07 10:25:34 -050051 compatible = "fsl,imx6q";
52
Adam Fordb64b5ad2018-12-28 08:55:41 -060053 backlight: backlight_lvds {
54 compatible = "pwm-backlight";
55 pwms = <&pwm3 0 20000>;
56 brightness-levels = <0 4 8 16 32 64 128 255>;
57 default-brightness-level = <6>;
58 power-supply = <&reg_lcd>;
Adam Fordf479cec2017-04-07 10:25:34 -050059 };
60
Adam Fordb64b5ad2018-12-28 08:55:41 -060061 reg_lcd: regulator-lcd {
62 pinctrl-names = "default";
63 pinctrl-0 = <&pinctrl_lcd_reg>;
Adam Fordf479cec2017-04-07 10:25:34 -050064 compatible = "regulator-fixed";
Adam Fordb64b5ad2018-12-28 08:55:41 -060065 regulator-name = "lcd_panel_pwr";
Adam Fordf479cec2017-04-07 10:25:34 -050066 regulator-min-microvolt = <3300000>;
67 regulator-max-microvolt = <3300000>;
Adam Fordb64b5ad2018-12-28 08:55:41 -060068 gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
69 enable-active-high;
70 regulator-always-on;
71 vin-supply = <&reg_3v3>;
72 startup-delay-us = <500000>;
73 };
74
75 lcd_reset: lcd_reset {
76 pinctrl-names = "default";
77 pinctrl-0 = <&pinctrl_lcd_reset>;
78 compatible = "regulator-fixed";
79 regulator-name = "nLCD_RESET";
80 regulator-min-microvolt = <3300000>;
81 regulator-max-microvolt = <3300000>;
82 gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
83 enable-active-high;
84 regulator-always-on;
85 vin-supply = <&reg_lcd>;
86 };
87
88 panel-lvds0 {
89 compatible = "ampire,am800480b3tmqw";
90 backlight = <&backlight>;
91
92 port {
93 panel_in_lvds0: endpoint {
94 remote-endpoint = <&lvds0_out>;
95 };
96 };
Adam Fordf479cec2017-04-07 10:25:34 -050097 };
98};
99
Adam Fordb64b5ad2018-12-28 08:55:41 -0600100&hdmi {
101 ddc-i2c-bus = <&i2c3>;
Adam Fordf479cec2017-04-07 10:25:34 -0500102 status = "okay";
103};
104
Adam Fordb64b5ad2018-12-28 08:55:41 -0600105&i2c1 {
106 ili_touch: ilitouch@26 {
107 compatible = "ili,ili2117a";
108 reg = <0x26>;
109 pinctrl-names = "default";
110 pinctrl-0 = <&pinctrl_touchscreen>;
111 interrupts-extended = <&gpio1 6 IRQ_TYPE_EDGE_RISING>;
112 ili2117a,poll-period = <10>;
113 ili2117a,max-touch = <2>;
114 };
Adam Fordf479cec2017-04-07 10:25:34 -0500115};
116
Adam Fordb64b5ad2018-12-28 08:55:41 -0600117&reg_hdmi {
118 regulator-always-on;
Adam Fordf479cec2017-04-07 10:25:34 -0500119};
120
Adam Fordb64b5ad2018-12-28 08:55:41 -0600121&ldb {
Adam Fordf479cec2017-04-07 10:25:34 -0500122 status = "okay";
Adam Fordb64b5ad2018-12-28 08:55:41 -0600123
124 lvds-channel@0 {
125 fsl,data-mapping = "spwg";
126 fsl,data-width = <24>;
127 status = "okay";
128
129 port@4 {
130 reg = <4>;
131
132 lvds0_out: endpoint {
133 remote-endpoint = <&panel_in_lvds0>;
134 };
135 };
136 };
137
Adam Fordf479cec2017-04-07 10:25:34 -0500138};
139
Adam Fordb64b5ad2018-12-28 08:55:41 -0600140&clks {
141 assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
142 <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
143 <&clks IMX6QDL_CLK_IPU1_DI0_PRE_SEL>,
144 <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>;
145 assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
146 <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
147 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
148 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>;
149};
150
151&pwm3 {
Adam Fordf479cec2017-04-07 10:25:34 -0500152 status = "okay";
153};
154
155&usdhc2 {
Adam Fordf479cec2017-04-07 10:25:34 -0500156 cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
Adam Fordf479cec2017-04-07 10:25:34 -0500157};
158
159&iomuxc {
Adam Fordb64b5ad2018-12-28 08:55:41 -0600160 pinctrl_lcd_reg: lcdreg {
Adam Fordf479cec2017-04-07 10:25:34 -0500161 fsl,pins = <
Adam Fordb64b5ad2018-12-28 08:55:41 -0600162 MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x100b0 /* R_LCD_PANEL_PWR */
Adam Fordf479cec2017-04-07 10:25:34 -0500163 >;
164 };
165
Adam Fordb64b5ad2018-12-28 08:55:41 -0600166 pinctrl_lcd_reset: lcdreset {
Adam Fordf479cec2017-04-07 10:25:34 -0500167 fsl,pins = <
Adam Fordb64b5ad2018-12-28 08:55:41 -0600168 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b0 /* LCD_nRESET */
Adam Fordf479cec2017-04-07 10:25:34 -0500169 >;
170 };
171
Adam Fordb64b5ad2018-12-28 08:55:41 -0600172 pinctrl_touchscreen: touchscreengrp {
Adam Fordf479cec2017-04-07 10:25:34 -0500173 fsl,pins = <
Adam Fordb64b5ad2018-12-28 08:55:41 -0600174 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* TOUCH_nPINTDAV */
Adam Fordf479cec2017-04-07 10:25:34 -0500175 >;
176 };
177};
Adam Fordb64b5ad2018-12-28 08:55:41 -0600178