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