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