blob: a3980d9705905446c01218ceafaf729890377456 [file] [log] [blame]
Shawn Guod2daa2f2014-05-13 21:43:36 +08001/*
2 * Copyright (C) 2014 Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9/dts-v1/;
10
Anson Huang4014a4f2014-06-20 13:17:29 +080011#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/input.h>
Shawn Guod2daa2f2014-05-13 21:43:36 +080013#include "imx6sx.dtsi"
14
15/ {
16 model = "Freescale i.MX6 SoloX SDB Board";
17 compatible = "fsl,imx6sx-sdb", "fsl,imx6sx";
18
19 chosen {
20 stdout-path = &uart1;
21 };
22
23 memory {
24 reg = <0x80000000 0x40000000>;
25 };
26
Anson Huang4014a4f2014-06-20 13:17:29 +080027 gpio-keys {
28 compatible = "gpio-keys";
29 pinctrl-names = "default";
30 pinctrl-0 = <&pinctrl_gpio_keys>;
31
32 volume-up {
33 label = "Volume Up";
34 gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
35 linux,code = <KEY_VOLUMEUP>;
36 };
37
38 volume-down {
39 label = "Volume Down";
40 gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
41 linux,code = <KEY_VOLUMEDOWN>;
42 };
43 };
44
Shawn Guod2daa2f2014-05-13 21:43:36 +080045 regulators {
46 compatible = "simple-bus";
47 #address-cells = <1>;
48 #size-cells = <0>;
49
50 vcc_sd3: regulator@0 {
51 compatible = "regulator-fixed";
52 reg = <0>;
53 pinctrl-names = "default";
54 pinctrl-0 = <&pinctrl_vcc_sd3>;
55 regulator-name = "VCC_SD3";
56 regulator-min-microvolt = <3000000>;
57 regulator-max-microvolt = <3000000>;
58 gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>;
59 enable-active-high;
60 };
Fabio Estevam960feff2014-06-23 11:21:05 -030061
62 reg_usb_otg1_vbus: regulator@1 {
63 compatible = "regulator-fixed";
64 reg = <1>;
65 pinctrl-names = "default";
66 pinctrl-0 = <&pinctrl_usb_otg1>;
67 regulator-name = "usb_otg1_vbus";
68 regulator-min-microvolt = <5000000>;
69 regulator-max-microvolt = <5000000>;
70 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
71 enable-active-high;
72 };
73
74 reg_usb_otg2_vbus: regulator@2 {
75 compatible = "regulator-fixed";
76 reg = <2>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&pinctrl_usb_otg2>;
79 regulator-name = "usb_otg2_vbus";
80 regulator-min-microvolt = <5000000>;
81 regulator-max-microvolt = <5000000>;
82 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
83 enable-active-high;
84 };
Fabio Estevam9c86ae82014-07-02 11:58:52 -030085
86 reg_psu_5v: regulator@3 {
87 compatible = "regulator-fixed";
88 reg = <3>;
89 regulator-name = "PSU-5V0";
90 regulator-min-microvolt = <5000000>;
91 regulator-max-microvolt = <5000000>;
92 };
Shawn Guod2daa2f2014-05-13 21:43:36 +080093 };
Fabio Estevam9c86ae82014-07-02 11:58:52 -030094
95 sound {
96 compatible = "fsl,imx6sx-sdb-wm8962", "fsl,imx-audio-wm8962";
97 model = "wm8962-audio";
98 ssi-controller = <&ssi2>;
99 audio-codec = <&codec>;
100 audio-routing =
101 "Headphone Jack", "HPOUTL",
102 "Headphone Jack", "HPOUTR",
103 "Ext Spk", "SPKOUTL",
104 "Ext Spk", "SPKOUTR",
105 "AMIC", "MICBIAS",
106 "IN3R", "AMIC";
107 mux-int-port = <2>;
108 mux-ext-port = <6>;
109 };
110};
111
112&audmux {
113 pinctrl-names = "default";
114 pinctrl-0 = <&pinctrl_audmux>;
115 status = "okay";
Shawn Guod2daa2f2014-05-13 21:43:36 +0800116};
117
118&fec1 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&pinctrl_enet1>;
121 phy-mode = "rgmii";
122 status = "okay";
123};
124
Fabio Estevamb3d8e112014-06-23 11:21:06 -0300125&i2c1 {
126 clock-frequency = <100000>;
127 pinctrl-names = "default";
128 pinctrl-0 = <&pinctrl_i2c1>;
129 status = "okay";
130
131 pmic: pfuze100@08 {
132 compatible = "fsl,pfuze100";
133 reg = <0x08>;
134
135 regulators {
136 sw1a_reg: sw1ab {
137 regulator-min-microvolt = <300000>;
138 regulator-max-microvolt = <1875000>;
139 regulator-boot-on;
140 regulator-always-on;
141 regulator-ramp-delay = <6250>;
142 };
143
144 sw1c_reg: sw1c {
145 regulator-min-microvolt = <300000>;
146 regulator-max-microvolt = <1875000>;
147 regulator-boot-on;
148 regulator-always-on;
149 regulator-ramp-delay = <6250>;
150 };
151
152 sw2_reg: sw2 {
153 regulator-min-microvolt = <800000>;
154 regulator-max-microvolt = <3300000>;
155 regulator-boot-on;
156 regulator-always-on;
157 };
158
159 sw3a_reg: sw3a {
160 regulator-min-microvolt = <400000>;
161 regulator-max-microvolt = <1975000>;
162 regulator-boot-on;
163 regulator-always-on;
164 };
165
166 sw3b_reg: sw3b {
167 regulator-min-microvolt = <400000>;
168 regulator-max-microvolt = <1975000>;
169 regulator-boot-on;
170 regulator-always-on;
171 };
172
173 sw4_reg: sw4 {
174 regulator-min-microvolt = <800000>;
175 regulator-max-microvolt = <3300000>;
176 };
177
178 swbst_reg: swbst {
179 regulator-min-microvolt = <5000000>;
180 regulator-max-microvolt = <5150000>;
181 };
182
183 snvs_reg: vsnvs {
184 regulator-min-microvolt = <1000000>;
185 regulator-max-microvolt = <3000000>;
186 regulator-boot-on;
187 regulator-always-on;
188 };
189
190 vref_reg: vrefddr {
191 regulator-boot-on;
192 regulator-always-on;
193 };
194
195 vgen1_reg: vgen1 {
196 regulator-min-microvolt = <800000>;
197 regulator-max-microvolt = <1550000>;
198 regulator-always-on;
199 };
200
201 vgen2_reg: vgen2 {
202 regulator-min-microvolt = <800000>;
203 regulator-max-microvolt = <1550000>;
204 };
205
206 vgen3_reg: vgen3 {
207 regulator-min-microvolt = <1800000>;
208 regulator-max-microvolt = <3300000>;
209 regulator-always-on;
210 };
211
212 vgen4_reg: vgen4 {
213 regulator-min-microvolt = <1800000>;
214 regulator-max-microvolt = <3300000>;
215 regulator-always-on;
216 };
217
218 vgen5_reg: vgen5 {
219 regulator-min-microvolt = <1800000>;
220 regulator-max-microvolt = <3300000>;
221 regulator-always-on;
222 };
223
224 vgen6_reg: vgen6 {
225 regulator-min-microvolt = <1800000>;
226 regulator-max-microvolt = <3300000>;
227 regulator-always-on;
228 };
229 };
230 };
231};
232
Fabio Estevam9c86ae82014-07-02 11:58:52 -0300233&i2c4 {
234 clock-frequency = <100000>;
235 pinctrl-names = "default";
236 pinctrl-0 = <&pinctrl_i2c4>;
237 status = "okay";
238
239 codec: wm8962@1a {
240 compatible = "wlf,wm8962";
241 reg = <0x1a>;
242 clocks = <&clks IMX6SX_CLK_AUDIO>;
243 DCVDD-supply = <&vgen4_reg>;
244 DBVDD-supply = <&vgen4_reg>;
245 AVDD-supply = <&vgen4_reg>;
246 CPVDD-supply = <&vgen4_reg>;
247 MICVDD-supply = <&vgen3_reg>;
248 PLLVDD-supply = <&vgen4_reg>;
249 SPKVDD1-supply = <&reg_psu_5v>;
250 SPKVDD2-supply = <&reg_psu_5v>;
251 };
252};
253
254&ssi2 {
255 status = "okay";
256};
257
Shawn Guod2daa2f2014-05-13 21:43:36 +0800258&uart1 {
259 pinctrl-names = "default";
260 pinctrl-0 = <&pinctrl_uart1>;
261 status = "okay";
262};
263
264&uart5 { /* for bluetooth */
265 pinctrl-names = "default";
266 pinctrl-0 = <&pinctrl_uart5>;
267 fsl,uart-has-rtscts;
268 status = "okay";
269};
270
Fabio Estevam960feff2014-06-23 11:21:05 -0300271&usbotg1 {
272 vbus-supply = <&reg_usb_otg1_vbus>;
273 pinctrl-names = "default";
274 pinctrl-0 = <&pinctrl_usb_otg1_id>;
275 status = "okay";
276};
277
278&usbotg2 {
279 vbus-supply = <&reg_usb_otg2_vbus>;
280 dr_mode = "host";
281 status = "okay";
282};
283
Shawn Guod2daa2f2014-05-13 21:43:36 +0800284&usdhc2 {
285 pinctrl-names = "default";
286 pinctrl-0 = <&pinctrl_usdhc2>;
287 non-removable;
288 no-1-8-v;
289 keep-power-in-suspend;
290 enable-sdio-wakeup;
291 status = "okay";
292};
293
294&usdhc3 {
295 pinctrl-names = "default", "state_100mhz", "state_200mhz";
296 pinctrl-0 = <&pinctrl_usdhc3>;
297 pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
298 pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
299 bus-width = <8>;
300 cd-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
301 wp-gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
302 keep-power-in-suspend;
303 enable-sdio-wakeup;
304 vmmc-supply = <&vcc_sd3>;
305 status = "okay";
306};
307
308&usdhc4 {
309 pinctrl-names = "default";
310 pinctrl-0 = <&pinctrl_usdhc4>;
311 cd-gpios = <&gpio6 21 GPIO_ACTIVE_HIGH>;
312 wp-gpios = <&gpio6 20 GPIO_ACTIVE_HIGH>;
313 status = "okay";
314};
315
316&iomuxc {
317 imx6x-sdb {
Fabio Estevam9c86ae82014-07-02 11:58:52 -0300318 pinctrl_audmux: audmuxgrp {
319 fsl,pins = <
320 MX6SX_PAD_CSI_DATA00__AUDMUX_AUD6_TXC 0x130b0
321 MX6SX_PAD_CSI_DATA01__AUDMUX_AUD6_TXFS 0x130b0
322 MX6SX_PAD_CSI_HSYNC__AUDMUX_AUD6_TXD 0x120b0
323 MX6SX_PAD_CSI_VSYNC__AUDMUX_AUD6_RXD 0x130b0
324 MX6SX_PAD_CSI_PIXCLK__AUDMUX_MCLK 0x130b0
325 >;
326 };
327
Shawn Guod2daa2f2014-05-13 21:43:36 +0800328 pinctrl_enet1: enet1grp {
329 fsl,pins = <
330 MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0b1
331 MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0b1
332 MX6SX_PAD_RGMII1_TXC__ENET1_RGMII_TXC 0xa0b1
333 MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0b1
334 MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0b1
335 MX6SX_PAD_RGMII1_TD2__ENET1_TX_DATA_2 0xa0b1
336 MX6SX_PAD_RGMII1_TD3__ENET1_TX_DATA_3 0xa0b1
337 MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0b1
338 MX6SX_PAD_RGMII1_RXC__ENET1_RX_CLK 0x3081
339 MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x3081
340 MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x3081
341 MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2 0x3081
342 MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3 0x3081
343 MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081
344 >;
345 };
346
Anson Huang4014a4f2014-06-20 13:17:29 +0800347 pinctrl_gpio_keys: gpio_keysgrp {
348 fsl,pins = <
349 MX6SX_PAD_CSI_DATA04__GPIO1_IO_18 0x17059
350 MX6SX_PAD_CSI_DATA05__GPIO1_IO_19 0x17059
351 >;
352 };
353
Fabio Estevamb3d8e112014-06-23 11:21:06 -0300354 pinctrl_i2c1: i2c1grp {
355 fsl,pins = <
356 MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1
357 MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1
358 >;
359 };
360
Fabio Estevam9c86ae82014-07-02 11:58:52 -0300361 pinctrl_i2c4: i2c4grp {
362 fsl,pins = <
363 MX6SX_PAD_CSI_DATA07__I2C4_SDA 0x4001b8b1
364 MX6SX_PAD_CSI_DATA06__I2C4_SCL 0x4001b8b1
365 >;
366 };
367
Shawn Guod2daa2f2014-05-13 21:43:36 +0800368 pinctrl_vcc_sd3: vccsd3grp {
369 fsl,pins = <
370 MX6SX_PAD_KEY_COL1__GPIO2_IO_11 0x17059
371 >;
372 };
373
374 pinctrl_uart1: uart1grp {
375 fsl,pins = <
376 MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1
377 MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1
378 >;
379 };
380
381 pinctrl_uart5: uart5grp {
382 fsl,pins = <
383 MX6SX_PAD_KEY_ROW3__UART5_RX 0x1b0b1
384 MX6SX_PAD_KEY_COL3__UART5_TX 0x1b0b1
385 MX6SX_PAD_KEY_ROW2__UART5_CTS_B 0x1b0b1
386 MX6SX_PAD_KEY_COL2__UART5_RTS_B 0x1b0b1
387 >;
388 };
389
Fabio Estevam960feff2014-06-23 11:21:05 -0300390 pinctrl_usb_otg1: usbotg1grp {
391 fsl,pins = <
392 MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0
393 >;
394 };
395
396 pinctrl_usb_otg1_id: usbotg1idgrp {
397 fsl,pins = <
398 MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059
399 >;
400 };
401
402 pinctrl_usb_otg2: usbot2ggrp {
403 fsl,pins = <
404 MX6SX_PAD_GPIO1_IO12__GPIO1_IO_12 0x10b0
405 >;
406 };
407
Shawn Guod2daa2f2014-05-13 21:43:36 +0800408 pinctrl_usdhc2: usdhc2grp {
409 fsl,pins = <
410 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059
411 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059
412 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059
413 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059
414 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059
415 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059
416 >;
417 };
418
419 pinctrl_usdhc3: usdhc3grp {
420 fsl,pins = <
421 MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x17059
422 MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x10059
423 MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x17059
424 MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x17059
425 MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x17059
426 MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x17059
427 MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x17059
428 MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x17059
429 MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x17059
430 MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x17059
431 MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x17059 /* CD */
432 MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x17059 /* WP */
433 >;
434 };
435
436 pinctrl_usdhc3_100mhz: usdhc3grp-100mhz {
437 fsl,pins = <
438 MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x170b9
439 MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x100b9
440 MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x170b9
441 MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x170b9
442 MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x170b9
443 MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x170b9
444 MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x170b9
445 MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x170b9
446 MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x170b9
447 MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x170b9
448 >;
449 };
450
451 pinctrl_usdhc3_200mhz: usdhc3grp-200mhz {
452 fsl,pins = <
453 MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x170f9
454 MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x100f9
455 MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x170f9
456 MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x170f9
457 MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x170f9
458 MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x170f9
459 MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x170f9
460 MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x170f9
461 MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x170f9
462 MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x170f9
463 >;
464 };
465
466 pinctrl_usdhc4: usdhc4grp {
467 fsl,pins = <
468 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x17059
469 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x10059
470 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x17059
471 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x17059
472 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x17059
473 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x17059
474 MX6SX_PAD_SD4_DATA7__GPIO6_IO_21 0x17059 /* CD */
475 MX6SX_PAD_SD4_DATA6__GPIO6_IO_20 0x17059 /* WP */
476 >;
477 };
478 };
479};