Merge remote-tracking branch 'regulator/topic/core' into regulator-next
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / imx6q-gw5400-a.dts
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 /dts-v1/;
13 #include "imx6q.dtsi"
14
15 / {
16         model = "Gateworks Ventana GW5400-A";
17         compatible = "gw,imx6q-gw5400-a", "gw,ventana", "fsl,imx6q";
18
19         /* these are used by bootloader for disabling nodes */
20         aliases {
21                 ethernet0 = &fec;
22                 ethernet1 = &eth1;
23                 i2c0 = &i2c1;
24                 i2c1 = &i2c2;
25                 i2c2 = &i2c3;
26                 led0 = &led0;
27                 led1 = &led1;
28                 led2 = &led2;
29                 sky2 = &eth1;
30                 ssi0 = &ssi1;
31                 spi0 = &ecspi1;
32                 usb0 = &usbh1;
33                 usb1 = &usbotg;
34                 usdhc2 = &usdhc3;
35         };
36
37         chosen {
38                 bootargs = "console=ttymxc1,115200";
39         };
40
41         leds {
42                 compatible = "gpio-leds";
43
44                 led0: user1 {
45                         label = "user1";
46                         gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
47                         default-state = "on";
48                         linux,default-trigger = "heartbeat";
49                 };
50
51                 led1: user2 {
52                         label = "user2";
53                         gpios = <&gpio4 10 0>; /* 106 -> MX6_PANLEDR */
54                         default-state = "off";
55                 };
56
57                 led2: user3 {
58                         label = "user3";
59                         gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
60                         default-state = "off";
61                 };
62         };
63
64         memory {
65                 reg = <0x10000000 0x40000000>;
66         };
67
68         pps {
69                 compatible = "pps-gpio";
70                 gpios = <&gpio1 5 0>;
71                 status = "okay";
72         };
73
74         regulators {
75                 compatible = "simple-bus";
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78
79                 reg_1p0v: regulator@0 {
80                         compatible = "regulator-fixed";
81                         reg = <0>;
82                         regulator-name = "1P0V";
83                         regulator-min-microvolt = <1000000>;
84                         regulator-max-microvolt = <1000000>;
85                         regulator-always-on;
86                 };
87
88                 reg_3p3v: regulator@1 {
89                         compatible = "regulator-fixed";
90                         reg = <1>;
91                         regulator-name = "3P3V";
92                         regulator-min-microvolt = <3300000>;
93                         regulator-max-microvolt = <3300000>;
94                         regulator-always-on;
95                 };
96
97                 reg_usb_h1_vbus: regulator@2 {
98                         compatible = "regulator-fixed";
99                         reg = <2>;
100                         regulator-name = "usb_h1_vbus";
101                         regulator-min-microvolt = <5000000>;
102                         regulator-max-microvolt = <5000000>;
103                         regulator-always-on;
104                 };
105
106                 reg_usb_otg_vbus: regulator@3 {
107                         compatible = "regulator-fixed";
108                         reg = <3>;
109                         regulator-name = "usb_otg_vbus";
110                         regulator-min-microvolt = <5000000>;
111                         regulator-max-microvolt = <5000000>;
112                         gpio = <&gpio3 22 0>;
113                         enable-active-high;
114                 };
115         };
116
117         sound {
118                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
119                              "fsl,imx-audio-sgtl5000";
120                 model = "imx6q-sabrelite-sgtl5000";
121                 ssi-controller = <&ssi1>;
122                 audio-codec = <&codec>;
123                 audio-routing =
124                         "MIC_IN", "Mic Jack",
125                         "Mic Jack", "Mic Bias",
126                         "Headphone Jack", "HP_OUT";
127                 mux-int-port = <1>;
128                 mux-ext-port = <4>;
129         };
130 };
131
132 &audmux {
133         pinctrl-names = "default";
134         pinctrl-0 = <&pinctrl_audmux>;
135         status = "okay";
136 };
137
138 &ecspi1 {
139         fsl,spi-num-chipselects = <1>;
140         cs-gpios = <&gpio3 19 0>;
141         pinctrl-names = "default";
142         pinctrl-0 = <&pinctrl_ecspi1>;
143         status = "okay";
144
145         flash: m25p80@0 {
146                 compatible = "sst,w25q256";
147                 spi-max-frequency = <30000000>;
148                 reg = <0>;
149         };
150 };
151
152 &fec {
153         pinctrl-names = "default";
154         pinctrl-0 = <&pinctrl_enet>;
155         phy-mode = "rgmii";
156         phy-reset-gpios = <&gpio1 30 0>;
157         status = "okay";
158 };
159
160 &hdmi {
161         ddc-i2c-bus = <&i2c3>;
162         status = "okay";
163 };
164
165 &i2c1 {
166         clock-frequency = <100000>;
167         pinctrl-names = "default";
168         pinctrl-0 = <&pinctrl_i2c1>;
169         status = "okay";
170
171         eeprom1: eeprom@50 {
172                 compatible = "atmel,24c02";
173                 reg = <0x50>;
174                 pagesize = <16>;
175         };
176
177         eeprom2: eeprom@51 {
178                 compatible = "atmel,24c02";
179                 reg = <0x51>;
180                 pagesize = <16>;
181         };
182
183         eeprom3: eeprom@52 {
184                 compatible = "atmel,24c02";
185                 reg = <0x52>;
186                 pagesize = <16>;
187         };
188
189         eeprom4: eeprom@53 {
190                 compatible = "atmel,24c02";
191                 reg = <0x53>;
192                 pagesize = <16>;
193         };
194
195         gpio: pca9555@23 {
196                 compatible = "nxp,pca9555";
197                 reg = <0x23>;
198                 gpio-controller;
199                 #gpio-cells = <2>;
200         };
201
202         hwmon: gsc@29 {
203                 compatible = "gw,gsp";
204                 reg = <0x29>;
205         };
206
207         rtc: ds1672@68 {
208                 compatible = "dallas,ds1672";
209                 reg = <0x68>;
210         };
211 };
212
213 &i2c2 {
214         clock-frequency = <100000>;
215         pinctrl-names = "default";
216         pinctrl-0 = <&pinctrl_i2c2>;
217         status = "okay";
218
219         pmic: pfuze100@08 {
220                 compatible = "fsl,pfuze100";
221                 reg = <0x08>;
222
223                 regulators {
224                         sw1a_reg: sw1ab {
225                                 regulator-min-microvolt = <300000>;
226                                 regulator-max-microvolt = <1875000>;
227                                 regulator-boot-on;
228                                 regulator-always-on;
229                                 regulator-ramp-delay = <6250>;
230                         };
231
232                         sw1c_reg: sw1c {
233                                 regulator-min-microvolt = <300000>;
234                                 regulator-max-microvolt = <1875000>;
235                                 regulator-boot-on;
236                                 regulator-always-on;
237                                 regulator-ramp-delay = <6250>;
238                         };
239
240                         sw2_reg: sw2 {
241                                 regulator-min-microvolt = <800000>;
242                                 regulator-max-microvolt = <3950000>;
243                                 regulator-boot-on;
244                                 regulator-always-on;
245                         };
246
247                         sw3a_reg: sw3a {
248                                 regulator-min-microvolt = <400000>;
249                                 regulator-max-microvolt = <1975000>;
250                                 regulator-boot-on;
251                                 regulator-always-on;
252                         };
253
254                         sw3b_reg: sw3b {
255                                 regulator-min-microvolt = <400000>;
256                                 regulator-max-microvolt = <1975000>;
257                                 regulator-boot-on;
258                                 regulator-always-on;
259                         };
260
261                         sw4_reg: sw4 {
262                                 regulator-min-microvolt = <800000>;
263                                 regulator-max-microvolt = <3300000>;
264                         };
265
266                         swbst_reg: swbst {
267                                 regulator-min-microvolt = <5000000>;
268                                 regulator-max-microvolt = <5150000>;
269                         };
270
271                         snvs_reg: vsnvs {
272                                 regulator-min-microvolt = <1000000>;
273                                 regulator-max-microvolt = <3000000>;
274                                 regulator-boot-on;
275                                 regulator-always-on;
276                         };
277
278                         vref_reg: vrefddr {
279                                 regulator-boot-on;
280                                 regulator-always-on;
281                         };
282
283                         vgen1_reg: vgen1 {
284                                 regulator-min-microvolt = <800000>;
285                                 regulator-max-microvolt = <1550000>;
286                         };
287
288                         vgen2_reg: vgen2 {
289                                 regulator-min-microvolt = <800000>;
290                                 regulator-max-microvolt = <1550000>;
291                         };
292
293                         vgen3_reg: vgen3 {
294                                 regulator-min-microvolt = <1800000>;
295                                 regulator-max-microvolt = <3300000>;
296                         };
297
298                         vgen4_reg: vgen4 {
299                                 regulator-min-microvolt = <1800000>;
300                                 regulator-max-microvolt = <3300000>;
301                                 regulator-always-on;
302                         };
303
304                         vgen5_reg: vgen5 {
305                                 regulator-min-microvolt = <1800000>;
306                                 regulator-max-microvolt = <3300000>;
307                                 regulator-always-on;
308                         };
309
310                         vgen6_reg: vgen6 {
311                                 regulator-min-microvolt = <1800000>;
312                                 regulator-max-microvolt = <3300000>;
313                                 regulator-always-on;
314                         };
315                 };
316         };
317
318         pciswitch: pex8609@3f {
319                 compatible = "plx,pex8609";
320                 reg = <0x3f>;
321         };
322
323         pciclkgen: si52147@6b {
324                 compatible = "sil,si52147";
325                 reg = <0x6b>;
326         };
327 };
328
329 &i2c3 {
330         clock-frequency = <100000>;
331         pinctrl-names = "default";
332         pinctrl-0 = <&pinctrl_i2c3>;
333         status = "okay";
334
335         accelerometer: mma8450@1c {
336                 compatible = "fsl,mma8450";
337                 reg = <0x1c>;
338         };
339
340         codec: sgtl5000@0a {
341                 compatible = "fsl,sgtl5000";
342                 reg = <0x0a>;
343                 clocks = <&clks 201>;
344                 VDDA-supply = <&sw4_reg>;
345                 VDDIO-supply = <&reg_3p3v>;
346         };
347
348         hdmiin: adv7611@4c {
349                 compatible = "adi,adv7611";
350                 reg = <0x4c>;
351         };
352
353         touchscreen: egalax_ts@04 {
354                 compatible = "eeti,egalax_ts";
355                 reg = <0x04>;
356                 interrupt-parent = <&gpio7>;
357                 interrupts = <12 2>; /* gpio7_12 active low */
358                 wakeup-gpios = <&gpio7 12 0>;
359         };
360
361         videoout: adv7393@2a {
362                 compatible = "adi,adv7393";
363                 reg = <0x2a>;
364         };
365
366         videoin: adv7180@20 {
367                 compatible = "adi,adv7180";
368                 reg = <0x20>;
369         };
370 };
371
372 &iomuxc {
373         pinctrl-names = "default";
374         pinctrl-0 = <&pinctrl_hog>;
375
376         imx6q-gw5400-a {
377                 pinctrl_hog: hoggrp {
378                         fsl,pins = <
379                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
380                                 MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
381                                 MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
382                                 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
383                                 MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
384                                 MX6QDL_PAD_GPIO_5__GPIO1_IO05     0x80000000 /* GPS_PPS */
385                                 MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
386                                 MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
387                                 MX6QDL_PAD_KEY_COL2__GPIO4_IO10   0x80000000 /* user2 led */
388                                 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
389                                 MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
390                                 MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
391                          >;
392                 };
393
394                 pinctrl_audmux: audmuxgrp {
395                         fsl,pins = <
396                                 MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
397                                 MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
398                                 MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
399                                 MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
400                         >;
401                 };
402
403                 pinctrl_ecspi1: ecspi1grp {
404                         fsl,pins = <
405                                 MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
406                                 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
407                                 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
408                         >;
409                 };
410
411                 pinctrl_enet: enetgrp {
412                         fsl,pins = <
413                                 MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b0b0
414                                 MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b0b0
415                                 MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b0b0
416                                 MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b0b0
417                                 MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b0b0
418                                 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
419                                 MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b0b0
420                                 MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b0b0
421                                 MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b0b0
422                                 MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b0b0
423                                 MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b0b0
424                                 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
425                                 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
426                                 MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
427                                 MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
428                                 MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
429                         >;
430                 };
431
432                 pinctrl_i2c1: i2c1grp {
433                         fsl,pins = <
434                                 MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
435                                 MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
436                         >;
437                 };
438
439                 pinctrl_i2c2: i2c2grp {
440                         fsl,pins = <
441                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
442                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
443                         >;
444                 };
445
446                 pinctrl_i2c3: i2c3grp {
447                         fsl,pins = <
448                                 MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
449                                 MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
450                         >;
451                 };
452
453                 pinctrl_uart1: uart1grp {
454                         fsl,pins = <
455                                 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
456                                 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
457                         >;
458                 };
459
460                 pinctrl_uart2: uart2grp {
461                         fsl,pins = <
462                                 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
463                                 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
464                         >;
465                 };
466
467                 pinctrl_uart5: uart5grp {
468                         fsl,pins = <
469                                 MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
470                                 MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
471                         >;
472                 };
473
474                 pinctrl_usbotg: usbotggrp {
475                         fsl,pins = <
476                                 MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
477                         >;
478                 };
479
480                 pinctrl_usdhc3: usdhc3grp {
481                         fsl,pins = <
482                                 MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
483                                 MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
484                                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
485                                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
486                                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
487                                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
488                         >;
489                 };
490         };
491 };
492
493 &ldb {
494         status = "okay";
495 };
496
497 &pcie {
498         reset-gpio = <&gpio1 29 0>;
499         status = "okay";
500
501         eth1: sky2@8 { /* MAC/PHY on bus 8 */
502                 compatible = "marvell,sky2";
503         };
504 };
505
506 &ssi1 {
507         fsl,mode = "i2s-slave";
508         status = "okay";
509 };
510
511 &uart1 {
512         pinctrl-names = "default";
513         pinctrl-0 = <&pinctrl_uart1>;
514         status = "okay";
515 };
516
517 &uart2 {
518         pinctrl-names = "default";
519         pinctrl-0 = <&pinctrl_uart2>;
520         status = "okay";
521 };
522
523 &uart5 {
524         pinctrl-names = "default";
525         pinctrl-0 = <&pinctrl_uart5>;
526         status = "okay";
527 };
528
529 &usbotg {
530         vbus-supply = <&reg_usb_otg_vbus>;
531         pinctrl-names = "default";
532         pinctrl-0 = <&pinctrl_usbotg>;
533         disable-over-current;
534         status = "okay";
535 };
536
537 &usbh1 {
538         vbus-supply = <&reg_usb_h1_vbus>;
539         status = "okay";
540 };
541
542 &usdhc3 {
543         pinctrl-names = "default";
544         pinctrl-0 = <&pinctrl_usdhc3>;
545         cd-gpios = <&gpio7 0 0>;
546         vmmc-supply = <&reg_3p3v>;
547         status = "okay";
548 };