blob: bb8f562307966115973e7966216454df0d998362 [file] [log] [blame]
Robert Beckett8c267392019-11-12 19:15:11 +00001// SPDX-License-Identifier: GPL-2.0+ OR X11
2/*
3 * Copyright 2015 Timesys Corporation.
4 * Copyright 2015 General Electric Company
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * version 2 as published by the Free Software Foundation.
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#include "imx6q-ba16.dtsi"
Robert Beckettd494aec2019-11-12 19:15:19 +000045#include "imx6q-bx50v3-uboot.dtsi"
Robert Beckett8c267392019-11-12 19:15:11 +000046
47/ {
48 mclk: clock-mclk {
49 compatible = "fixed-clock";
50 #clock-cells = <0>;
51 clock-frequency = <22000000>;
52 };
53
54 gpio-poweroff {
55 compatible = "gpio-poweroff";
56 gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
57 status = "okay";
58 };
59
60 reg_wl18xx_vmmc: regulator-wl18xx {
61 compatible = "regulator-fixed";
62 regulator-name = "vwl1807";
63 regulator-min-microvolt = <3300000>;
64 regulator-max-microvolt = <3300000>;
65 gpio = <&pca9539 3 GPIO_ACTIVE_HIGH>;
66 startup-delay-us = <70000>;
67 enable-active-high;
68 };
69
70 reg_wlan: regulator-wlan {
71 compatible = "regulator-fixed";
72 regulator-name = "3P3V_wlan";
73 regulator-min-microvolt = <3300000>;
74 regulator-max-microvolt = <3300000>;
75 regulator-always-on;
76 regulator-boot-on;
77 gpio = <&gpio6 14 GPIO_ACTIVE_HIGH>;
78 };
79
80 sound {
81 compatible = "fsl,imx6q-ba16-sgtl5000",
82 "fsl,imx-audio-sgtl5000";
83 model = "imx6q-ba16-sgtl5000";
84 ssi-controller = <&ssi1>;
85 audio-codec = <&sgtl5000>;
86 audio-routing =
87 "MIC_IN", "Mic Jack",
88 "Mic Jack", "Mic Bias",
89 "LINE_IN", "Line In Jack",
90 "Headphone Jack", "HP_OUT";
91 mux-int-port = <1>;
92 mux-ext-port = <4>;
93 };
94
95 aliases {
96 mdio-gpio0 = &mdio0;
97 };
98
99 mdio0: mdio-gpio {
100 compatible = "virtual,mdio-gpio";
101 gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>, /* mdc */
102 <&gpio2 7 GPIO_ACTIVE_HIGH>; /* mdio */
103
104 #address-cells = <1>;
105 #size-cells = <0>;
106
107 switch@0 {
108 compatible = "marvell,mv88e6085"; /* 88e6240*/
109 reg = <0>;
110
111 switch_ports: ports {
112 #address-cells = <1>;
113 #size-cells = <0>;
114 };
115
116 mdio {
117 #address-cells = <1>;
118 #size-cells = <0>;
119
120 switchphy0: switchphy@0 {
121 reg = <0>;
122 };
123
124 switchphy1: switchphy@1 {
125 reg = <1>;
126 };
127
128 switchphy2: switchphy@2 {
129 reg = <2>;
130 };
131
132 switchphy3: switchphy@3 {
133 reg = <3>;
134 };
135
136 switchphy4: switchphy@4 {
137 reg = <4>;
138 };
139 };
140 };
141 };
142};
143
144&ecspi5 {
145 cs-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
146 pinctrl-names = "default";
147 pinctrl-0 = <&pinctrl_ecspi5>;
148 status = "okay";
149
150 m25_eeprom: m25p80@0 {
151 compatible = "atmel,at25";
152 spi-max-frequency = <10000000>;
153 size = <0x8000>;
154 pagesize = <64>;
155 reg = <0>;
156 address-width = <16>;
157 };
158};
159
160&i2c1 {
161 pinctrl-names = "default", "gpio";
162 pinctrl-1 = <&pinctrl_i2c1_gpio>;
163 sda-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH>;
164 scl-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;
165
166 pca9547: mux@70 {
167 compatible = "nxp,pca9547";
168 reg = <0x70>;
169 #address-cells = <1>;
170 #size-cells = <0>;
171
172 mux1_i2c1: i2c@0 {
173 #address-cells = <1>;
174 #size-cells = <0>;
175 reg = <0x0>;
176
177 ads7830: ads7830@48 {
178 compatible = "ti,ads7830";
179 reg = <0x48>;
180 };
181
182 mma8453: mma8453@1c {
183 compatible = "fsl,mma8453";
184 reg = <0x1c>;
185 };
186 };
187
188 mux1_i2c2: i2c@1 {
189 #address-cells = <1>;
190 #size-cells = <0>;
191 reg = <0x1>;
192
193 eeprom: eeprom@50 {
194 compatible = "atmel,24c08";
195 reg = <0x50>;
196 };
197
198 mpl3115: mpl3115@60 {
199 compatible = "fsl,mpl3115";
200 reg = <0x60>;
201 };
202 };
203
204 mux1_i2c3: i2c@2 {
205 #address-cells = <1>;
206 #size-cells = <0>;
207 reg = <0x2>;
208 };
209
210 mux1_i2c4: i2c@3 {
211 #address-cells = <1>;
212 #size-cells = <0>;
213 reg = <0x3>;
214
215 sgtl5000: codec@a {
216 compatible = "fsl,sgtl5000";
217 reg = <0x0a>;
218 clocks = <&mclk>;
219 VDDA-supply = <&reg_1p8v>;
220 VDDIO-supply = <&reg_3p3v>;
221 };
222 };
223
224 mux1_i2c5: i2c@4 {
225 #address-cells = <1>;
226 #size-cells = <0>;
227 reg = <0x4>;
228
229 pca9539: pca9539@74 {
230 compatible = "nxp,pca9539";
231 reg = <0x74>;
232 gpio-controller;
233 #gpio-cells = <2>;
234 interrupt-controller;
235 interrupt-parent = <&gpio2>;
236 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
237
238 P12 {
239 gpio-hog;
240 gpios = <10 0>;
241 output-low;
242 line-name = "PCA9539-P12";
243 };
244
245 P13 {
246 gpio-hog;
247 gpios = <11 0>;
248 output-low;
249 line-name = "PCA9539-P13";
250 };
251
252 P14 {
253 gpio-hog;
254 gpios = <12 0>;
255 output-low;
256 line-name = "PCA9539-P14";
257 };
258
259 P15 {
260 gpio-hog;
261 gpios = <13 0>;
262 output-low;
263 line-name = "PCA9539-P15";
264 };
265
266 P16 {
267 gpio-hog;
268 gpios = <14 0>;
269 output-low;
270 line-name = "PCA9539-P16";
271 };
272
273 P17 {
274 gpio-hog;
275 gpios = <15 0>;
276 output-low;
277 line-name = "PCA9539-P17";
278 };
279 };
280 };
281
282 mux1_i2c6: i2c@5 {
283 #address-cells = <1>;
284 #size-cells = <0>;
285 reg = <0x5>;
286 };
287
288 mux1_i2c7: i2c@6 {
289 #address-cells = <1>;
290 #size-cells = <0>;
291 reg = <0x6>;
292 };
293
294 mux1_i2c8: i2c@7 {
295 #address-cells = <1>;
296 #size-cells = <0>;
297 reg = <0x7>;
298 };
299 };
300};
301
302&i2c2 {
303 pinctrl-names = "default", "gpio";
304 pinctrl-1 = <&pinctrl_i2c2_gpio>;
305 sda-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
306 scl-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
307};
308
309&i2c3 {
310 pinctrl-names = "default", "gpio";
311 pinctrl-1 = <&pinctrl_i2c3_gpio>;
312 sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
313 scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
314};
315
316&iomuxc {
317 pinctrl_i2c1_gpio: i2c1gpiogrp {
318 fsl,pins = <
319 MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x1b0b0
320 MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x1b0b0
321 >;
322 };
323
324 pinctrl_i2c2_gpio: i2c2gpiogrp {
325 fsl,pins = <
326 MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0
327 MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0
328 >;
329 };
330
331 pinctrl_i2c3_gpio: i2c3gpiogrp {
332 fsl,pins = <
333 MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0
334 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0
335 >;
336 };
337};
338
339&pmu {
340 secure-reg-access;
341};
342
343&usdhc2 {
344 status = "disabled";
345};
346
347&usdhc4 {
348 pinctrl-names = "default";
349 pinctrl-0 = <&pinctrl_usdhc4>;
350 bus-width = <4>;
351 vmmc-supply = <&reg_wl18xx_vmmc>;
352 no-1-8-v;
353 non-removable;
354 wakeup-source;
355 keep-power-in-suspend;
356 cap-power-off-card;
357 max-frequency = <25000000>;
358 #address-cells = <1>;
359 #size-cells = <0>;
360 status = "okay";
361
362 wlcore: wlcore@2 {
363 compatible = "ti,wl1837";
364 reg = <2>;
365 interrupt-parent = <&gpio2>;
366 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
367 tcxo-clock-frequency = <26000000>;
368 };
369};
370
371&pcie {
372 /* Synopsys, Inc. Device */
373 pci_root: root@0,0 {
374 compatible = "pci16c3,abcd";
375 reg = <0x00000000 0 0 0 0>;
376
377 #address-cells = <3>;
378 #size-cells = <2>;
379 #interrupt-cells = <1>;
380 };
381};