imx6: add canbus support for Ventana boards
[openwrt.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6q-gw54xx.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 i.MX6 Quad GW54XX";
17         compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q";
18
19         /* these are used by bootloader for disabling nodes */
20         aliases {
21                 can0 = &can1;
22                 ethernet0 = &fec;
23                 ethernet1 = &eth1;
24                 i2c0 = &i2c1;
25                 i2c1 = &i2c2;
26                 i2c2 = &i2c3;
27                 led0 = &led0;
28                 led1 = &led1;
29                 led2 = &led2;
30                 nand = &gpmi;
31                 sky2 = &eth1;
32                 ssi0 = &ssi1;
33                 usb0 = &usbh1;
34                 usb1 = &usbotg;
35                 usdhc2 = &usdhc3;
36         };
37
38         chosen {
39                 bootargs = "console=ttymxc1,115200";
40         };
41
42         memory {
43                 reg = <0x10000000 0x40000000>;
44         };
45
46         leds {
47                 compatible = "gpio-leds";
48
49                 led0: user1 {
50                         label = "user1";
51                         gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
52                         default-state = "on";
53                         linux,default-trigger = "heartbeat";
54                 };
55
56                 led1: user2 {
57                         label = "user2";
58                         gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
59                         default-state = "off";
60                 };
61
62                 led2: user3 {
63                         label = "user3";
64                         gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
65                         default-state = "off";
66                 };
67         };
68
69         regulators {
70                 compatible = "simple-bus";
71
72                 reg_1p0v: 1p0v {
73                         compatible = "regulator-fixed";
74                         regulator-name = "1P0V";
75                         regulator-min-microvolt = <1000000>;
76                         regulator-max-microvolt = <1000000>;
77                         regulator-always-on;
78                 };
79
80                 reg_3p3v: 3p3v {
81                         compatible = "regulator-fixed";
82                         regulator-name = "3P3V";
83                         regulator-min-microvolt = <3300000>;
84                         regulator-max-microvolt = <3300000>;
85                         regulator-always-on;
86                 };
87
88                 reg_usb_h1_vbus: usb_h1_vbus {
89                         compatible = "regulator-fixed";
90                         regulator-name = "usb_h1_vbus";
91                         regulator-min-microvolt = <5000000>;
92                         regulator-max-microvolt = <5000000>;
93                         regulator-always-on;
94                 };
95
96                 reg_usb_otg_vbus: usb_otg_vbus {
97                         compatible = "regulator-fixed";
98                         regulator-name = "usb_otg_vbus";
99                         regulator-min-microvolt = <5000000>;
100                         regulator-max-microvolt = <5000000>;
101                         gpio = <&gpio3 22 0>;
102                         enable-active-high;
103                 };
104         };
105
106         sound {
107                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
108                              "fsl,imx-audio-sgtl5000";
109                 model = "imx6q-sabrelite-sgtl5000";
110                 ssi-controller = <&ssi1>;
111                 audio-codec = <&codec>;
112                 audio-routing =
113                         "MIC_IN", "Mic Jack",
114                         "Mic Jack", "Mic Bias",
115                         "Headphone Jack", "HP_OUT";
116                 mux-int-port = <1>;
117                 mux-ext-port = <4>;
118         };
119 };
120
121 &audmux {
122         pinctrl-names = "default";
123         pinctrl-0 = <&pinctrl_audmux_1>;
124         status = "okay";
125 };
126
127 &can1 {
128         pinctrl-names = "default";
129         pinctrl-0 = <&pinctrl_flexcan1_1>;
130         status = "okay";
131 };
132
133 &fec {
134         pinctrl-names = "default";
135         pinctrl-0 = <&pinctrl_enet_1>;
136         phy-mode = "rgmii";
137         phy-reset-gpios = <&gpio1 30 0>;
138         status = "okay";
139 };
140
141 &gpmi {
142         pinctrl-names = "default";
143         pinctrl-0 = <&pinctrl_gpmi_nand_2>;
144         status = "okay";
145 };
146
147 &i2c1 {
148         clock-frequency = <100000>;
149         pinctrl-names = "default";
150         pinctrl-0 = <&pinctrl_i2c1_1>;
151         status = "okay";
152
153         eeprom1: eeprom@50 {
154                 compatible = "atmel,24c02";
155                 reg = <0x50>;
156                 pagesize = <16>;
157         };
158
159         eeprom2: eeprom@51 {
160                 compatible = "atmel,24c02";
161                 reg = <0x51>;
162                 pagesize = <16>;
163         };
164
165         eeprom3: eeprom@52 {
166                 compatible = "atmel,24c02";
167                 reg = <0x52>;
168                 pagesize = <16>;
169         };
170
171         eeprom4: eeprom@53 {
172                 compatible = "atmel,24c02";
173                 reg = <0x53>;
174                 pagesize = <16>;
175         };
176
177         gpio: pca9555@23 {
178                 compatible = "nxp,pca9555";
179                 reg = <0x23>;
180                 gpio-controller;
181                 #gpio-cells = <2>;
182         };
183
184         hwmon: gsc@29 {
185                 compatible = "gw,gsp";
186                 reg = <0x29>;
187         };
188
189         rtc: ds1672@68 {
190                 compatible = "dallas,ds1672";
191                 reg = <0x68>;
192         };
193 };
194
195 &i2c2 {
196         clock-frequency = <100000>;
197         pinctrl-names = "default";
198         pinctrl-0 = <&pinctrl_i2c2_2>;
199         status = "okay";
200
201         pmic: pfuze100@08 {
202                 compatible = "fsl,pfuze100";
203                 reg = <0x08>;
204
205                 regulators {
206                         sw1a_reg: sw1ab {
207                                 regulator-min-microvolt = <300000>;
208                                 regulator-max-microvolt = <1875000>;
209                                 regulator-boot-on;
210                                 regulator-always-on;
211                                 regulator-ramp-delay = <6250>;
212                         };
213
214                         sw1c_reg: sw1c {
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                         sw2_reg: sw2 {
223                                 regulator-min-microvolt = <800000>;
224                                 regulator-max-microvolt = <3950000>;
225                                 regulator-boot-on;
226                                 regulator-always-on;
227                         };
228
229                         sw3a_reg: sw3a {
230                                 regulator-min-microvolt = <400000>;
231                                 regulator-max-microvolt = <1975000>;
232                                 regulator-boot-on;
233                                 regulator-always-on;
234                         };
235
236                         sw3b_reg: sw3b {
237                                 regulator-min-microvolt = <400000>;
238                                 regulator-max-microvolt = <1975000>;
239                                 regulator-boot-on;
240                                 regulator-always-on;
241                         };
242
243                         sw4_reg: sw4 {
244                                 regulator-min-microvolt = <800000>;
245                                 regulator-max-microvolt = <3300000>;
246                         };
247
248                         swbst_reg: swbst {
249                                 regulator-min-microvolt = <5000000>;
250                                 regulator-max-microvolt = <5150000>;
251                         };
252
253                         snvs_reg: vsnvs {
254                                 regulator-min-microvolt = <1000000>;
255                                 regulator-max-microvolt = <3000000>;
256                                 regulator-boot-on;
257                                 regulator-always-on;
258                         };
259
260                         vref_reg: vrefddr {
261                                 regulator-boot-on;
262                                 regulator-always-on;
263                         };
264
265                         vgen1_reg: vgen1 {
266                                 regulator-min-microvolt = <800000>;
267                                 regulator-max-microvolt = <1550000>;
268                         };
269
270                         vgen2_reg: vgen2 {
271                                 regulator-min-microvolt = <800000>;
272                                 regulator-max-microvolt = <1550000>;
273                         };
274
275                         vgen3_reg: vgen3 {
276                                 regulator-min-microvolt = <1800000>;
277                                 regulator-max-microvolt = <3300000>;
278                         };
279
280                         vgen4_reg: vgen4 {
281                                 regulator-min-microvolt = <1800000>;
282                                 regulator-max-microvolt = <3300000>;
283                                 regulator-always-on;
284                         };
285
286                         vgen5_reg: vgen5 {
287                                 regulator-min-microvolt = <1800000>;
288                                 regulator-max-microvolt = <3300000>;
289                                 regulator-always-on;
290                         };
291
292                         vgen6_reg: vgen6 {
293                                 regulator-min-microvolt = <1800000>;
294                                 regulator-max-microvolt = <3300000>;
295                                 regulator-always-on;
296                         };
297                 };
298         };
299
300         pciswitch: pex8609@3f {
301                 compatible = "plx,pex8609";
302                 reg = <0x3f>;
303         };
304
305         pciclkgen: si52147@6b {
306                 compatible = "sil,si52147";
307                 reg = <0x6b>;
308         };
309 };
310
311 &i2c3 {
312         clock-frequency = <100000>;
313         pinctrl-names = "default";
314         pinctrl-0 = <&pinctrl_i2c3_2>;
315         status = "okay";
316
317         accelerometer: fxos8700@1e {
318                 compatible = "fsl,fxos8700";
319                 reg = <0x1e>;
320         };
321
322         codec: sgtl5000@0a {
323                 compatible = "fsl,sgtl5000";
324                 reg = <0x0a>;
325                 clocks = <&clks 169>;
326                 VDDA-supply = <&sw4_reg>;
327                 VDDIO-supply = <&reg_3p3v>;
328         };
329
330         hdmiin: adv7611@4c {
331                 compatible = "adi,adv7611";
332                 reg = <0x4c>;
333         };
334
335         touchscreen: egalax_ts@04 {
336                 compatible = "eeti,egalax_ts";
337                 reg = <0x04>;
338                 interrupt-parent = <&gpio7>;
339                 interrupts = <12 2>; /* gpio7_12 active low */
340                 wakeup-gpios = <&gpio7 12 0>;
341         };
342
343         videoout: adv7393@2a {
344                 compatible = "adi,adv7393";
345                 reg = <0x2a>;
346         };
347
348         videoin: adv7180@20 {
349                 compatible = "adi,adv7180";
350                 reg = <0x20>;
351         };
352 };
353
354 &iomuxc {
355         pinctrl-names = "default";
356         pinctrl-0 = <&pinctrl_hog>;
357
358         hog {
359                 pinctrl_hog: hoggrp {
360                         fsl,pins = <
361                                 MX6Q_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
362                                 MX6Q_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
363                                 MX6Q_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
364                                 MX6Q_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
365                                 MX6Q_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
366                                 MX6Q_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
367                                 MX6Q_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
368                                 MX6Q_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
369                                 MX6Q_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
370                                 MX6Q_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
371                                 MX6Q_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
372                                 MX6Q_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
373                          >;
374                 };
375         };
376 };
377
378 &ldb {
379         status = "okay";
380         lvds-channel@0 {
381                 crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
382         };
383 };
384
385 &pcie {
386         reset-gpio = <&gpio1 29 0>;
387         status = "okay";
388
389         eth1: sky2@8 { /* MAC/PHY on bus 8 */
390                 compatible = "marvell,sky2";
391                 /* Filled in by U-Boot */
392                 mac-address = [ 00 00 00 00 00 00 ];
393         };
394 };
395
396 &sata {
397         status = "okay";
398 };
399
400 &ssi1 {
401         fsl,mode = "i2s-slave";
402         status = "okay";
403 };
404
405 &uart1 {
406         pinctrl-names = "default";
407         pinctrl-0 = <&pinctrl_uart1_2>;
408         status = "okay";
409 };
410
411 &uart2 {
412         pinctrl-names = "default";
413         pinctrl-0 = <&pinctrl_uart2_2>;
414         status = "okay";
415 };
416
417 &uart3 {
418         pinctrl-names = "default";
419         pinctrl-0 = <&pinctrl_uart3_1>;
420         status = "okay";
421 };
422
423 &uart5 {
424         pinctrl-names = "default";
425         pinctrl-0 = <&pinctrl_uart5_1>;
426         status = "okay";
427 };
428
429 &usbotg {
430         vbus-supply = <&reg_usb_otg_vbus>;
431         pinctrl-names = "default";
432         pinctrl-0 = <&pinctrl_usbotg_1>;
433         disable-over-current;
434         status = "okay";
435 };
436
437 &usbh1 {
438         vbus-supply = <&reg_usb_h1_vbus>;
439         status = "okay";
440 };
441
442 &usdhc3 {
443         pinctrl-names = "default";
444         pinctrl-0 = <&pinctrl_usdhc3_2>;
445         cd-gpios = <&gpio7 0 0>;
446         vmmc-supply = <&reg_3p3v>;
447         status = "okay";
448 };