ARM: ux500: move snowball ethernet config to device tree
[linux-2.6-block.git] / arch / arm / boot / dts / ste-snowball.dts
CommitLineData
2d334297
AB
1/*
2 * Copyright 2011 ST-Ericsson AB
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/;
2ce05a14 13#include "ste-dbx5x0.dtsi"
3bfdebba 14#include "ste-href-family-pinctrl.dtsi"
2d334297
AB
15
16/ {
17 model = "Calao Systems Snowball platform with device tree";
79b40753 18 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
2d334297 19
2d334297
AB
20 memory {
21 reg = <0x00000000 0x20000000>;
22 };
23
bc367481
LJ
24 en_3v3_reg: en_3v3 {
25 compatible = "regulator-fixed";
b099576d
LJ
26 regulator-name = "en-3v3-fixed-supply";
27 regulator-min-microvolt = <3300000>;
28 regulator-max-microvolt = <3300000>;
29 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
30 gpio = <&ab8500_gpio 25 0x4>;
31 startup-delay-us = <5000>;
32 enable-active-high;
bc367481
LJ
33 };
34
7e0ce270
LJ
35 gpio_keys {
36 compatible = "gpio-keys";
37 #address-cells = <1>;
38 #size-cells = <0>;
39
40 button@1 {
41 debounce_interval = <50>;
42 wakeup = <1>;
43 linux,code = <2>;
44 label = "userpb";
93b5698a 45 gpios = <&gpio1 0 0x4>;
7e0ce270
LJ
46 };
47 button@2 {
48 debounce_interval = <50>;
49 wakeup = <1>;
50 linux,code = <3>;
3f3ed400 51 label = "extkb1";
93b5698a 52 gpios = <&gpio4 23 0x4>;
7e0ce270
LJ
53 };
54 button@3 {
55 debounce_interval = <50>;
56 wakeup = <1>;
57 linux,code = <4>;
3f3ed400 58 label = "extkb2";
93b5698a 59 gpios = <&gpio4 24 0x4>;
7e0ce270
LJ
60 };
61 button@4 {
62 debounce_interval = <50>;
63 wakeup = <1>;
64 linux,code = <5>;
3f3ed400 65 label = "extkb3";
93b5698a 66 gpios = <&gpio5 1 0x4>;
7e0ce270
LJ
67 };
68 button@5 {
69 debounce_interval = <50>;
70 wakeup = <1>;
71 linux,code = <6>;
3f3ed400 72 label = "extkb4";
93b5698a 73 gpios = <&gpio5 2 0x4>;
7e0ce270
LJ
74 };
75 };
76
77 leds {
78 compatible = "gpio-leds";
79 used-led {
80 label = "user_led";
93b5698a 81 gpios = <&gpio4 14 0x4>;
7fd975fa 82 default-state = "on";
fd53d042 83 linux,default-trigger = "heartbeat";
7e0ce270
LJ
84 };
85 };
86
b1ba1439 87 soc {
a12f703c
LW
88 usb_per5@a03e0000 {
89 pinctrl-names = "default", "sleep";
90 pinctrl-0 = <&musb_default_mode>;
91 pinctrl-1 = <&musb_sleep_mode>;
92 };
e6488065
LJ
93
94 sound {
95 compatible = "stericsson,snd-soc-mop500";
96
97 stericsson,cpu-dai = <&msp1 &msp3>;
98 stericsson,audio-codec = <&codec>;
99 };
100
70b41abc
LW
101 msp0: msp@80123000 {
102 pinctrl-names = "default";
103 pinctrl-0 = <&msp0_default_mode>;
104 status = "okay";
105 };
106
fe164529 107 msp1: msp@80124000 {
70b41abc
LW
108 pinctrl-names = "default";
109 pinctrl-0 = <&msp1_default_mode>;
110 status = "okay";
111 };
112
113 msp2: msp@80117000 {
114 pinctrl-names = "default";
115 pinctrl-0 = <&msp2_default_mode>;
fe164529
LJ
116 status = "okay";
117 };
118
119 msp3: msp@80125000 {
120 status = "okay";
121 };
122
7e0ce270 123 external-bus@50000000 {
bf76e062
LJ
124 status = "okay";
125
126 ethernet@0 {
127 compatible = "smsc,lan9115";
128 reg = <0 0x10000>;
90c40257 129 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
7e0ce270 130 interrupt-parent = <&gpio4>;
bc367481
LJ
131 vdd33a-supply = <&en_3v3_reg>;
132 vddvario-supply = <&db8500_vape_reg>;
a48bf4b9
LW
133 pinctrl-names = "default";
134 pinctrl-0 = <&eth_snowball_mode>;
bc367481 135
bf76e062
LJ
136 reg-shift = <1>;
137 reg-io-width = <2>;
138 smsc,force-internal-phy;
139 smsc,irq-active-high;
140 smsc,irq-push-pull;
7fb2afc7
LJ
141
142 clocks = <&prcc_pclk 3 0>;
7e0ce270
LJ
143 };
144 };
145
383307c2
LJ
146 vmmci: regulator-gpio {
147 gpios = <&gpio6 25 0x4>;
148 enable-gpio = <&gpio7 4 0x4>;
149
150 status = "okay";
151 };
152
5e1ac7db 153 // External Micro SD slot
81bf8c2e 154 sdi0_per1@80126000 {
5e1ac7db 155 arm,primecell-periphid = <0x10480180>;
90ccde4c 156 max-frequency = <100000000>;
92a0f489 157 bus-width = <4>;
5e1ac7db 158 mmc-cap-mmc-highspeed;
4a85c7fa 159 vmmc-supply = <&ab8500_ldo_aux3_reg>;
383307c2 160 vqmmc-supply = <&vmmci>;
1e662353
LW
161 pinctrl-names = "default", "sleep";
162 pinctrl-0 = <&sdi0_default_mode>;
163 pinctrl-1 = <&sdi0_sleep_mode>;
5e1ac7db 164
93b5698a 165 cd-gpios = <&gpio6 26 0x4>; // 218
5e1ac7db
LJ
166 cd-inverted;
167
168 status = "okay";
7e0ce270
LJ
169 };
170
1e662353
LW
171 // WLAN SDIO channel
172 sdi1_per2@80118000 {
173 arm,primecell-periphid = <0x10480180>;
174 max-frequency = <100000000>;
175 bus-width = <4>;
176 pinctrl-names = "default", "sleep";
177 pinctrl-0 = <&sdi1_default_mode>;
178 pinctrl-1 = <&sdi1_sleep_mode>;
179
180 status = "okay";
181 };
182
183 // Unused PoP eMMC - register and put it to sleep by default */
184 sdi2_per3@80005000 {
185 arm,primecell-periphid = <0x10480180>;
186 pinctrl-names = "default";
187 pinctrl-0 = <&sdi2_sleep_mode>;
188
189 status = "okay";
190 };
191
5e1ac7db 192 // On-board eMMC
81bf8c2e 193 sdi4_per2@80114000 {
5e1ac7db 194 arm,primecell-periphid = <0x10480180>;
90ccde4c 195 max-frequency = <100000000>;
5e1ac7db
LJ
196 bus-width = <8>;
197 mmc-cap-mmc-highspeed;
4a85c7fa 198 vmmc-supply = <&ab8500_ldo_aux2_reg>;
1e662353
LW
199 pinctrl-names = "default", "sleep";
200 pinctrl-0 = <&sdi4_default_mode>;
201 pinctrl-1 = <&sdi4_sleep_mode>;
5e1ac7db
LJ
202
203 status = "okay";
7e0ce270
LJ
204 };
205
4905af0e 206 uart@80120000 {
3bfdebba
LW
207 pinctrl-names = "default", "sleep";
208 pinctrl-0 = <&uart0_default_mode>;
209 pinctrl-1 = <&uart0_sleep_mode>;
4905af0e
LJ
210 status = "okay";
211 };
212
213 uart@80121000 {
3bfdebba
LW
214 pinctrl-names = "default", "sleep";
215 pinctrl-0 = <&uart1_default_mode>;
216 pinctrl-1 = <&uart1_sleep_mode>;
4905af0e
LJ
217 status = "okay";
218 };
219
220 uart@80007000 {
3bfdebba
LW
221 pinctrl-names = "default", "sleep";
222 pinctrl-0 = <&uart2_default_mode>;
223 pinctrl-1 = <&uart2_sleep_mode>;
4905af0e
LJ
224 status = "okay";
225 };
226
96fee13f
LW
227 i2c@80004000 {
228 pinctrl-names = "default","sleep";
229 pinctrl-0 = <&i2c0_default_mode>;
230 pinctrl-1 = <&i2c0_sleep_mode>;
231 };
232
233 i2c@80122000 {
234 pinctrl-names = "default","sleep";
235 pinctrl-0 = <&i2c1_default_mode>;
236 pinctrl-1 = <&i2c1_sleep_mode>;
237 };
238
239 i2c@80128000 {
240 pinctrl-names = "default","sleep";
241 pinctrl-0 = <&i2c2_default_mode>;
242 pinctrl-1 = <&i2c2_sleep_mode>;
243 };
244
245 i2c@80110000 {
246 pinctrl-names = "default","sleep";
247 pinctrl-0 = <&i2c3_default_mode>;
248 pinctrl-1 = <&i2c3_sleep_mode>;
249 };
250
dc1956b5 251 cpufreq-cooling {
252 status = "okay";
253 };
db5b0ae0 254
809efa56 255 prcmu@80157000 {
6cb7ea99
LJ
256 cpufreq {
257 status = "okay";
258 };
259
6c1d25b0
LJ
260 thermal@801573c0 {
261 num-trips = <4>;
262
263 trip0-temp = <70000>;
264 trip0-type = "active";
265 trip0-cdev-num = <1>;
266 trip0-cdev-name0 = "thermal-cpufreq-0";
267
268 trip1-temp = <75000>;
269 trip1-type = "active";
270 trip1-cdev-num = <1>;
271 trip1-cdev-name0 = "thermal-cpufreq-0";
272
273 trip2-temp = <80000>;
274 trip2-type = "active";
275 trip2-cdev-num = <1>;
276 trip2-cdev-name0 = "thermal-cpufreq-0";
277
278 trip3-temp = <85000>;
279 trip3-type = "critical";
280 trip3-cdev-num = <0>;
281
282 status = "okay";
283 };
284
d52701d3 285 ab8500 {
924e82da
LJ
286 ab8500-gpio {
287 compatible = "stericsson,ab8500-gpio";
288 };
289
b0c8fade
LJ
290 ext_regulators: ab8500-ext-regulators {
291 ab8500_ext1_reg: ab8500_ext1 {
292 regulator-name = "ab8500-ext-supply1";
293 };
294
295 ab8500_ext2_reg_reg: ab8500_ext2 {
296 regulator-name = "ab8500-ext-supply2";
297 };
298
299 ab8500_ext3_reg_reg: ab8500_ext3 {
300 regulator-name = "ab8500-ext-supply3";
301 };
302 };
303
809efa56
LJ
304 ab8500-regulators {
305 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
306 regulator-name = "V-DISPLAY";
307 };
308
309 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
310 regulator-name = "V-eMMC1";
311 };
312
313 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
314 regulator-name = "V-MMC-SD";
315 };
316
99b38eef 317 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
809efa56
LJ
318 regulator-name = "V-INTCORE";
319 };
320
321 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
322 regulator-name = "V-TVOUT";
323 };
324
325 ab8500_ldo_usb_reg: ab8500_ldo_usb {
326 regulator-name = "dummy";
327 };
328
329 ab8500_ldo_audio_reg: ab8500_ldo_audio {
330 regulator-name = "V-AUD";
331 };
332
333 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
334 regulator-name = "V-AMIC1";
335 };
336
5510ed9f 337 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
809efa56
LJ
338 regulator-name = "V-AMIC2";
339 };
340
341 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
342 regulator-name = "V-DMIC";
343 };
344
345 ab8500_ldo_ana_reg: ab8500_ldo_ana {
346 regulator-name = "V-CSI/DSI";
347 };
348 };
349 };
350 };
1e662353
LW
351
352 pinctrl {
a48bf4b9
LW
353 ethernet {
354 /*
355 * Mux in "SM" which is used for the
356 * SMSC911x Ethernet adapter
357 */
358 eth_snowball_mode: eth_snowball {
359 snowball_mux {
360 ste,function = "sm";
361 ste,pins = "sm_b_1";
362 };
363 /* LAN IRQ pin */
364 snowball_cfg1 {
365 ste,pins = "GPIO140_B11";
366 ste,config = <&in_nopull>;
367 };
368 /* LAN reset pin */
369 snowball_cfg2 {
370 ste,pins = "GPIO141_C12";
371 ste,config = <&gpio_out_hi>;
372 };
373
374 };
375 };
1e662353
LW
376 sdi0 {
377 sdi0_default_mode: sdi0_default {
378 snowball_mux {
379 ste,function = "mc0";
380 ste,pins = "mc0dat31dir_a_1";
381 };
382 snowball_cfg1 {
383 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
384 ste,config = <&out_hi>;
385 };
386
387 };
388 };
389 };
817a5b96
LW
390
391 mcde@a0350000 {
392 pinctrl-names = "default", "sleep";
393 pinctrl-0 = <&lcd_default_mode>;
394 pinctrl-1 = <&lcd_sleep_mode>;
395 };
2d334297
AB
396 };
397};