Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.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 &i2c1 {
161         clock-frequency = <100000>;
162         pinctrl-names = "default";
163         pinctrl-0 = <&pinctrl_i2c1>;
164         status = "okay";
165
166         eeprom1: eeprom@50 {
167                 compatible = "atmel,24c02";
168                 reg = <0x50>;
169                 pagesize = <16>;
170         };
171
172         eeprom2: eeprom@51 {
173                 compatible = "atmel,24c02";
174                 reg = <0x51>;
175                 pagesize = <16>;
176         };
177
178         eeprom3: eeprom@52 {
179                 compatible = "atmel,24c02";
180                 reg = <0x52>;
181                 pagesize = <16>;
182         };
183
184         eeprom4: eeprom@53 {
185                 compatible = "atmel,24c02";
186                 reg = <0x53>;
187                 pagesize = <16>;
188         };
189
190         gpio: pca9555@23 {
191                 compatible = "nxp,pca9555";
192                 reg = <0x23>;
193                 gpio-controller;
194                 #gpio-cells = <2>;
195         };
196
197         hwmon: gsc@29 {
198                 compatible = "gw,gsp";
199                 reg = <0x29>;
200         };
201
202         rtc: ds1672@68 {
203                 compatible = "dallas,ds1672";
204                 reg = <0x68>;
205         };
206 };
207
208 &i2c2 {
209         clock-frequency = <100000>;
210         pinctrl-names = "default";
211         pinctrl-0 = <&pinctrl_i2c2>;
212         status = "okay";
213
214         pmic: pfuze100@08 {
215                 compatible = "fsl,pfuze100";
216                 reg = <0x08>;
217
218                 regulators {
219                         sw1a_reg: sw1ab {
220                                 regulator-min-microvolt = <300000>;
221                                 regulator-max-microvolt = <1875000>;
222                                 regulator-boot-on;
223                                 regulator-always-on;
224                                 regulator-ramp-delay = <6250>;
225                         };
226
227                         sw1c_reg: sw1c {
228                                 regulator-min-microvolt = <300000>;
229                                 regulator-max-microvolt = <1875000>;
230                                 regulator-boot-on;
231                                 regulator-always-on;
232                                 regulator-ramp-delay = <6250>;
233                         };
234
235                         sw2_reg: sw2 {
236                                 regulator-min-microvolt = <800000>;
237                                 regulator-max-microvolt = <3950000>;
238                                 regulator-boot-on;
239                                 regulator-always-on;
240                         };
241
242                         sw3a_reg: sw3a {
243                                 regulator-min-microvolt = <400000>;
244                                 regulator-max-microvolt = <1975000>;
245                                 regulator-boot-on;
246                                 regulator-always-on;
247                         };
248
249                         sw3b_reg: sw3b {
250                                 regulator-min-microvolt = <400000>;
251                                 regulator-max-microvolt = <1975000>;
252                                 regulator-boot-on;
253                                 regulator-always-on;
254                         };
255
256                         sw4_reg: sw4 {
257                                 regulator-min-microvolt = <800000>;
258                                 regulator-max-microvolt = <3300000>;
259                         };
260
261                         swbst_reg: swbst {
262                                 regulator-min-microvolt = <5000000>;
263                                 regulator-max-microvolt = <5150000>;
264                         };
265
266                         snvs_reg: vsnvs {
267                                 regulator-min-microvolt = <1000000>;
268                                 regulator-max-microvolt = <3000000>;
269                                 regulator-boot-on;
270                                 regulator-always-on;
271                         };
272
273                         vref_reg: vrefddr {
274                                 regulator-boot-on;
275                                 regulator-always-on;
276                         };
277
278                         vgen1_reg: vgen1 {
279                                 regulator-min-microvolt = <800000>;
280                                 regulator-max-microvolt = <1550000>;
281                         };
282
283                         vgen2_reg: vgen2 {
284                                 regulator-min-microvolt = <800000>;
285                                 regulator-max-microvolt = <1550000>;
286                         };
287
288                         vgen3_reg: vgen3 {
289                                 regulator-min-microvolt = <1800000>;
290                                 regulator-max-microvolt = <3300000>;
291                         };
292
293                         vgen4_reg: vgen4 {
294                                 regulator-min-microvolt = <1800000>;
295                                 regulator-max-microvolt = <3300000>;
296                                 regulator-always-on;
297                         };
298
299                         vgen5_reg: vgen5 {
300                                 regulator-min-microvolt = <1800000>;
301                                 regulator-max-microvolt = <3300000>;
302                                 regulator-always-on;
303                         };
304
305                         vgen6_reg: vgen6 {
306                                 regulator-min-microvolt = <1800000>;
307                                 regulator-max-microvolt = <3300000>;
308                                 regulator-always-on;
309                         };
310                 };
311         };
312
313         pciswitch: pex8609@3f {
314                 compatible = "plx,pex8609";
315                 reg = <0x3f>;
316         };
317
318         pciclkgen: si52147@6b {
319                 compatible = "sil,si52147";
320                 reg = <0x6b>;
321         };
322 };
323
324 &i2c3 {
325         clock-frequency = <100000>;
326         pinctrl-names = "default";
327         pinctrl-0 = <&pinctrl_i2c3>;
328         status = "okay";
329
330         accelerometer: mma8450@1c {
331                 compatible = "fsl,mma8450";
332                 reg = <0x1c>;
333         };
334
335         codec: sgtl5000@0a {
336                 compatible = "fsl,sgtl5000";
337                 reg = <0x0a>;
338                 clocks = <&clks 201>;
339                 VDDA-supply = <&sw4_reg>;
340                 VDDIO-supply = <&reg_3p3v>;
341         };
342
343         hdmiin: adv7611@4c {
344                 compatible = "adi,adv7611";
345                 reg = <0x4c>;
346         };
347
348         touchscreen: egalax_ts@04 {
349                 compatible = "eeti,egalax_ts";
350                 reg = <0x04>;
351                 interrupt-parent = <&gpio7>;
352                 interrupts = <12 2>; /* gpio7_12 active low */
353                 wakeup-gpios = <&gpio7 12 0>;
354         };
355
356         videoout: adv7393@2a {
357                 compatible = "adi,adv7393";
358                 reg = <0x2a>;
359         };
360
361         videoin: adv7180@20 {
362                 compatible = "adi,adv7180";
363                 reg = <0x20>;
364         };
365 };
366
367 &iomuxc {
368         pinctrl-names = "default";
369         pinctrl-0 = <&pinctrl_hog>;
370
371         imx6q-gw5400-a {
372                 pinctrl_hog: hoggrp {
373                         fsl,pins = <
374                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
375                                 MX6QDL_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
376                                 MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
377                                 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
378                                 MX6QDL_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
379                                 MX6QDL_PAD_GPIO_5__GPIO1_IO05     0x80000000 /* GPS_PPS */
380                                 MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
381                                 MX6QDL_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
382                                 MX6QDL_PAD_KEY_COL2__GPIO4_IO10   0x80000000 /* user2 led */
383                                 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
384                                 MX6QDL_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
385                                 MX6QDL_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
386                          >;
387                 };
388
389                 pinctrl_audmux: audmuxgrp {
390                         fsl,pins = <
391                                 MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
392                                 MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
393                                 MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
394                                 MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
395                         >;
396                 };
397
398                 pinctrl_ecspi1: ecspi1grp {
399                         fsl,pins = <
400                                 MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
401                                 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
402                                 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
403                         >;
404                 };
405
406                 pinctrl_enet: enetgrp {
407                         fsl,pins = <
408                                 MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b0b0
409                                 MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b0b0
410                                 MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b0b0
411                                 MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b0b0
412                                 MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b0b0
413                                 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
414                                 MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b0b0
415                                 MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b0b0
416                                 MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b0b0
417                                 MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b0b0
418                                 MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b0b0
419                                 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
420                                 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
421                                 MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
422                                 MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
423                                 MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
424                         >;
425                 };
426
427                 pinctrl_i2c1: i2c1grp {
428                         fsl,pins = <
429                                 MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
430                                 MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
431                         >;
432                 };
433
434                 pinctrl_i2c2: i2c2grp {
435                         fsl,pins = <
436                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
437                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
438                         >;
439                 };
440
441                 pinctrl_i2c3: i2c3grp {
442                         fsl,pins = <
443                                 MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
444                                 MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
445                         >;
446                 };
447
448                 pinctrl_uart1: uart1grp {
449                         fsl,pins = <
450                                 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
451                                 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
452                         >;
453                 };
454
455                 pinctrl_uart2: uart2grp {
456                         fsl,pins = <
457                                 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
458                                 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
459                         >;
460                 };
461
462                 pinctrl_uart5: uart5grp {
463                         fsl,pins = <
464                                 MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
465                                 MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
466                         >;
467                 };
468
469                 pinctrl_usbotg: usbotggrp {
470                         fsl,pins = <
471                                 MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
472                         >;
473                 };
474
475                 pinctrl_usdhc3: usdhc3grp {
476                         fsl,pins = <
477                                 MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
478                                 MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
479                                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
480                                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
481                                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
482                                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
483                         >;
484                 };
485         };
486 };
487
488 &ldb {
489         status = "okay";
490         lvds-channel@0 {
491                 crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
492         };
493 };
494
495 &pcie {
496         reset-gpio = <&gpio1 29 0>;
497         status = "okay";
498
499         eth1: sky2@8 { /* MAC/PHY on bus 8 */
500                 compatible = "marvell,sky2";
501         };
502 };
503
504 &ssi1 {
505         fsl,mode = "i2s-slave";
506         status = "okay";
507 };
508
509 &uart1 {
510         pinctrl-names = "default";
511         pinctrl-0 = <&pinctrl_uart1>;
512         status = "okay";
513 };
514
515 &uart2 {
516         pinctrl-names = "default";
517         pinctrl-0 = <&pinctrl_uart2>;
518         status = "okay";
519 };
520
521 &uart5 {
522         pinctrl-names = "default";
523         pinctrl-0 = <&pinctrl_uart5>;
524         status = "okay";
525 };
526
527 &usbotg {
528         vbus-supply = <&reg_usb_otg_vbus>;
529         pinctrl-names = "default";
530         pinctrl-0 = <&pinctrl_usbotg>;
531         disable-over-current;
532         status = "okay";
533 };
534
535 &usbh1 {
536         vbus-supply = <&reg_usb_h1_vbus>;
537         status = "okay";
538 };
539
540 &usdhc3 {
541         pinctrl-names = "default";
542         pinctrl-0 = <&pinctrl_usdhc3>;
543         cd-gpios = <&gpio7 0 0>;
544         vmmc-supply = <&reg_3p3v>;
545         status = "okay";
546 };