Merge remote-tracking branches 'spi/fix/dw', 'spi/fix/lantiq' and 'spi/fix/pl022...
[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                 ethernet1 = &eth1;
23                 i2c0 = &i2c1;
24                 i2c1 = &i2c2;
25                 i2c2 = &i2c3;
26                 led0 = &led0;
27                 led1 = &led1;
28                 led2 = &led2;
29                 ssi0 = &ssi1;
30                 spi0 = &ecspi1;
31                 usb0 = &usbh1;
32                 usb1 = &usbotg;
33         };
34
35         chosen {
36                 bootargs = "console=ttymxc1,115200";
37         };
38
39         leds {
40                 compatible = "gpio-leds";
41                 pinctrl-names = "default";
42                 pinctrl-0 = <&pinctrl_gpio_leds>;
43
44                 led0: user1 {
45                         label = "user1";
46                         gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 -> MX6_PANLEDG */
47                         default-state = "on";
48                         linux,default-trigger = "heartbeat";
49                 };
50
51                 led1: user2 {
52                         label = "user2";
53                         gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; /* 106 -> MX6_PANLEDR */
54                         default-state = "off";
55                 };
56
57                 led2: user3 {
58                         label = "user3";
59                         gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* 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                 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_HIGH>;
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@08 {
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@0a {
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@04 {
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         eth1: sky2@8 { /* MAC/PHY on bus 8 */
352                 compatible = "marvell,sky2";
353         };
354 };
355
356 &ssi1 {
357         status = "okay";
358 };
359
360 &uart1 {
361         pinctrl-names = "default";
362         pinctrl-0 = <&pinctrl_uart1>;
363         status = "okay";
364 };
365
366 &uart2 {
367         pinctrl-names = "default";
368         pinctrl-0 = <&pinctrl_uart2>;
369         status = "okay";
370 };
371
372 &uart5 {
373         pinctrl-names = "default";
374         pinctrl-0 = <&pinctrl_uart5>;
375         status = "okay";
376 };
377
378 &usbotg {
379         vbus-supply = <&reg_usb_otg_vbus>;
380         pinctrl-names = "default";
381         pinctrl-0 = <&pinctrl_usbotg>;
382         disable-over-current;
383         status = "okay";
384 };
385
386 &usbh1 {
387         vbus-supply = <&reg_usb_h1_vbus>;
388         status = "okay";
389 };
390
391 &usdhc3 {
392         pinctrl-names = "default";
393         pinctrl-0 = <&pinctrl_usdhc3>;
394         cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
395         vmmc-supply = <&reg_3p3v>;
396         status = "okay";
397 };
398
399 &iomuxc {
400         imx6q-gw5400-a {
401
402                 pinctrl_audmux: audmuxgrp {
403                         fsl,pins = <
404                                 MX6QDL_PAD_SD2_DAT0__AUD4_RXD           0x130b0
405                                 MX6QDL_PAD_SD2_DAT3__AUD4_TXC           0x130b0
406                                 MX6QDL_PAD_SD2_DAT2__AUD4_TXD           0x110b0
407                                 MX6QDL_PAD_SD2_DAT1__AUD4_TXFS          0x130b0
408                                 MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
409                         >;
410                 };
411
412                 pinctrl_ecspi1: ecspi1grp {
413                         fsl,pins = <
414                                 MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
415                                 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
416                                 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
417                                 MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x1b0b0 /* SPINOR_CS0# */
418                         >;
419                 };
420
421                 pinctrl_enet: enetgrp {
422                         fsl,pins = <
423                                 MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
424                                 MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
425                                 MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
426                                 MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
427                                 MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
428                                 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
429                                 MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
430                                 MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
431                                 MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
432                                 MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
433                                 MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
434                                 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
435                                 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
436                                 MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
437                                 MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
438                                 MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
439                         >;
440                 };
441
442                 pinctrl_gpio_leds: gpioledsgrp {
443                         fsl,pins = <
444                                 MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0 /* user1 led */
445                                 MX6QDL_PAD_KEY_COL2__GPIO4_IO10         0x1b0b0 /* user2 led */
446                                 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0 /* user3 led */
447                         >;
448                 };
449
450                 pinctrl_i2c1: i2c1grp {
451                         fsl,pins = <
452                                 MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
453                                 MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
454                         >;
455                 };
456
457                 pinctrl_i2c2: i2c2grp {
458                         fsl,pins = <
459                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
460                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
461                         >;
462                 };
463
464                 pinctrl_i2c3: i2c3grp {
465                         fsl,pins = <
466                                 MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
467                                 MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
468                         >;
469                 };
470
471                 pinctrl_pcie: pciegrp {
472                         fsl,pins = <
473                                 MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0 /* PCIE IRQ */
474                                 MX6QDL_PAD_ENET_TXD1__GPIO1_IO29        0x1b0b0 /* PCIE RST */
475                         >;
476                 };
477
478                 pinctrl_pps: ppsgrp {
479                         fsl,pins = <
480                                 MX6QDL_PAD_GPIO_5__GPIO1_IO05           0x1b0b0 /* GPS_PPS */
481                         >;
482                 };
483
484                 pinctrl_uart1: uart1grp {
485                         fsl,pins = <
486                                 MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
487                                 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
488                         >;
489                 };
490
491                 pinctrl_uart2: uart2grp {
492                         fsl,pins = <
493                                 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
494                                 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
495                         >;
496                 };
497
498                 pinctrl_uart5: uart5grp {
499                         fsl,pins = <
500                                 MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
501                                 MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
502                         >;
503                 };
504
505                 pinctrl_usbotg: usbotggrp {
506                         fsl,pins = <
507                                 MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
508                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* OTG_PWR_EN */
509                         >;
510                 };
511
512                 pinctrl_usdhc3: usdhc3grp {
513                         fsl,pins = <
514                                 MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
515                                 MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
516                                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
517                                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
518                                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
519                                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
520                         >;
521                 };
522         };
523 };