imx6: add flexcan support
[openwrt.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6dl-gw52xx.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 GW52XX";
17         compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl";
18
19         /* these are used by bootloader for disabling nodes */
20         aliases {
21                 ethernet0 = &fec;
22                 i2c0 = &i2c1;
23                 i2c1 = &i2c2;
24                 i2c2 = &i2c3;
25                 led0 = &led0;
26                 led1 = &led1;
27                 led2 = &led2;
28                 nand = &gpmi;
29                 ssi0 = &ssi1;
30                 usb0 = &usbh1;
31                 usb1 = &usbotg;
32                 usdhc2 = &usdhc3;
33         };
34
35         memory {
36                 reg = <0x10000000 0x20000000>;
37         };
38
39         leds {
40                 compatible = "gpio-leds";
41
42                 led0: user1 {
43                         label = "user1";
44                         gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
45                         default-state = "on";
46                         linux,default-trigger = "heartbeat";
47                 };
48
49                 led1: user2 {
50                         label = "user2";
51                         gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
52                         default-state = "off";
53                 };
54
55                 led2: user3 {
56                         label = "user3";
57                         gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */
58                         default-state = "off";
59                 };
60         };
61
62         regulators {
63                 compatible = "simple-bus";
64
65                 reg_1p0v: 1p0v {
66                         compatible = "regulator-fixed";
67                         regulator-name = "1P0V";
68                         regulator-min-microvolt = <1000000>;
69                         regulator-max-microvolt = <1000000>;
70                         regulator-always-on;
71                 };
72
73                 /* remove this fixed regulator once ltc3676__sw2 driver available */
74                 reg_1p8v: 1p8v {
75                         compatible = "regulator-fixed";
76                         regulator-name = "1P8V";
77                         regulator-min-microvolt = <1800000>;
78                         regulator-max-microvolt = <1800000>;
79                         regulator-always-on;
80                 };
81
82                 reg_3p3v: 3p3v {
83                         compatible = "regulator-fixed";
84                         regulator-name = "3P3V";
85                         regulator-min-microvolt = <3300000>;
86                         regulator-max-microvolt = <3300000>;
87                         regulator-always-on;
88                 };
89
90                 reg_5p0v: 5p0v {
91                         compatible = "regulator-fixed";
92                         regulator-name = "5P0V";
93                         regulator-min-microvolt = <5000000>;
94                         regulator-max-microvolt = <5000000>;
95                         regulator-always-on;
96                 };
97
98                 reg_usb_otg_vbus: usb_otg_vbus {
99                         compatible = "regulator-fixed";
100                         regulator-name = "usb_otg_vbus";
101                         regulator-min-microvolt = <5000000>;
102                         regulator-max-microvolt = <5000000>;
103                         gpio = <&gpio3 22 0>;
104                         enable-active-high;
105                 };
106         };
107
108         sound {
109                 compatible = "fsl,imx6q-sabrelite-sgtl5000",
110                              "fsl,imx-audio-sgtl5000";
111                 model = "imx6q-sabrelite-sgtl5000";
112                 ssi-controller = <&ssi1>;
113                 audio-codec = <&codec>;
114                 audio-routing =
115                         "MIC_IN", "Mic Jack",
116                         "Mic Jack", "Mic Bias",
117                         "Headphone Jack", "HP_OUT";
118                 mux-int-port = <1>;
119                 mux-ext-port = <4>;
120         };
121 };
122
123 &audmux {
124         pinctrl-names = "default";
125         pinctrl-0 = <&pinctrl_audmux_1>;
126         status = "okay";
127 };
128
129 &fec {
130         pinctrl-names = "default";
131         pinctrl-0 = <&pinctrl_enet_1>;
132         phy-mode = "rgmii";
133         phy-reset-gpios = <&gpio1 30 0>;
134         status = "okay";
135 };
136
137 &gpmi {
138         pinctrl-names = "default";
139         pinctrl-0 = <&pinctrl_gpmi_nand_2>;
140         status = "okay";
141 };
142
143 &i2c1 {
144         clock-frequency = <100000>;
145         pinctrl-names = "default";
146         pinctrl-0 = <&pinctrl_i2c1_1>;
147         status = "okay";
148
149         eeprom1: eeprom@50 {
150                 compatible = "atmel,24c02";
151                 reg = <0x50>;
152                 pagesize = <16>;
153         };
154
155         eeprom2: eeprom@51 {
156                 compatible = "atmel,24c02";
157                 reg = <0x51>;
158                 pagesize = <16>;
159         };
160
161         eeprom3: eeprom@52 {
162                 compatible = "atmel,24c02";
163                 reg = <0x52>;
164                 pagesize = <16>;
165         };
166
167         eeprom4: eeprom@53 {
168                 compatible = "atmel,24c02";
169                 reg = <0x53>;
170                 pagesize = <16>;
171         };
172
173         gpio: pca9555@23 {
174                 compatible = "nxp,pca9555";
175                 reg = <0x23>;
176                 gpio-controller;
177                 #gpio-cells = <2>;
178         };
179
180         hwmon: gsc@29 {
181                 compatible = "gw,gsp";
182                 reg = <0x29>;
183         };
184
185         rtc: ds1672@68 {
186                 compatible = "dallas,ds1672";
187                 reg = <0x68>;
188         };
189 };
190
191 &i2c2 {
192         clock-frequency = <100000>;
193         pinctrl-names = "default";
194         pinctrl-0 = <&pinctrl_i2c2_2>;
195         status = "okay";
196
197         pciswitch: pex8609@3f {
198                 compatible = "plx,pex8609";
199                 reg = <0x3f>;
200         };
201
202         pmic: ltc3676@3c {
203                 compatible = "ltc,ltc3676";
204                 reg = <0x3c>;
205
206                 regulators {
207                         sw1_reg: ltc3676__sw1 {
208                                 regulator-min-microvolt = <1175000>;
209                                 regulator-max-microvolt = <1175000>;
210                                 regulator-boot-on;
211                                 regulator-always-on;
212                         };
213
214                         sw2_reg: ltc3676__sw2 {
215                                 regulator-min-microvolt = <1800000>;
216                                 regulator-max-microvolt = <1800000>;
217                                 regulator-boot-on;
218                                 regulator-always-on;
219                         };
220
221                         sw3_reg: ltc3676__sw3 {
222                                 regulator-min-microvolt = <1175000>;
223                                 regulator-max-microvolt = <1175000>;
224                                 regulator-boot-on;
225                                 regulator-always-on;
226                         };
227
228                         sw4_reg: ltc3676__sw4 {
229                                 regulator-min-microvolt = <1500000>;
230                                 regulator-max-microvolt = <1500000>;
231                                 regulator-boot-on;
232                                 regulator-always-on;
233                         };
234
235                         ldo2_reg: ltc3676__ldo2 {
236                                 regulator-min-microvolt = <2500000>;
237                                 regulator-max-microvolt = <2500000>;
238                                 regulator-boot-on;
239                                 regulator-always-on;
240                         };
241
242                         ldo3_reg: ltc3676__ldo3 {
243                                 regulator-min-microvolt = <1800000>;
244                                 regulator-max-microvolt = <1800000>;
245                                 regulator-boot-on;
246                                 regulator-always-on;
247                         };
248
249                         ldo4_reg: ltc3676__ldo4 {
250                                 regulator-min-microvolt = <3000000>;
251                                 regulator-max-microvolt = <3000000>;
252                         };
253                 };
254         };
255 };
256
257 &i2c3 {
258         clock-frequency = <100000>;
259         pinctrl-names = "default";
260         pinctrl-0 = <&pinctrl_i2c3_2>;
261         status = "okay";
262
263         accelerometer: fxos8700@1e {
264                 compatible = "fsl,fxos8700";
265                 reg = <0x13>;
266         };
267
268         codec: sgtl5000@0a {
269                 compatible = "fsl,sgtl5000";
270                 reg = <0x0a>;
271                 clocks = <&clks 169>;
272                 VDDA-supply = <&reg_1p8v>;
273                 VDDIO-supply = <&reg_3p3v>;
274         };
275
276         touchscreen: egalax_ts@04 {
277                 compatible = "eeti,egalax_ts";
278                 reg = <0x04>;
279                 interrupt-parent = <&gpio7>;
280                 interrupts = <12 2>; /* gpio7_12 active low */
281                 wakeup-gpios = <&gpio7 12 0>;
282         };
283
284         videoin: adv7180@20 {
285                 compatible = "adi,adv7180";
286                 reg = <0x20>;
287         };
288 };
289
290 &iomuxc {
291         pinctrl-names = "default";
292         pinctrl-0 = <&pinctrl_hog>;
293
294         hog {
295                 pinctrl_hog: hoggrp {
296                         fsl,pins = <
297                                 MX6DL_PAD_EIM_A19__GPIO2_IO19   0x80000000 /* MEZZ_DIO0 */
298                                 MX6DL_PAD_EIM_A20__GPIO2_IO18   0x80000000 /* MEZZ_DIO1 */
299                                 MX6DL_PAD_EIM_D22__GPIO3_IO22   0x80000000 /* OTG_PWR_EN */
300                                 MX6DL_PAD_EIM_D31__GPIO3_IO31   0x80000000 /* VIDDEC_PDN# */
301                                 MX6DL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */
302                                 MX6DL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */
303                                 MX6DL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */
304                                 MX6DL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */
305                                 MX6DL_PAD_GPIO_0__CCM_CLKO1     0x000130b0 /* AUD4_MCK */
306                                 MX6DL_PAD_GPIO_2__GPIO1_IO02    0x80000000 /* USB_SEL_PCI */
307                                 MX6DL_PAD_GPIO_17__GPIO7_IO12   0x80000000 /* TOUCH_IRQ# */
308                                 MX6DL_PAD_KEY_COL0__GPIO4_IO06  0x80000000 /* user1 led */
309                                 MX6DL_PAD_KEY_ROW0__GPIO4_IO07  0x80000000 /* user2 led */
310                                 MX6DL_PAD_KEY_ROW4__GPIO4_IO15  0x80000000 /* user3 led */
311                                 MX6DL_PAD_SD2_CMD__GPIO1_IO11   0x80000000 /* LVDS_TCH# */
312                                 MX6DL_PAD_SD3_DAT5__GPIO7_IO00  0x80000000 /* SD3_CD# */
313                                 MX6DL_PAD_SD4_DAT3__GPIO2_IO11  0x80000000 /* UART2_EN# */
314                          >;
315                 };
316         };
317 };
318
319 &ldb {
320         status = "okay";
321         lvds-channel@0 {
322                 crtcs = <&ipu1 0>, <&ipu1 1>;
323         };
324 };
325
326 &pcie {
327         reset-gpio = <&gpio1 29 0>;
328         status = "okay";
329 };
330
331 &ssi1 {
332         fsl,mode = "i2s-slave";
333         status = "okay";
334 };
335
336 &uart1 {
337         pinctrl-names = "default";
338         pinctrl-0 = <&pinctrl_uart1_2>;
339         status = "okay";
340 };
341
342 &uart2 {
343         pinctrl-names = "default";
344         pinctrl-0 = <&pinctrl_uart2_1>;
345         status = "okay";
346 };
347
348 &uart5 {
349         pinctrl-names = "default";
350         pinctrl-0 = <&pinctrl_uart5_1>;
351         status = "okay";
352 };
353
354 &usbotg {
355         vbus-supply = <&reg_usb_otg_vbus>;
356         pinctrl-names = "default";
357         pinctrl-0 = <&pinctrl_usbotg_1>;
358         disable-over-current;
359         status = "okay";
360 };
361
362 &usbh1 {
363         status = "okay";
364 };
365
366 &usdhc3 {
367         pinctrl-names = "default";
368         pinctrl-0 = <&pinctrl_usdhc3_2>;
369         cd-gpios = <&gpio7 0 0>;
370         vmmc-supply = <&reg_3p3v>;
371         status = "okay";
372 };