watchdog: designware: Convert to DM and DT probing
[platform/kernel/u-boot.git] / arch / arm / dts / imx6q-bx50v3.dtsi
1 // 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"
45 #include "imx6q-bx50v3-uboot.dtsi"
46
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 };