Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/max98357a', 'asoc/topic...
[deliverable/linux.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"
83200629 14#include "ste-href-ab8500.dtsi"
3bfdebba 15#include "ste-href-family-pinctrl.dtsi"
2d334297
AB
16
17/ {
18 model = "Calao Systems Snowball platform with device tree";
79b40753 19 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
2d334297 20
2d334297
AB
21 memory {
22 reg = <0x00000000 0x20000000>;
23 };
24
bc367481
LJ
25 en_3v3_reg: en_3v3 {
26 compatible = "regulator-fixed";
b099576d
LJ
27 regulator-name = "en-3v3-fixed-supply";
28 regulator-min-microvolt = <3300000>;
29 regulator-max-microvolt = <3300000>;
30 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
31 gpio = <&ab8500_gpio 25 0x4>;
32 startup-delay-us = <5000>;
33 enable-active-high;
bc367481
LJ
34 };
35
7e0ce270
LJ
36 gpio_keys {
37 compatible = "gpio-keys";
38 #address-cells = <1>;
39 #size-cells = <0>;
40
41 button@1 {
42 debounce_interval = <50>;
43 wakeup = <1>;
44 linux,code = <2>;
45 label = "userpb";
93b5698a 46 gpios = <&gpio1 0 0x4>;
7e0ce270
LJ
47 };
48 button@2 {
49 debounce_interval = <50>;
50 wakeup = <1>;
51 linux,code = <3>;
3f3ed400 52 label = "extkb1";
93b5698a 53 gpios = <&gpio4 23 0x4>;
7e0ce270
LJ
54 };
55 button@3 {
56 debounce_interval = <50>;
57 wakeup = <1>;
58 linux,code = <4>;
3f3ed400 59 label = "extkb2";
93b5698a 60 gpios = <&gpio4 24 0x4>;
7e0ce270
LJ
61 };
62 button@4 {
63 debounce_interval = <50>;
64 wakeup = <1>;
65 linux,code = <5>;
3f3ed400 66 label = "extkb3";
93b5698a 67 gpios = <&gpio5 1 0x4>;
7e0ce270
LJ
68 };
69 button@5 {
70 debounce_interval = <50>;
71 wakeup = <1>;
72 linux,code = <6>;
3f3ed400 73 label = "extkb4";
93b5698a 74 gpios = <&gpio5 2 0x4>;
7e0ce270
LJ
75 };
76 };
77
78 leds {
79 compatible = "gpio-leds";
2f4b84f8
LW
80 pinctrl-names = "default";
81 pinctrl-0 = <&gpioled_snowball_mode>;
7e0ce270
LJ
82 used-led {
83 label = "user_led";
93b5698a 84 gpios = <&gpio4 14 0x4>;
7fd975fa 85 default-state = "on";
fd53d042 86 linux,default-trigger = "heartbeat";
7e0ce270
LJ
87 };
88 };
89
b1ba1439 90 soc {
a12f703c
LW
91 usb_per5@a03e0000 {
92 pinctrl-names = "default", "sleep";
93 pinctrl-0 = <&musb_default_mode>;
94 pinctrl-1 = <&musb_sleep_mode>;
95 };
e6488065
LJ
96
97 sound {
98 compatible = "stericsson,snd-soc-mop500";
99
100 stericsson,cpu-dai = <&msp1 &msp3>;
101 stericsson,audio-codec = <&codec>;
102 };
103
70b41abc
LW
104 msp0: msp@80123000 {
105 pinctrl-names = "default";
106 pinctrl-0 = <&msp0_default_mode>;
107 status = "okay";
108 };
109
fe164529 110 msp1: msp@80124000 {
70b41abc
LW
111 pinctrl-names = "default";
112 pinctrl-0 = <&msp1_default_mode>;
113 status = "okay";
114 };
115
116 msp2: msp@80117000 {
117 pinctrl-names = "default";
118 pinctrl-0 = <&msp2_default_mode>;
fe164529
LJ
119 };
120
121 msp3: msp@80125000 {
122 status = "okay";
123 };
124
7e0ce270 125 external-bus@50000000 {
bf76e062
LJ
126 status = "okay";
127
128 ethernet@0 {
129 compatible = "smsc,lan9115";
130 reg = <0 0x10000>;
90c40257 131 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
7e0ce270 132 interrupt-parent = <&gpio4>;
bc367481
LJ
133 vdd33a-supply = <&en_3v3_reg>;
134 vddvario-supply = <&db8500_vape_reg>;
a48bf4b9
LW
135 pinctrl-names = "default";
136 pinctrl-0 = <&eth_snowball_mode>;
bc367481 137
bf76e062
LJ
138 reg-shift = <1>;
139 reg-io-width = <2>;
140 smsc,force-internal-phy;
141 smsc,irq-active-high;
142 smsc,irq-push-pull;
7fb2afc7
LJ
143
144 clocks = <&prcc_pclk 3 0>;
7e0ce270
LJ
145 };
146 };
147
383307c2 148 vmmci: regulator-gpio {
a1ab5e4c
UH
149 gpios = <&gpio7 4 0x4>;
150 enable-gpio = <&gpio6 25 0x4>;
383307c2
LJ
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>;
30cdd668 158 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 196 bus-width = <8>;
30cdd668 197 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>;
d0e3bc81
LW
243 lsm303dlh@18 {
244 /* Accelerometer */
245 compatible = "st,lsm303dlh-accel";
246 st,drdy-int-pin = <1>;
247 reg = <0x18>;
248 vdd-supply = <&ab8500_ldo_aux1_reg>;
249 vddio-supply = <&db8500_vsmps2_reg>;
250 pinctrl-names = "default";
251 pinctrl-0 = <&accel_snowball_mode>;
252 };
253 lsm303dlm@1e {
254 /* Magnetometer */
255 compatible = "st,lsm303dlm-magn";
256 reg = <0x1e>;
257 vdd-supply = <&ab8500_ldo_aux1_reg>;
258 vddio-supply = <&db8500_vsmps2_reg>;
259 pinctrl-names = "default";
260 pinctrl-0 = <&magneto_snowball_mode>;
261 };
262 l3g4200d@68 {
263 /* Gyroscope */
264 compatible = "st,l3g4200d-gyro";
265 st,drdy-int-pin = <2>;
266 reg = <0x68>;
267 vdd-supply = <&ab8500_ldo_aux1_reg>;
268 vddio-supply = <&db8500_vsmps2_reg>;
269 };
270 lsp001wm@5c {
271 /* Barometer/pressure sensor */
272 compatible = "st,lps001wp-press";
273 reg = <0x5c>;
274 vdd-supply = <&ab8500_ldo_aux1_reg>;
275 vddio-supply = <&db8500_vsmps2_reg>;
276 };
96fee13f
LW
277 };
278
279 i2c@80110000 {
280 pinctrl-names = "default","sleep";
281 pinctrl-0 = <&i2c3_default_mode>;
282 pinctrl-1 = <&i2c3_sleep_mode>;
283 };
284
fd8f9eac
LW
285 ssp@80002000 {
286 pinctrl-names = "default";
287 pinctrl-0 = <&ssp0_snowball_mode>;
288 };
289
dc1956b5 290 cpufreq-cooling {
291 status = "okay";
292 };
db5b0ae0 293
809efa56 294 prcmu@80157000 {
6cb7ea99
LJ
295 cpufreq {
296 status = "okay";
297 };
298
6c1d25b0
LJ
299 thermal@801573c0 {
300 num-trips = <4>;
301
302 trip0-temp = <70000>;
303 trip0-type = "active";
304 trip0-cdev-num = <1>;
305 trip0-cdev-name0 = "thermal-cpufreq-0";
306
307 trip1-temp = <75000>;
308 trip1-type = "active";
309 trip1-cdev-num = <1>;
310 trip1-cdev-name0 = "thermal-cpufreq-0";
311
312 trip2-temp = <80000>;
313 trip2-type = "active";
314 trip2-cdev-num = <1>;
315 trip2-cdev-name0 = "thermal-cpufreq-0";
316
317 trip3-temp = <85000>;
318 trip3-type = "critical";
319 trip3-cdev-num = <0>;
320
321 status = "okay";
322 };
323
d52701d3 324 ab8500 {
924e82da
LJ
325 ab8500-gpio {
326 compatible = "stericsson,ab8500-gpio";
327 };
328
b0c8fade
LJ
329 ext_regulators: ab8500-ext-regulators {
330 ab8500_ext1_reg: ab8500_ext1 {
331 regulator-name = "ab8500-ext-supply1";
332 };
333
334 ab8500_ext2_reg_reg: ab8500_ext2 {
335 regulator-name = "ab8500-ext-supply2";
336 };
337
338 ab8500_ext3_reg_reg: ab8500_ext3 {
339 regulator-name = "ab8500-ext-supply3";
340 };
341 };
342
809efa56
LJ
343 ab8500-regulators {
344 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
345 regulator-name = "V-DISPLAY";
346 };
347
348 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
349 regulator-name = "V-eMMC1";
350 };
351
352 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
353 regulator-name = "V-MMC-SD";
354 };
355
99b38eef 356 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
809efa56
LJ
357 regulator-name = "V-INTCORE";
358 };
359
360 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
361 regulator-name = "V-TVOUT";
362 };
363
364 ab8500_ldo_usb_reg: ab8500_ldo_usb {
365 regulator-name = "dummy";
366 };
367
368 ab8500_ldo_audio_reg: ab8500_ldo_audio {
369 regulator-name = "V-AUD";
370 };
371
372 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
373 regulator-name = "V-AMIC1";
374 };
375
5510ed9f 376 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
809efa56
LJ
377 regulator-name = "V-AMIC2";
378 };
379
380 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
381 regulator-name = "V-DMIC";
382 };
383
384 ab8500_ldo_ana_reg: ab8500_ldo_ana {
385 regulator-name = "V-CSI/DSI";
386 };
387 };
388 };
389 };
1e662353
LW
390
391 pinctrl {
4d4629fc
LW
392 /*
393 * Set this up using hogs, as time goes by and as seems fit, these
394 * can be moved over to being controlled by respective device.
395 */
396 pinctrl-names = "default";
d0e3bc81 397 pinctrl-0 = <&gbf_snowball_mode>,
4d4629fc
LW
398 <&wlan_snowball_mode>;
399
a48bf4b9
LW
400 ethernet {
401 /*
402 * Mux in "SM" which is used for the
403 * SMSC911x Ethernet adapter
404 */
405 eth_snowball_mode: eth_snowball {
406 snowball_mux {
68d41f23
LW
407 function = "sm";
408 groups = "sm_b_1";
a48bf4b9
LW
409 };
410 /* LAN IRQ pin */
411 snowball_cfg1 {
1637d480 412 pins = "GPIO140_B11";
a48bf4b9
LW
413 ste,config = <&in_nopull>;
414 };
415 /* LAN reset pin */
416 snowball_cfg2 {
1637d480 417 pins = "GPIO141_C12";
a48bf4b9
LW
418 ste,config = <&gpio_out_hi>;
419 };
420
421 };
422 };
1e662353
LW
423 sdi0 {
424 sdi0_default_mode: sdi0_default {
425 snowball_mux {
68d41f23
LW
426 function = "mc0";
427 groups = "mc0dat31dir_a_1";
1e662353
LW
428 };
429 snowball_cfg1 {
1637d480 430 pins = "GPIO21_AB3"; /* DAT31DIR */
1e662353
LW
431 ste,config = <&out_hi>;
432 };
433
434 };
435 };
fd8f9eac
LW
436 ssp0 {
437 ssp0_snowball_mode: ssp0_snowball_default {
438 snowball_mux {
68d41f23
LW
439 function = "ssp0";
440 groups = "ssp0_a_1";
fd8f9eac
LW
441 };
442 snowball_cfg1 {
1637d480 443 pins = "GPIO144_B13"; /* FRM */
fd8f9eac
LW
444 ste,config = <&gpio_out_hi>;
445 };
446 snowball_cfg2 {
1637d480 447 pins = "GPIO145_C13"; /* RXD */
fd8f9eac
LW
448 ste,config = <&in_pd>;
449 };
450 snowball_cfg3 {
1637d480 451 pins =
fd8f9eac
LW
452 "GPIO146_D13", /* TXD */
453 "GPIO143_D12"; /* CLK */
454 ste,config = <&out_lo>;
455 };
456
457 };
458 };
2f4b84f8
LW
459 gpio_led {
460 gpioled_snowball_mode: gpioled_default {
461 snowball_cfg1 {
1637d480 462 pins = "GPIO142_C11";
2f4b84f8
LW
463 ste,config = <&gpio_out_hi>;
464 };
465
466 };
467 };
4d4629fc
LW
468 accelerometer {
469 accel_snowball_mode: accel_snowball {
470 /* Accelerometer lines */
471 snowball_cfg1 {
1637d480 472 pins =
4d4629fc
LW
473 "GPIO163_C20", /* ACCEL_IRQ1 */
474 "GPIO164_B21"; /* ACCEL_IRQ2 */
475 ste,config = <&gpio_in_pu>;
476 };
477 };
478 };
479 magnetometer {
480 magneto_snowball_mode: magneto_snowball {
481 snowball_cfg1 {
1637d480 482 pins = "GPIO165_C21"; /* MAG_DRDY */
4d4629fc
LW
483 ste,config = <&gpio_in_pu>;
484 };
485 };
486 };
487 gbf {
488 gbf_snowball_mode: gbf_snowball {
489 /*
490 * GBF (GPS, Bluetooth, FM-radio) interface,
491 * pull low to reset state
492 */
493 snowball_cfg1 {
1637d480 494 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
4d4629fc
LW
495 ste,config = <&gpio_out_lo>;
496 };
497 };
498 };
499 wlan {
500 wlan_snowball_mode: wlan_snowball {
501 /*
502 * Activate this mode with the WLAN chip.
503 * These are plain GPIO pins used by WLAN
504 */
505 snowball_cfg1 {
1637d480 506 pins =
4d4629fc
LW
507 "GPIO161_D21", /* WLAN_PMU_EN */
508 "GPIO215_AH13"; /* WLAN_ENA */
509 ste,config = <&gpio_out_lo>;
510 };
511 snowball_cfg2 {
1637d480 512 pins = "GPIO216_AG12"; /* WLAN_IRQ */
4d4629fc
LW
513 ste,config = <&gpio_in_pu>;
514 };
515 };
516 };
1e662353 517 };
817a5b96
LW
518
519 mcde@a0350000 {
520 pinctrl-names = "default", "sleep";
521 pinctrl-0 = <&lcd_default_mode>;
522 pinctrl-1 = <&lcd_sleep_mode>;
523 };
2d334297
AB
524 };
525};
This page took 0.185719 seconds and 5 git commands to generate.