blob: 4d03d49fde9393d75df0fd2f542f9a0a5d347236 [file] [log] [blame]
Anatolij Gustschin55f644c2019-03-18 23:29:41 +01001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright 2013 Freescale Semiconductor, Inc.
4 *
5 * Author: Fabio Estevam <fabio.estevam@freescale.com>
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9
10/ {
11 sound {
12 compatible = "fsl,imx6-wandboard-sgtl5000",
13 "fsl,imx-audio-sgtl5000";
14 model = "imx6-wandboard-sgtl5000";
15 ssi-controller = <&ssi1>;
16 audio-codec = <&codec>;
17 audio-routing =
18 "MIC_IN", "Mic Jack",
19 "Mic Jack", "Mic Bias",
20 "Headphone Jack", "HP_OUT";
21 mux-int-port = <1>;
22 mux-ext-port = <3>;
23 };
24
25 sound-spdif {
26 compatible = "fsl,imx-audio-spdif";
27 model = "imx-spdif";
28 spdif-controller = <&spdif>;
29 spdif-out;
30 };
31
32 reg_2p5v: regulator-2p5v {
33 compatible = "regulator-fixed";
34 regulator-name = "2P5V";
35 regulator-min-microvolt = <2500000>;
36 regulator-max-microvolt = <2500000>;
37 regulator-always-on;
38 };
39
40 reg_3p3v: regulator-3p3v {
41 compatible = "regulator-fixed";
42 regulator-name = "3P3V";
43 regulator-min-microvolt = <3300000>;
44 regulator-max-microvolt = <3300000>;
45 regulator-always-on;
46 };
47
48 reg_usb_otg_vbus: regulator-usbotgvbus {
49 compatible = "regulator-fixed";
50 regulator-name = "usb_otg_vbus";
51 regulator-min-microvolt = <5000000>;
52 regulator-max-microvolt = <5000000>;
53 pinctrl-names = "default";
54 pinctrl-0 = <&pinctrl_usbotgvbus>;
55 gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
56 };
57};
58
59&audmux {
60 pinctrl-names = "default";
61 pinctrl-0 = <&pinctrl_audmux>;
62 status = "okay";
63};
64
65&hdmi {
66 ddc-i2c-bus = <&i2c1>;
67 status = "okay";
68};
69
70&i2c1 {
71 clock-frequency = <100000>;
72 pinctrl-names = "default";
73 pinctrl-0 = <&pinctrl_i2c1>;
74 status = "okay";
75};
76
77&i2c2 {
78 clock-frequency = <100000>;
79 pinctrl-names = "default";
80 pinctrl-0 = <&pinctrl_i2c2>;
81 status = "okay";
82
83 codec: sgtl5000@a {
84 pinctrl-names = "default";
85 pinctrl-0 = <&pinctrl_mclk>;
86 compatible = "fsl,sgtl5000";
87 reg = <0x0a>;
88 clocks = <&clks IMX6QDL_CLK_CKO>;
89 VDDA-supply = <&reg_2p5v>;
90 VDDIO-supply = <&reg_3p3v>;
91 lrclk-strength = <3>;
92 };
Anatolij Gustschina0e9e842019-03-18 23:29:45 +010093
94 pmic: pfuze100@8 {
95 compatible = "fsl,pfuze100";
96 reg = <0x08>;
97
98 regulators {
99 sw1a_reg: sw1ab {
100 regulator-min-microvolt = <300000>;
101 regulator-max-microvolt = <1875000>;
102 regulator-boot-on;
103 regulator-always-on;
104 regulator-ramp-delay = <6250>;
105 };
106
107 sw1c_reg: sw1c {
108 regulator-min-microvolt = <300000>;
109 regulator-max-microvolt = <1875000>;
110 regulator-boot-on;
111 regulator-always-on;
112 regulator-ramp-delay = <6250>;
113 };
114
115 sw2_reg: sw2 {
116 regulator-min-microvolt = <800000>;
117 regulator-max-microvolt = <3300000>;
118 regulator-boot-on;
119 regulator-always-on;
120 regulator-ramp-delay = <6250>;
121 };
122
123 sw3a_reg: sw3a {
124 regulator-min-microvolt = <400000>;
125 regulator-max-microvolt = <1975000>;
126 regulator-boot-on;
127 regulator-always-on;
128 };
129
130 sw3b_reg: sw3b {
131 regulator-min-microvolt = <400000>;
132 regulator-max-microvolt = <1975000>;
133 regulator-boot-on;
134 regulator-always-on;
135 };
136
137 sw4_reg: sw4 {
138 regulator-min-microvolt = <800000>;
139 regulator-max-microvolt = <3300000>;
140 regulator-always-on;
141 };
142
143 swbst_reg: swbst {
144 regulator-min-microvolt = <5000000>;
145 regulator-max-microvolt = <5150000>;
146 };
147
148 snvs_reg: vsnvs {
149 regulator-min-microvolt = <1000000>;
150 regulator-max-microvolt = <3000000>;
151 regulator-boot-on;
152 regulator-always-on;
153 };
154
155 vref_reg: vrefddr {
156 regulator-boot-on;
157 regulator-always-on;
158 };
159
160 vgen1_reg: vgen1 {
161 regulator-min-microvolt = <800000>;
162 regulator-max-microvolt = <1550000>;
163 };
164
165 vgen2_reg: vgen2 {
166 regulator-min-microvolt = <800000>;
167 regulator-max-microvolt = <1550000>;
168 };
169
170 vgen3_reg: vgen3 {
171 regulator-min-microvolt = <1800000>;
172 regulator-max-microvolt = <3300000>;
173 };
174
175 vgen4_reg: vgen4 {
176 regulator-min-microvolt = <1800000>;
177 regulator-max-microvolt = <3300000>;
178 regulator-always-on;
179 };
180
181 vgen5_reg: vgen5 {
182 regulator-min-microvolt = <1800000>;
183 regulator-max-microvolt = <3300000>;
184 regulator-always-on;
185 };
186
187 vgen6_reg: vgen6 {
188 regulator-min-microvolt = <1800000>;
189 regulator-max-microvolt = <3300000>;
190 regulator-always-on;
191 };
192 };
193 };
Anatolij Gustschin55f644c2019-03-18 23:29:41 +0100194};
195
196&iomuxc {
197 pinctrl-names = "default";
198
199 imx6qdl-wandboard {
200
201 pinctrl_audmux: audmuxgrp {
202 fsl,pins = <
203 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0
204 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
205 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0
206 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
207 >;
208 };
209
210 pinctrl_enet: enetgrp {
211 fsl,pins = <
212 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
213 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
214 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030
215 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
216 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
217 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
218 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
219 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
220 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
221 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
222 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030
223 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030
224 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
225 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
226 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
227 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
228 MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
229 >;
230 };
231
232 pinctrl_i2c1: i2c1grp {
233 fsl,pins = <
234 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
235 MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
236 >;
237 };
238
239 pinctrl_i2c2: i2c2grp {
240 fsl,pins = <
241 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
242 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
243 >;
244 };
245
246 pinctrl_mclk: mclkgrp {
247 fsl,pins = <
248 MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
249 >;
250 };
251
252 pinctrl_spdif: spdifgrp {
253 fsl,pins = <
254 MX6QDL_PAD_ENET_RXD0__SPDIF_OUT 0x1b0b0
255 >;
256 };
257
258 pinctrl_uart1: uart1grp {
259 fsl,pins = <
260 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
261 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
262 >;
263 };
264
265 pinctrl_uart3: uart3grp {
266 fsl,pins = <
267 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
268 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
269 MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1
270 MX6QDL_PAD_EIM_EB3__UART3_RTS_B 0x1b0b1
271 >;
272 };
273
274 pinctrl_usbotg: usbotggrp {
275 fsl,pins = <
276 MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
277 >;
278 };
279
280 pinctrl_usbotgvbus: usbotgvbusgrp {
281 fsl,pins = <
282 MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x130b0
283 >;
284 };
285
286 pinctrl_usdhc1: usdhc1grp {
287 fsl,pins = <
288 MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
289 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
290 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
291 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
292 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
293 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
294 >;
295 };
296
297 pinctrl_usdhc2: usdhc2grp {
298 fsl,pins = <
299 MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
300 MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
301 MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
302 MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
303 MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
304 MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
305 >;
306 };
307
308 pinctrl_usdhc3: usdhc3grp {
309 fsl,pins = <
310 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
311 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
312 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
313 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
314 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
315 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
316 >;
317 };
318 };
319};
320
321&fec {
322 pinctrl-names = "default";
323 pinctrl-0 = <&pinctrl_enet>;
324 phy-mode = "rgmii";
325 phy-reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
326 interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
327 <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
328 fsl,err006687-workaround-present;
329 status = "okay";
330};
331
332&spdif {
333 pinctrl-names = "default";
334 pinctrl-0 = <&pinctrl_spdif>;
335 status = "okay";
336};
337
338&ssi1 {
339 status = "okay";
340};
341
342&uart1 {
343 pinctrl-names = "default";
344 pinctrl-0 = <&pinctrl_uart1>;
345 status = "okay";
346};
347
348&uart3 {
349 pinctrl-names = "default";
350 pinctrl-0 = <&pinctrl_uart3>;
351 uart-has-rtscts;
352 status = "okay";
353};
354
355&usbh1 {
356 status = "okay";
357};
358
359&usbotg {
360 vbus-supply = <&reg_usb_otg_vbus>;
361 pinctrl-names = "default";
362 pinctrl-0 = <&pinctrl_usbotg>;
363 disable-over-current;
364 dr_mode = "otg";
365 status = "okay";
366};
367
368&usdhc1 {
369 pinctrl-names = "default";
370 pinctrl-0 = <&pinctrl_usdhc1>;
371 cd-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
372 status = "okay";
373};
374
375&usdhc3 {
376 pinctrl-names = "default";
377 pinctrl-0 = <&pinctrl_usdhc3>;
378 cd-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
379 status = "okay";
380};