Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / imx6qdl-gw52xx.dtsi
1 /*
2  * Copyright 2013 Gateworks Corporation
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 / {
13         /* these are used by bootloader for disabling nodes */
14         aliases {
15                 ethernet0 = &fec;
16                 led0 = &led0;
17                 led1 = &led1;
18                 led2 = &led2;
19                 nand = &gpmi;
20                 ssi0 = &ssi1;
21                 usb0 = &usbh1;
22                 usb1 = &usbotg;
23                 usdhc2 = &usdhc3;
24         };
25
26         chosen {
27                 bootargs = "console=ttymxc1,115200";
28         };
29
30         leds {
31                 compatible = "gpio-leds";
32
33                 led0: user1 {
34                         label = "user1";
35                         gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
36                         default-state = "on";
37                         linux,default-trigger = "heartbeat";
38                 };
39
40                 led1: user2 {
41                         label = "user2";
42                         gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
43                         default-state = "off";
44                 };
45
46                 led2: user3 {
47                         label = "user3";
48                         gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */
49                         default-state = "off";
50                 };
51         };
52
53         memory {
54                 reg = <0x10000000 0x20000000>;
55         };
56
57         pps {
58                 compatible = "pps-gpio";
59                 gpios = <&gpio1 26 0>;
60                 status = "okay";
61         };
62
63         regulators {
64                 compatible = "simple-bus";
65                 #address-cells = <1>;
66                 #size-cells = <0>;
67
68                 reg_1p0v: regulator@0 {
69                         compatible = "regulator-fixed";
70                         reg = <0>;
71                         regulator-name = "1P0V";
72                         regulator-min-microvolt = <1000000>;
73                         regulator-max-microvolt = <1000000>;
74                         regulator-always-on;
75                 };
76
77                 /* remove this fixed regulator once ltc3676__sw2 driver available */
78                 reg_1p8v: regulator@1 {
79                         compatible = "regulator-fixed";
80                         reg = <1>;
81                         regulator-name = "1P8V";
82                         regulator-min-microvolt = <1800000>;
83                         regulator-max-microvolt = <1800000>;
84                         regulator-always-on;
85                 };
86
87                 reg_3p3v: regulator@2 {
88                         compatible = "regulator-fixed";
89                         reg = <2>;
90                         regulator-name = "3P3V";
91                         regulator-min-microvolt = <3300000>;
92                         regulator-max-microvolt = <3300000>;
93                         regulator-always-on;
94                 };
95
96                 reg_5p0v: regulator@3 {
97                         compatible = "regulator-fixed";
98                         reg = <3>;
99                         regulator-name = "5P0V";
100                         regulator-min-microvolt = <5000000>;
101                         regulator-max-microvolt = <5000000>;
102                         regulator-always-on;
103                 };
104
105                 reg_usb_otg_vbus: regulator@4 {
106                         compatible = "regulator-fixed";
107                         reg = <4>;
108                         regulator-name = "usb_otg_vbus";
109                         regulator-min-microvolt = <5000000>;
110                         regulator-max-microvolt = <5000000>;
111                         gpio = <&gpio3 22 0>;
112                         enable-active-high;
113                 };
114         };
115
116         sound {
117                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
118                              "fsl,imx-audio-sgtl5000";
119                 model = "imx6q-sabrelite-sgtl5000";
120                 ssi-controller = <&ssi1>;
121                 audio-codec = <&codec>;
122                 audio-routing =
123                         "MIC_IN", "Mic Jack",
124                         "Mic Jack", "Mic Bias",
125                         "Headphone Jack", "HP_OUT";
126                 mux-int-port = <1>;
127                 mux-ext-port = <4>;
128         };
129 };
130
131 &audmux {
132         pinctrl-names = "default";
133         pinctrl-0 = <&pinctrl_audmux>;
134         status = "okay";
135 };
136
137 &fec {
138         pinctrl-names = "default";
139         pinctrl-0 = <&pinctrl_enet>;
140         phy-mode = "rgmii";
141         phy-reset-gpios = <&gpio1 30 0>;
142         status = "okay";
143 };
144
145 &gpmi {
146         pinctrl-names = "default";
147         pinctrl-0 = <&pinctrl_gpmi_nand>;
148         status = "okay";
149 };
150
151 &i2c1 {
152         clock-frequency = <100000>;
153         pinctrl-names = "default";
154         pinctrl-0 = <&pinctrl_i2c1>;
155         status = "okay";
156
157         eeprom1: eeprom@50 {
158                 compatible = "atmel,24c02";
159                 reg = <0x50>;
160                 pagesize = <16>;
161         };
162
163         eeprom2: eeprom@51 {
164                 compatible = "atmel,24c02";
165                 reg = <0x51>;
166                 pagesize = <16>;
167         };
168
169         eeprom3: eeprom@52 {
170                 compatible = "atmel,24c02";
171                 reg = <0x52>;
172                 pagesize = <16>;
173         };
174
175         eeprom4: eeprom@53 {
176                 compatible = "atmel,24c02";
177                 reg = <0x53>;
178                 pagesize = <16>;
179         };
180
181         gpio: pca9555@23 {
182                 compatible = "nxp,pca9555";
183                 reg = <0x23>;
184                 gpio-controller;
185                 #gpio-cells = <2>;
186         };
187
188         hwmon: gsc@29 {
189                 compatible = "gw,gsp";
190                 reg = <0x29>;
191         };
192
193         rtc: ds1672@68 {
194                 compatible = "dallas,ds1672";
195                 reg = <0x68>;
196         };
197 };
198
199 &i2c2 {
200         clock-frequency = <100000>;
201         pinctrl-names = "default";
202         pinctrl-0 = <&pinctrl_i2c2>;
203         status = "okay";
204
205         pciswitch: pex8609@3f {
206                 compatible = "plx,pex8609";
207                 reg = <0x3f>;
208         };
209
210         pmic: ltc3676@3c {
211                 compatible = "ltc,ltc3676";
212                 reg = <0x3c>;
213
214                 regulators {
215                         sw1_reg: ltc3676__sw1 {
216                                 regulator-min-microvolt = <1175000>;
217                                 regulator-max-microvolt = <1175000>;
218                                 regulator-boot-on;
219                                 regulator-always-on;
220                         };
221
222                         sw2_reg: ltc3676__sw2 {
223                                 regulator-min-microvolt = <1800000>;
224                                 regulator-max-microvolt = <1800000>;
225                                 regulator-boot-on;
226                                 regulator-always-on;
227                         };
228
229                         sw3_reg: ltc3676__sw3 {
230                                 regulator-min-microvolt = <1175000>;
231                                 regulator-max-microvolt = <1175000>;
232                                 regulator-boot-on;
233                                 regulator-always-on;
234                         };
235
236                         sw4_reg: ltc3676__sw4 {
237                                 regulator-min-microvolt = <1500000>;
238                                 regulator-max-microvolt = <1500000>;
239                                 regulator-boot-on;
240                                 regulator-always-on;
241                         };
242
243                         ldo2_reg: ltc3676__ldo2 {
244                                 regulator-min-microvolt = <2500000>;
245                                 regulator-max-microvolt = <2500000>;
246                                 regulator-boot-on;
247                                 regulator-always-on;
248                         };
249
250                         ldo3_reg: ltc3676__ldo3 {
251                                 regulator-min-microvolt = <1800000>;
252                                 regulator-max-microvolt = <1800000>;
253                                 regulator-boot-on;
254                                 regulator-always-on;
255                         };
256
257                         ldo4_reg: ltc3676__ldo4 {
258                                 regulator-min-microvolt = <3000000>;
259                                 regulator-max-microvolt = <3000000>;
260                         };
261                 };
262         };
263 };
264
265 &i2c3 {
266         clock-frequency = <100000>;
267         pinctrl-names = "default";
268         pinctrl-0 = <&pinctrl_i2c3>;
269         status = "okay";
270
271         accelerometer: fxos8700@1e {
272                 compatible = "fsl,fxos8700";
273                 reg = <0x13>;
274         };
275
276         codec: sgtl5000@0a {
277                 compatible = "fsl,sgtl5000";
278                 reg = <0x0a>;
279                 clocks = <&clks 169>;
280                 VDDA-supply = <&reg_1p8v>;
281                 VDDIO-supply = <&reg_3p3v>;
282         };
283
284         touchscreen: egalax_ts@04 {
285                 compatible = "eeti,egalax_ts";
286                 reg = <0x04>;
287                 interrupt-parent = <&gpio7>;
288                 interrupts = <12 2>; /* gpio7_12 active low */
289                 wakeup-gpios = <&gpio7 12 0>;
290         };
291
292         videoin: adv7180@20 {
293                 compatible = "adi,adv7180";
294                 reg = <0x20>;
295         };
296 };
297
298 &iomuxc {
299         pinctrl-names = "default";
300         pinctrl-0 = <&pinctrl_hog>;
301
302         imx6qdl-gw52xx {
303                 pinctrl_hog: hoggrp {
304                         fsl,pins = <
305                                 MX6QDL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
306                                 MX6QDL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
307                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
308                                 MX6QDL_PAD_EIM_D31__GPIO3_IO31   0x80000000 /* VIDDEC_PDN# */
309                                 MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
310                                 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
311                                 MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
312                                 MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
313                                 MX6QDL_PAD_GPIO_0__CCM_CLKO1     0x000130b0 /* AUD4_MCK */
314                                 MX6QDL_PAD_GPIO_2__GPIO1_IO02    0x80000000 /* USB_SEL_PCI */
315                                 MX6QDL_PAD_GPIO_17__GPIO7_IO12   0x80000000 /* TOUCH_IRQ# */
316                                 MX6QDL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
317                                 MX6QDL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
318                                 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15  0x80000000 /* user3 led */
319                                 MX6QDL_PAD_SD2_CMD__GPIO1_IO11   0x80000000 /* LVDS_TCH# */
320                                 MX6QDL_PAD_SD3_DAT5__GPIO7_IO00  0x80000000 /* SD3_CD# */
321                                 MX6QDL_PAD_SD4_DAT3__GPIO2_IO11  0x80000000 /* UART2_EN# */
322                          >;
323                 };
324
325                 pinctrl_audmux: audmuxgrp {
326                         fsl,pins = <
327                                 MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
328                                 MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
329                                 MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
330                                 MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
331                         >;
332                 };
333
334                 pinctrl_enet: enetgrp {
335                         fsl,pins = <
336                                 MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b0b0
337                                 MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b0b0
338                                 MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b0b0
339                                 MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b0b0
340                                 MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b0b0
341                                 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
342                                 MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b0b0
343                                 MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b0b0
344                                 MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b0b0
345                                 MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b0b0
346                                 MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b0b0
347                                 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
348                                 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
349                                 MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
350                                 MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
351                                 MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
352                         >;
353                 };
354
355                 pinctrl_gpmi_nand: gpminandgrp {
356                         fsl,pins = <
357                                 MX6QDL_PAD_NANDF_CLE__NAND_CLE          0xb0b1
358                                 MX6QDL_PAD_NANDF_ALE__NAND_ALE          0xb0b1
359                                 MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0xb0b1
360                                 MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0xb000
361                                 MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0xb0b1
362                                 MX6QDL_PAD_NANDF_CS1__NAND_CE1_B        0xb0b1
363                                 MX6QDL_PAD_SD4_CMD__NAND_RE_B           0xb0b1
364                                 MX6QDL_PAD_SD4_CLK__NAND_WE_B           0xb0b1
365                                 MX6QDL_PAD_NANDF_D0__NAND_DATA00        0xb0b1
366                                 MX6QDL_PAD_NANDF_D1__NAND_DATA01        0xb0b1
367                                 MX6QDL_PAD_NANDF_D2__NAND_DATA02        0xb0b1
368                                 MX6QDL_PAD_NANDF_D3__NAND_DATA03        0xb0b1
369                                 MX6QDL_PAD_NANDF_D4__NAND_DATA04        0xb0b1
370                                 MX6QDL_PAD_NANDF_D5__NAND_DATA05        0xb0b1
371                                 MX6QDL_PAD_NANDF_D6__NAND_DATA06        0xb0b1
372                                 MX6QDL_PAD_NANDF_D7__NAND_DATA07        0xb0b1
373                         >;
374                 };
375
376                 pinctrl_i2c1: i2c1grp {
377                         fsl,pins = <
378                                 MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
379                                 MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
380                         >;
381                 };
382
383                 pinctrl_i2c2: i2c2grp {
384                         fsl,pins = <
385                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
386                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
387                         >;
388                 };
389
390                 pinctrl_i2c3: i2c3grp {
391                         fsl,pins = <
392                                 MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
393                                 MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
394                         >;
395                 };
396
397                 pinctrl_uart1: uart1grp {
398                         fsl,pins = <
399                                 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
400                                 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
401                         >;
402                 };
403
404                 pinctrl_uart2: uart2grp {
405                         fsl,pins = <
406                                 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
407                                 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
408                         >;
409                 };
410
411                 pinctrl_uart5: uart5grp {
412                         fsl,pins = <
413                                 MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
414                                 MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
415                         >;
416                 };
417
418                 pinctrl_usbotg: usbotggrp {
419                         fsl,pins = <
420                                 MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
421                         >;
422                 };
423
424                 pinctrl_usdhc3: usdhc3grp {
425                         fsl,pins = <
426                                 MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
427                                 MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
428                                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
429                                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
430                                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
431                                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
432                         >;
433                 };
434         };
435 };
436
437 &ldb {
438         status = "okay";
439 };
440
441 &pcie {
442         reset-gpio = <&gpio1 29 0>;
443         status = "okay";
444 };
445
446 &ssi1 {
447         fsl,mode = "i2s-slave";
448         status = "okay";
449 };
450
451 &uart1 {
452         pinctrl-names = "default";
453         pinctrl-0 = <&pinctrl_uart1>;
454         status = "okay";
455 };
456
457 &uart2 {
458         pinctrl-names = "default";
459         pinctrl-0 = <&pinctrl_uart2>;
460         status = "okay";
461 };
462
463 &uart5 {
464         pinctrl-names = "default";
465         pinctrl-0 = <&pinctrl_uart5>;
466         status = "okay";
467 };
468
469 &usbotg {
470         vbus-supply = <&reg_usb_otg_vbus>;
471         pinctrl-names = "default";
472         pinctrl-0 = <&pinctrl_usbotg>;
473         disable-over-current;
474         status = "okay";
475 };
476
477 &usbh1 {
478         status = "okay";
479 };
480
481 &usdhc3 {
482         pinctrl-names = "default";
483         pinctrl-0 = <&pinctrl_usdhc3>;
484         cd-gpios = <&gpio7 0 0>;
485         vmmc-supply = <&reg_3p3v>;
486         status = "okay";
487 };