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