GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / imx6q-var-dt6customboard.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Support for Variscite DART-MX6 Carrier-board
4  *
5  * Copyright 2017 BayLibre, SAS
6  * Author: Neil Armstrong <narmstrong@baylibre.com>
7  */
8
9 /dts-v1/;
10
11 #include "imx6q.dtsi"
12 #include "imx6qdl-var-dart.dtsi"
13 #include <dt-bindings/input/linux-event-codes.h>
14
15 / {
16         model = "Variscite DART-MX6 Carrier-board";
17         compatible = "variscite,dt6customboard", "fsl,imx6q";
18
19         backlight_lvds: backlight {
20                 compatible = "pwm-backlight";
21                 pwms = <&pwm2 0 50000>;
22                 brightness-levels = <0 4 8 16 32 64 128 248>;
23                 default-brightness-level = <7>;
24                 status = "okay";
25         };
26
27         gpio-keys {
28                 compatible = "gpio-keys";
29                 autorepeat;
30
31                 back {
32                         gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
33                         linux,code = <KEY_BACK>;
34                         label = "Key Back";
35                         linux,input-type = <1>;
36                         debounce-interval = <100>;
37                         wakeup-source;
38                 };
39
40                 home {
41                         gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
42                         linux,code = <KEY_HOME>;
43                         label = "Key Home";
44                         linux,input-type = <1>;
45                         debounce-interval = <100>;
46                         wakeup-source;
47                 };
48
49                 menu {
50                         gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
51                         linux,code = <KEY_MENU>;
52                         label = "Key Menu";
53                         linux,input-type = <1>;
54                         debounce-interval = <100>;
55                         wakeup-source;
56                 };
57         };
58
59         gpio-leds {
60                 compatible = "gpio-leds";
61
62                 led1 {
63                         gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>;
64                         linux,default-trigger = "heartbeat";
65                 };
66
67                 led2 {
68                         gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
69                         linux,default-trigger = "default-on";
70                 };
71         };
72
73         panel1: lvds-panel {
74                 compatible = "sgd,gktw70sdae4se", "panel-lvds";
75                 backlight = <&backlight_lvds>;
76                 width-mm = <153>;
77                 height-mm = <86>;
78                 label = "gktw70sdae4se";
79                 data-mapping = "jeida-18";
80
81                 panel-timing {
82                         clock-frequency = <32000000>;
83                         hactive = <800>;
84                         vactive = <480>;
85                         hback-porch = <39>;
86                         hfront-porch = <39>;
87                         vback-porch = <29>;
88                         vfront-porch = <13>;
89                         hsync-len = <47>;
90                         vsync-len = <2>;
91                 };
92
93                 port {
94                         panel_in: endpoint {
95                                 remote-endpoint = <&lvds1_out>;
96                         };
97                 };
98         };
99
100         reg_usb_h1_vbus: regulator-usbh1vbus {
101                 compatible = "regulator-fixed";
102                 regulator-name = "usb_h1_vbus";
103                 regulator-min-microvolt = <5000000>;
104                 regulator-max-microvolt = <5000000>;
105                 gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
106                 enable-active-high;
107         };
108
109         reg_usb_otg_vbus: regulator-usbotgvbus {
110                 compatible = "regulator-fixed";
111                 regulator-name = "usb_otg_vbus";
112                 regulator-min-microvolt = <5000000>;
113                 regulator-max-microvolt = <5000000>;
114                 gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
115                 enable-active-high;
116         };
117
118         sound {
119                 compatible = "simple-audio-card";
120                 simple-audio-card,name = "dt6-customboard-audio";
121                 simple-audio-card,format = "i2s";
122                 simple-audio-card,bitclock-master = <&sound_codec>;
123                 simple-audio-card,frame-master = <&sound_codec>;
124                 simple-audio-card,widgets = "Headphone", "Headphone Jack",
125                                             "Line", "Line In";
126                 simple-audio-card,routing = "Headphone Jack", "HPLOUT",
127                                             "Headphone Jack", "HPROUT",
128                                             "LINE1L", "Line In",
129                                             "LINE1R", "Line In";
130
131                 sound_cpu: simple-audio-card,cpu {
132                         sound-dai = <&ssi2>;
133                 };
134
135                 sound_codec: simple-audio-card,codec {
136                         sound-dai = <&tlv320aic3106>;
137                         clocks = <&clks IMX6QDL_CLK_CKO>;
138                 };
139         };
140 };
141
142 &can1 {
143         status = "okay";
144 };
145
146 &ecspi1 {
147         cs-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>,
148                    <&gpio4 10 GPIO_ACTIVE_HIGH>;
149         status = "okay";
150 };
151
152 &fec {
153         status = "okay";
154         phy-mode = "rgmii";
155         phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
156 };
157
158 &hdmi {
159         status = "okay";
160 };
161
162 &i2c1 {
163         clock-frequency = <100000>;
164         status = "okay";
165 };
166
167 &i2c3 {
168         clock-frequency = <100000>;
169         status = "okay";
170
171         touchscreen@38 {
172                 compatible = "edt,edt-ft5x06";
173                 reg = <0x38>;
174                 interrupt-parent = <&gpio1>;
175                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
176                 touchscreen-size-x = <800>;
177                 touchscreen-size-y = <480>;
178                 touchscreen-inverted-x;
179                 touchscreen-inverted-y;
180                 wakeup-source;
181         };
182
183         rtc@68 {
184                 compatible = "isil,isl12057";
185                 reg = <0x68>;
186         };
187 };
188
189 &ldb {
190         status = "okay";
191
192         lvds-channel@1 {
193                 status = "okay";
194
195                 port@4 {
196                         reg = <4>;
197
198                         lvds1_out: endpoint {
199                                 remote-endpoint = <&panel_in>;
200                         };
201                 };
202         };
203 };
204
205 &pwm2 {
206         status = "okay";
207 };
208
209 &uart1 {
210         status = "okay";
211 };
212
213 &uart3 {
214         status = "okay";
215 };
216
217 &usbh1 {
218         vbus-supply = <&reg_usb_h1_vbus>;
219         status = "okay";
220 };
221
222 &usbotg {
223         vbus-supply = <&reg_usb_otg_vbus>;
224         dr_mode = "otg";
225         srp-disable;
226         hnp-disable;
227         adp-disable;
228         status = "okay";
229 };
230
231 &usdhc2 {
232         cd-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
233         status = "okay";
234 };