Merge tag 'tegra-for-3.17-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[cascardo/linux.git] / arch / arm / boot / dts / imx6sx-sdb.dts
1 /*
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
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/input/input.h>
13 #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
27         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
45         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                 };
61
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                 };
85
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                 };
93         };
94
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";
116 };
117
118 &fec1 {
119         pinctrl-names = "default";
120         pinctrl-0 = <&pinctrl_enet1>;
121         phy-mode = "rgmii";
122         status = "okay";
123 };
124
125 &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
233 &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
258 &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
271 &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
284 &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 {
318                 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
328                 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
347                 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
354                 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
361                 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
368                 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
390                 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
408                 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 };