imx6: add flexcan support
[openwrt.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6dl-gw53xx.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 "imx6dl.dtsi"
14
15 / {
16         model = "Gateworks Ventana i.MX6 DualLite GW53XX";
17         compatible = "gw,imx6dl-gw53xx", "gw,ventana", "fsl,imx6dl";
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                 /* remove this fixed regulator once ltc3676__sw2 driver available */
81                 reg_1p8v: 1p8v {
82                         compatible = "regulator-fixed";
83                         regulator-name = "1P8V";
84                         regulator-min-microvolt = <1800000>;
85                         regulator-max-microvolt = <1800000>;
86                         regulator-always-on;
87                 };
88
89                 reg_3p3v: 3p3v {
90                         compatible = "regulator-fixed";
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: usb_h1_vbus {
98                         compatible = "regulator-fixed";
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: usb_otg_vbus {
106                         compatible = "regulator-fixed";
107                         regulator-name = "usb_otg_vbus";
108                         regulator-min-microvolt = <5000000>;
109                         regulator-max-microvolt = <5000000>;
110                         gpio = <&gpio3 22 0>;
111                         enable-active-high;
112                 };
113         };
114
115         sound {
116                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
117                              "fsl,imx-audio-sgtl5000";
118                 model = "imx6q-sabrelite-sgtl5000";
119                 ssi-controller = <&ssi1>;
120                 audio-codec = <&codec>;
121                 audio-routing =
122                         "MIC_IN", "Mic Jack",
123                         "Mic Jack", "Mic Bias",
124                         "Headphone Jack", "HP_OUT";
125                 mux-int-port = <1>;
126                 mux-ext-port = <4>;
127         };
128 };
129
130 &audmux {
131         pinctrl-names = "default";
132         pinctrl-0 = <&pinctrl_audmux_1>;
133         status = "okay";
134 };
135
136 &can1 {
137         status = "okay";
138 };
139
140 &fec {
141         pinctrl-names = "default";
142         pinctrl-0 = <&pinctrl_enet_1>;
143         phy-mode = "rgmii";
144         phy-reset-gpios = <&gpio1 30 0>;
145         status = "okay";
146 };
147
148 &gpmi {
149         pinctrl-names = "default";
150         pinctrl-0 = <&pinctrl_gpmi_nand_2>;
151         status = "okay";
152 };
153
154 &i2c1 {
155         clock-frequency = <100000>;
156         pinctrl-names = "default";
157         pinctrl-0 = <&pinctrl_i2c1_1>;
158         status = "okay";
159
160         eeprom1: eeprom@50 {
161                 compatible = "atmel,24c02";
162                 reg = <0x50>;
163                 pagesize = <16>;
164         };
165
166         eeprom2: eeprom@51 {
167                 compatible = "atmel,24c02";
168                 reg = <0x51>;
169                 pagesize = <16>;
170         };
171
172         eeprom3: eeprom@52 {
173                 compatible = "atmel,24c02";
174                 reg = <0x52>;
175                 pagesize = <16>;
176         };
177
178         eeprom4: eeprom@53 {
179                 compatible = "atmel,24c02";
180                 reg = <0x53>;
181                 pagesize = <16>;
182         };
183
184         gpio: pca9555@23 {
185                 compatible = "nxp,pca9555";
186                 reg = <0x23>;
187                 gpio-controller;
188                 #gpio-cells = <2>;
189         };
190
191         hwmon: gsc@29 {
192                 compatible = "gw,gsp";
193                 reg = <0x29>;
194         };
195
196         rtc: ds1672@68 {
197                 compatible = "dallas,ds1672";
198                 reg = <0x68>;
199         };
200 };
201
202 &i2c2 {
203         clock-frequency = <100000>;
204         pinctrl-names = "default";
205         pinctrl-0 = <&pinctrl_i2c2_2>;
206         status = "okay";
207
208         pciswitch: pex8609@3f {
209                 compatible = "plx,pex8609";
210                 reg = <0x3f>;
211         };
212
213         pmic: ltc3676@3c {
214                 compatible = "ltc,ltc3676";
215                 reg = <0x3c>;
216
217                 regulators {
218                         sw1_reg: ltc3676__sw1 {
219                                 regulator-min-microvolt = <1175000>;
220                                 regulator-max-microvolt = <1175000>;
221                                 regulator-boot-on;
222                                 regulator-always-on;
223                         };
224
225                         sw2_reg: ltc3676__sw2 {
226                                 regulator-min-microvolt = <1800000>;
227                                 regulator-max-microvolt = <1800000>;
228                                 regulator-boot-on;
229                                 regulator-always-on;
230                         };
231
232                         sw3_reg: ltc3676__sw3 {
233                                 regulator-min-microvolt = <1175000>;
234                                 regulator-max-microvolt = <1175000>;
235                                 regulator-boot-on;
236                                 regulator-always-on;
237                         };
238
239                         sw4_reg: ltc3676__sw4 {
240                                 regulator-min-microvolt = <1500000>;
241                                 regulator-max-microvolt = <1500000>;
242                                 regulator-boot-on;
243                                 regulator-always-on;
244                         };
245
246                         ldo2_reg: ltc3676__ldo2 {
247                                 regulator-min-microvolt = <2500000>;
248                                 regulator-max-microvolt = <2500000>;
249                                 regulator-boot-on;
250                                 regulator-always-on;
251                         };
252
253                         ldo3_reg: ltc3676__ldo3 {
254                                 regulator-min-microvolt = <1800000>;
255                                 regulator-max-microvolt = <1800000>;
256                                 regulator-boot-on;
257                                 regulator-always-on;
258                         };
259
260                         ldo4_reg: ltc3676__ldo4 {
261                                 regulator-min-microvolt = <3000000>;
262                                 regulator-max-microvolt = <3000000>;
263                         };
264                 };
265         };
266 };
267
268 &i2c3 {
269         clock-frequency = <100000>;
270         pinctrl-names = "default";
271         pinctrl-0 = <&pinctrl_i2c3_2>;
272         status = "okay";
273
274         accelerometer: fxos8700@1e {
275                 compatible = "fsl,fxos8700";
276                 reg = <0x1e>;
277         };
278
279         codec: sgtl5000@0a {
280                 compatible = "fsl,sgtl5000";
281                 reg = <0x0a>;
282                 clocks = <&clks 169>;
283                 VDDA-supply = <&reg_1p8v>;
284                 VDDIO-supply = <&reg_3p3v>;
285         };
286
287         hdmiin: adv7611@4c {
288                 compatible = "adi,adv7611";
289                 reg = <0x4c>;
290         };
291
292         touchscreen: egalax_ts@04 {
293                 compatible = "eeti,egalax_ts";
294                 reg = <0x04>;
295                 interrupt-parent = <&gpio7>;
296                 interrupts = <12 2>; /* gpio7_12 active low */
297                 wakeup-gpios = <&gpio7 12 0>;
298         };
299
300         videoout: adv7393@2a {
301                 compatible = "adi,adv7393";
302                 reg = <0x2a>;
303         };
304
305         videoin: adv7180@20 {
306                 compatible = "adi,adv7180";
307                 reg = <0x20>;
308         };
309 };
310
311 &iomuxc {
312         pinctrl-names = "default";
313         pinctrl-0 = <&pinctrl_hog>;
314
315         hog {
316                 pinctrl_hog: hoggrp {
317                         fsl,pins = <
318                                 MX6DL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
319                                 MX6DL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
320                                 MX6DL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
321                                 MX6DL_PAD_EIM_D31__GPIO3_IO31   0x80000000 /* VIDDEC_PDN# */
322                                 MX6DL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
323                                 MX6DL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
324                                 MX6DL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
325                                 MX6DL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
326                                 MX6DL_PAD_GPIO_0__CCM_CLKO1     0x000130b0 /* AUD4_MCK */
327                                 MX6DL_PAD_GPIO_17__GPIO7_IO12   0x80000000 /* TOUCH_IRQ# */
328                                 MX6DL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
329                                 MX6DL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
330                                 MX6DL_PAD_KEY_ROW4__GPIO4_IO15  0x80000000 /* user3 led */
331                                 MX6DL_PAD_SD2_CMD__GPIO1_IO11   0x80000000 /* LVDS_TCH# */
332                                 MX6DL_PAD_SD3_DAT5__GPIO7_IO00  0x80000000 /* SD3_CD# */
333                                 MX6DL_PAD_SD4_DAT3__GPIO2_IO11  0x80000000 /* UART2_EN# */
334                          >;
335                 };
336         };
337 };
338
339 &ldb {
340         status = "okay";
341         lvds-channel@0 {
342                 crtcs = <&ipu1 0>, <&ipu1 1>;
343         };
344 };
345
346 &pcie {
347         reset-gpio = <&gpio1 29 0>;
348         status = "okay";
349
350         eth1: sky2@8 { /* MAC/PHY on bus 8 */
351                 compatible = "marvell,sky2";
352                 /* Filled in by U-Boot */
353                 mac-address = [ 00 00 00 00 00 00 ];
354         };
355 };
356
357 &ssi1 {
358         fsl,mode = "i2s-slave";
359         status = "okay";
360 };
361
362 &uart1 {
363         pinctrl-names = "default";
364         pinctrl-0 = <&pinctrl_uart1_2>;
365         status = "okay";
366 };
367
368 &uart2 {
369         pinctrl-names = "default";
370         pinctrl-0 = <&pinctrl_uart2_1>;
371         status = "okay";
372 };
373
374 &uart5 {
375         pinctrl-names = "default";
376         pinctrl-0 = <&pinctrl_uart5_1>;
377         status = "okay";
378 };
379
380 &usbotg {
381         vbus-supply = <&reg_usb_otg_vbus>;
382         pinctrl-names = "default";
383         pinctrl-0 = <&pinctrl_usbotg_1>;
384         disable-over-current;
385         status = "okay";
386 };
387
388 &usbh1 {
389         vbus-supply = <&reg_usb_h1_vbus>;
390         status = "okay";
391 };
392
393 &usdhc3 {
394         pinctrl-names = "default";
395         pinctrl-0 = <&pinctrl_usdhc3_2>;
396         cd-gpios = <&gpio7 0 0>;
397         vmmc-supply = <&reg_3p3v>;
398         status = "okay";
399 };