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