imx6: add support for gw54xx
[openwrt/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 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 ipu0 = &ipu1;
28 ipu1 = &ipu2;
29 led0 = &led0;
30 led1 = &led1;
31 led2 = &led2;
32 nand = &gpmi;
33 pwm0 = &pwm1;
34 pwm1 = &pwm2;
35 pwm2 = &pwm3;
36 pwm3 = &pwm4;
37 sky2 = &eth1;
38 spi0 = &ecspi1;
39 spi1 = &ecspi2;
40 spi2 = &ecspi3;
41 spi3 = &ecspi4;
42 spi4 = &ecspi5;
43 ssi0 = &ssi1;
44 ssi1 = &ssi2;
45 usb0 = &usbh3;
46 usb1 = &usbotg;
47 usdhc0 = &usdhc1;
48 usdhc1 = &usdhc2;
49 usdhc2 = &usdhc3;
50 usdhc3 = &usdhc4;
51 };
52
53 memory {
54 reg = <0x10000000 0x40000000>;
55 };
56
57 leds {
58 compatible = "gpio-leds";
59
60 led0: user1 {
61 label = "user1";
62 gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */
63 default-state = "on";
64 linux,default-trigger = "heartbeat";
65 };
66
67 led1: user2 {
68 label = "user2";
69 gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */
70 default-state = "off";
71 };
72
73 led2: user3 {
74 label = "user3";
75 gpios = <&gpio4 15 1>; /* 111 -> MX6_LOCLED# */
76 default-state = "off";
77 };
78 };
79
80 regulators {
81 compatible = "simple-bus";
82
83 reg_2p5v: 2p5v {
84 compatible = "regulator-fixed";
85 regulator-name = "2P5V";
86 regulator-min-microvolt = <2500000>;
87 regulator-max-microvolt = <2500000>;
88 regulator-always-on;
89 };
90
91 reg_3p3v: 3p3v {
92 compatible = "regulator-fixed";
93 regulator-name = "3P3V";
94 regulator-min-microvolt = <3300000>;
95 regulator-max-microvolt = <3300000>;
96 regulator-always-on;
97 };
98
99 reg_usb_otg_vbus: usb_otg_vbus {
100 compatible = "regulator-fixed";
101 regulator-name = "usb_otg_vbus";
102 regulator-min-microvolt = <5000000>;
103 regulator-max-microvolt = <5000000>;
104 gpio = <&gpio3 22 0>;
105 enable-active-high;
106 };
107 };
108
109 sound {
110 compatible = "fsl,imx6q-sabrelite-sgtl5000",
111 "fsl,imx-audio-sgtl5000";
112 model = "imx6q-sabrelite-sgtl5000";
113 ssi-controller = <&ssi1>;
114 audio-codec = <&codec>;
115 audio-routing =
116 "MIC_IN", "Mic Jack",
117 "Mic Jack", "Mic Bias",
118 "Headphone Jack", "HP_OUT";
119 mux-int-port = <1>;
120 mux-ext-port = <4>;
121 };
122 };
123
124 &audmux {
125 pinctrl-names = "default";
126 pinctrl-0 = <&pinctrl_audmux_3>;
127 status = "okay";
128 };
129
130 &can1 {
131 status = "okay";
132 };
133
134 &fec {
135 pinctrl-names = "default";
136 pinctrl-0 = <&pinctrl_enet_1>;
137 phy-mode = "rgmii";
138 phy-reset-gpios = <&gpio1 30 0>;
139 status = "okay";
140 };
141
142 &gpmi {
143 pinctrl-names = "default";
144 pinctrl-0 = <&pinctrl_gpmi_nand_2>;
145 status = "okay";
146 };
147
148 &i2c1 {
149 status = "okay";
150 clock-frequency = <100000>;
151 pinctrl-names = "default";
152 pinctrl-0 = <&pinctrl_i2c1_1>;
153
154 eeprom: eeprom@50 {
155 compatible = "atmel,24c02";
156 reg = <0x50>;
157 pagesize = <16>;
158 };
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 rtc: ds1672@68 {
185 compatible = "dallas,ds1672";
186 reg = <0x68>;
187 };
188
189 gpio: pca9555@23 {
190 compatible = "nxp,pca9555";
191 reg = <0x23>;
192 gpio-controller;
193 #gpio-cells = <2>;
194 };
195
196 hwmon: gsc@29 {
197 compatible = "gw,gsp";
198 reg = <0x29>;
199 };
200 };
201
202 &i2c2 {
203 status = "okay";
204 clock-frequency = <100000>;
205 pinctrl-names = "default";
206 pinctrl-0 = <&pinctrl_i2c2_2>;
207
208 pmic: pfuze@08 {
209 compatible = "fsl,pfuze100";
210 reg = <0x08>;
211 };
212
213 pciswitch: pex8609@3f {
214 compatible = "plx,pex8609";
215 reg = <0x3f>;
216 };
217
218 pciclkgen: si52147@6b {
219 compatible = "sil,si52147";
220 reg = <0x6b>;
221 };
222 };
223
224 &i2c3 {
225 status = "okay";
226 clock-frequency = <100000>;
227 pinctrl-names = "default";
228 pinctrl-0 = <&pinctrl_i2c3_2>;
229
230 codec: sgtl5000@0a {
231 compatible = "fsl,sgtl5000";
232 reg = <0x0a>;
233 clocks = <&clks 169>;
234 VDDA-supply = <&reg_2p5v>;
235 VDDIO-supply = <&reg_3p3v>;
236 };
237
238 accelerometer: mma8450@1c {
239 compatible = "fsl,mma8450";
240 reg = <0x1c>;
241 };
242
243 videoout: adv7393@2a {
244 compatible = "adi,adv7393";
245 reg = <0x2a>;
246 };
247
248 videoin: adv7180@20 {
249 compatible = "adi,adv7180";
250 reg = <0x20>;
251 };
252
253 hdmiin: adv7611@4c {
254 compatible = "adi,adv7611";
255 reg = <0x4c>;
256 };
257
258 touchscreen: egalax_ts@04 {
259 compatible = "eeti,egalax_ts";
260 reg = <0x04>;
261 wakeup-gpios = <&gpio1 12 0>;
262 };
263 };
264
265 &iomuxc {
266 pinctrl-names = "default";
267 pinctrl-0 = <&pinctrl_hog>;
268
269 hog {
270 pinctrl_hog: hoggrp {
271 fsl,pins = <
272 MX6Q_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */
273 MX6Q_PAD_EIM_D19__GPIO3_IO19 0x80000000 /* SPINOR_CS0# */
274 MX6Q_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */
275 MX6Q_PAD_KEY_ROW0__GPIO4_IO07 0x80000000 /* user2 led */
276 MX6Q_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* user3 led */
277 MX6Q_PAD_SD1_DAT0__GPIO1_IO16 0x80000000 /* USBHUB_RST# */
278 MX6Q_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
279 MX6Q_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE RST */
280 MX6Q_PAD_SD1_DAT3__GPIO1_IO21 0x80000000 /* MIPI_DIO */
281 MX6Q_PAD_GPIO_0__CCM_CLKO1 0x000130b0 /* AUD4_MCK */
282 MX6Q_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* CAN_STBY */
283 >;
284 };
285 };
286 };
287
288 &pcie {
289 reset-gpio = <&gpio1 29 0>;
290 status = "okay";
291
292 eth1: sky2@8 { /* MAC/PHY on bus 8 */
293 compatible = "marvell,sky2";
294 /* Filled in by U-Boot */
295 mac-address = [ 00 00 00 00 00 00 ];
296 };
297 };
298
299 &sata {
300 status = "okay";
301 };
302
303 &ssi1 {
304 fsl,mode = "i2s-slave";
305 status = "okay";
306 };
307
308 &uart1 {
309 pinctrl-names = "default";
310 pinctrl-0 = <&pinctrl_uart1_2>;
311 status = "okay";
312 };
313
314 &uart2 {
315 pinctrl-names = "default";
316 pinctrl-0 = <&pinctrl_uart2_2>;
317 status = "okay";
318 };
319
320 &uart3 {
321 pinctrl-names = "default";
322 pinctrl-0 = <&pinctrl_uart3_1>;
323 status = "okay";
324 };
325
326 &uart5 {
327 status = "okay";
328 pinctrl-names = "default";
329 pinctrl-0 = <&pinctrl_uart5_1>;
330 };
331
332 &usbotg {
333 vbus-supply = <&reg_usb_otg_vbus>;
334 pinctrl-names = "default";
335 pinctrl-0 = <&pinctrl_usbotg_1>;
336 disable-over-current;
337 status = "okay";
338 };
339
340 &usbh1 {
341 status = "okay";
342 };
343
344 &usdhc3 {
345 pinctrl-names = "default";
346 pinctrl-0 = <&pinctrl_usdhc3_2>;
347 cd-gpios = <&gpio7 0 0>;
348 vmmc-supply = <&reg_3p3v>;
349 status = "okay";
350 };