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