Merge branch 'pm-cpufreq-fixes'
[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
109978de
LW
21 /* This stablilizes the serial port enumeration */
22 aliases {
23 serial0 = &ux500_serial0;
24 serial1 = &ux500_serial1;
25 serial2 = &ux500_serial2;
26 };
27
2d334297
AB
28 memory {
29 reg = <0x00000000 0x20000000>;
30 };
31
bc367481
LJ
32 en_3v3_reg: en_3v3 {
33 compatible = "regulator-fixed";
b099576d
LJ
34 regulator-name = "en-3v3-fixed-supply";
35 regulator-min-microvolt = <3300000>;
36 regulator-max-microvolt = <3300000>;
37 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
38 gpio = <&ab8500_gpio 25 0x4>;
39 startup-delay-us = <5000>;
40 enable-active-high;
bc367481
LJ
41 };
42
7e0ce270
LJ
43 gpio_keys {
44 compatible = "gpio-keys";
45 #address-cells = <1>;
46 #size-cells = <0>;
47
48 button@1 {
49 debounce_interval = <50>;
4db7062c 50 wakeup-source;
7e0ce270
LJ
51 linux,code = <2>;
52 label = "userpb";
93b5698a 53 gpios = <&gpio1 0 0x4>;
7e0ce270
LJ
54 };
55 button@2 {
56 debounce_interval = <50>;
4db7062c 57 wakeup-source;
7e0ce270 58 linux,code = <3>;
3f3ed400 59 label = "extkb1";
93b5698a 60 gpios = <&gpio4 23 0x4>;
7e0ce270
LJ
61 };
62 button@3 {
63 debounce_interval = <50>;
4db7062c 64 wakeup-source;
7e0ce270 65 linux,code = <4>;
3f3ed400 66 label = "extkb2";
93b5698a 67 gpios = <&gpio4 24 0x4>;
7e0ce270
LJ
68 };
69 button@4 {
70 debounce_interval = <50>;
4db7062c 71 wakeup-source;
7e0ce270 72 linux,code = <5>;
3f3ed400 73 label = "extkb3";
93b5698a 74 gpios = <&gpio5 1 0x4>;
7e0ce270
LJ
75 };
76 button@5 {
77 debounce_interval = <50>;
4db7062c 78 wakeup-source;
7e0ce270 79 linux,code = <6>;
3f3ed400 80 label = "extkb4";
93b5698a 81 gpios = <&gpio5 2 0x4>;
7e0ce270
LJ
82 };
83 };
84
85 leds {
86 compatible = "gpio-leds";
2f4b84f8
LW
87 pinctrl-names = "default";
88 pinctrl-0 = <&gpioled_snowball_mode>;
7e0ce270
LJ
89 used-led {
90 label = "user_led";
93b5698a 91 gpios = <&gpio4 14 0x4>;
7fd975fa 92 default-state = "on";
fd53d042 93 linux,default-trigger = "heartbeat";
7e0ce270
LJ
94 };
95 };
96
b1ba1439 97 soc {
a12f703c
LW
98 usb_per5@a03e0000 {
99 pinctrl-names = "default", "sleep";
100 pinctrl-0 = <&musb_default_mode>;
101 pinctrl-1 = <&musb_sleep_mode>;
102 };
e6488065
LJ
103
104 sound {
105 compatible = "stericsson,snd-soc-mop500";
106
107 stericsson,cpu-dai = <&msp1 &msp3>;
108 stericsson,audio-codec = <&codec>;
109 };
110
70b41abc
LW
111 msp0: msp@80123000 {
112 pinctrl-names = "default";
113 pinctrl-0 = <&msp0_default_mode>;
114 status = "okay";
115 };
116
fe164529 117 msp1: msp@80124000 {
70b41abc
LW
118 pinctrl-names = "default";
119 pinctrl-0 = <&msp1_default_mode>;
120 status = "okay";
121 };
122
123 msp2: msp@80117000 {
124 pinctrl-names = "default";
125 pinctrl-0 = <&msp2_default_mode>;
fe164529
LJ
126 };
127
128 msp3: msp@80125000 {
129 status = "okay";
130 };
131
7e0ce270 132 external-bus@50000000 {
bf76e062
LJ
133 status = "okay";
134
135 ethernet@0 {
136 compatible = "smsc,lan9115";
137 reg = <0 0x10000>;
90c40257 138 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
7e0ce270 139 interrupt-parent = <&gpio4>;
bc367481
LJ
140 vdd33a-supply = <&en_3v3_reg>;
141 vddvario-supply = <&db8500_vape_reg>;
a48bf4b9
LW
142 pinctrl-names = "default";
143 pinctrl-0 = <&eth_snowball_mode>;
bc367481 144
bf76e062
LJ
145 reg-shift = <1>;
146 reg-io-width = <2>;
147 smsc,force-internal-phy;
148 smsc,irq-active-high;
149 smsc,irq-push-pull;
7fb2afc7
LJ
150
151 clocks = <&prcc_pclk 3 0>;
7e0ce270
LJ
152 };
153 };
154
383307c2 155 vmmci: regulator-gpio {
53d26698
UH
156 compatible = "regulator-gpio";
157
a1ab5e4c
UH
158 gpios = <&gpio7 4 0x4>;
159 enable-gpio = <&gpio6 25 0x4>;
53d26698
UH
160
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <2900000>;
163 regulator-name = "mmci-reg";
164 regulator-type = "voltage";
165
166 startup-delay-us = <100>;
167 enable-active-high;
168
169 states = <1800000 0x1
170 2900000 0x0>;
383307c2
LJ
171 };
172
5e1ac7db 173 // External Micro SD slot
81bf8c2e 174 sdi0_per1@80126000 {
5e1ac7db 175 arm,primecell-periphid = <0x10480180>;
90ccde4c 176 max-frequency = <100000000>;
92a0f489 177 bus-width = <4>;
30cdd668 178 cap-mmc-highspeed;
4a85c7fa 179 vmmc-supply = <&ab8500_ldo_aux3_reg>;
383307c2 180 vqmmc-supply = <&vmmci>;
1e662353
LW
181 pinctrl-names = "default", "sleep";
182 pinctrl-0 = <&sdi0_default_mode>;
183 pinctrl-1 = <&sdi0_sleep_mode>;
5e1ac7db 184
93b5698a 185 cd-gpios = <&gpio6 26 0x4>; // 218
5e1ac7db
LJ
186 cd-inverted;
187
188 status = "okay";
7e0ce270
LJ
189 };
190
1e662353
LW
191 // WLAN SDIO channel
192 sdi1_per2@80118000 {
193 arm,primecell-periphid = <0x10480180>;
194 max-frequency = <100000000>;
195 bus-width = <4>;
196 pinctrl-names = "default", "sleep";
197 pinctrl-0 = <&sdi1_default_mode>;
198 pinctrl-1 = <&sdi1_sleep_mode>;
199
200 status = "okay";
201 };
202
203 // Unused PoP eMMC - register and put it to sleep by default */
204 sdi2_per3@80005000 {
205 arm,primecell-periphid = <0x10480180>;
206 pinctrl-names = "default";
207 pinctrl-0 = <&sdi2_sleep_mode>;
208
209 status = "okay";
210 };
211
5e1ac7db 212 // On-board eMMC
81bf8c2e 213 sdi4_per2@80114000 {
5e1ac7db 214 arm,primecell-periphid = <0x10480180>;
90ccde4c 215 max-frequency = <100000000>;
5e1ac7db 216 bus-width = <8>;
30cdd668 217 cap-mmc-highspeed;
4a85c7fa 218 vmmc-supply = <&ab8500_ldo_aux2_reg>;
1e662353
LW
219 pinctrl-names = "default", "sleep";
220 pinctrl-0 = <&sdi4_default_mode>;
221 pinctrl-1 = <&sdi4_sleep_mode>;
5e1ac7db
LJ
222
223 status = "okay";
7e0ce270
LJ
224 };
225
4905af0e 226 uart@80120000 {
3bfdebba
LW
227 pinctrl-names = "default", "sleep";
228 pinctrl-0 = <&uart0_default_mode>;
229 pinctrl-1 = <&uart0_sleep_mode>;
4905af0e
LJ
230 status = "okay";
231 };
232
1d8aca9d 233 /* This UART is unused and thus left disabled */
4905af0e 234 uart@80121000 {
3bfdebba
LW
235 pinctrl-names = "default", "sleep";
236 pinctrl-0 = <&uart1_default_mode>;
237 pinctrl-1 = <&uart1_sleep_mode>;
4905af0e
LJ
238 };
239
240 uart@80007000 {
3bfdebba
LW
241 pinctrl-names = "default", "sleep";
242 pinctrl-0 = <&uart2_default_mode>;
243 pinctrl-1 = <&uart2_sleep_mode>;
4905af0e
LJ
244 status = "okay";
245 };
246
96fee13f
LW
247 i2c@80004000 {
248 pinctrl-names = "default","sleep";
249 pinctrl-0 = <&i2c0_default_mode>;
250 pinctrl-1 = <&i2c0_sleep_mode>;
251 };
252
253 i2c@80122000 {
254 pinctrl-names = "default","sleep";
255 pinctrl-0 = <&i2c1_default_mode>;
256 pinctrl-1 = <&i2c1_sleep_mode>;
257 };
258
259 i2c@80128000 {
260 pinctrl-names = "default","sleep";
261 pinctrl-0 = <&i2c2_default_mode>;
262 pinctrl-1 = <&i2c2_sleep_mode>;
d0e3bc81
LW
263 lsm303dlh@18 {
264 /* Accelerometer */
265 compatible = "st,lsm303dlh-accel";
266 st,drdy-int-pin = <1>;
267 reg = <0x18>;
268 vdd-supply = <&ab8500_ldo_aux1_reg>;
269 vddio-supply = <&db8500_vsmps2_reg>;
270 pinctrl-names = "default";
271 pinctrl-0 = <&accel_snowball_mode>;
22a93167
LW
272 interrupt-parent = <&gpio5>;
273 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
274 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
d0e3bc81 275 };
93deea9a 276 lsm303dlh@1e {
d0e3bc81 277 /* Magnetometer */
93deea9a 278 compatible = "st,lsm303dlh-magn";
d0e3bc81
LW
279 reg = <0x1e>;
280 vdd-supply = <&ab8500_ldo_aux1_reg>;
281 vddio-supply = <&db8500_vsmps2_reg>;
282 pinctrl-names = "default";
283 pinctrl-0 = <&magneto_snowball_mode>;
c80b4010
LW
284 interrupt-parent = <&gpio5>;
285 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
d0e3bc81
LW
286 };
287 l3g4200d@68 {
288 /* Gyroscope */
289 compatible = "st,l3g4200d-gyro";
290 st,drdy-int-pin = <2>;
291 reg = <0x68>;
292 vdd-supply = <&ab8500_ldo_aux1_reg>;
293 vddio-supply = <&db8500_vsmps2_reg>;
22a93167
LW
294 pinctrl-names = "default";
295 pinctrl-0 = <&gyro_snowball_mode>;
22a93167 296 interrupt-parent = <&gpio5>;
c80b4010
LW
297 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
298 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
d0e3bc81
LW
299 };
300 lsp001wm@5c {
301 /* Barometer/pressure sensor */
302 compatible = "st,lps001wp-press";
303 reg = <0x5c>;
304 vdd-supply = <&ab8500_ldo_aux1_reg>;
305 vddio-supply = <&db8500_vsmps2_reg>;
306 };
96fee13f
LW
307 };
308
309 i2c@80110000 {
310 pinctrl-names = "default","sleep";
311 pinctrl-0 = <&i2c3_default_mode>;
312 pinctrl-1 = <&i2c3_sleep_mode>;
313 };
314
fd8f9eac
LW
315 ssp@80002000 {
316 pinctrl-names = "default";
317 pinctrl-0 = <&ssp0_snowball_mode>;
318 };
319
dc1956b5 320 cpufreq-cooling {
321 status = "okay";
322 };
db5b0ae0 323
809efa56 324 prcmu@80157000 {
6cb7ea99
LJ
325 cpufreq {
326 status = "okay";
327 };
328
6c1d25b0
LJ
329 thermal@801573c0 {
330 num-trips = <4>;
331
332 trip0-temp = <70000>;
333 trip0-type = "active";
334 trip0-cdev-num = <1>;
335 trip0-cdev-name0 = "thermal-cpufreq-0";
336
337 trip1-temp = <75000>;
338 trip1-type = "active";
339 trip1-cdev-num = <1>;
340 trip1-cdev-name0 = "thermal-cpufreq-0";
341
342 trip2-temp = <80000>;
343 trip2-type = "active";
344 trip2-cdev-num = <1>;
345 trip2-cdev-name0 = "thermal-cpufreq-0";
346
347 trip3-temp = <85000>;
348 trip3-type = "critical";
349 trip3-cdev-num = <0>;
350
351 status = "okay";
352 };
353
d52701d3 354 ab8500 {
924e82da
LJ
355 ab8500-gpio {
356 compatible = "stericsson,ab8500-gpio";
357 };
358
b0c8fade
LJ
359 ext_regulators: ab8500-ext-regulators {
360 ab8500_ext1_reg: ab8500_ext1 {
361 regulator-name = "ab8500-ext-supply1";
362 };
363
364 ab8500_ext2_reg_reg: ab8500_ext2 {
365 regulator-name = "ab8500-ext-supply2";
366 };
367
368 ab8500_ext3_reg_reg: ab8500_ext3 {
369 regulator-name = "ab8500-ext-supply3";
370 };
371 };
372
809efa56
LJ
373 ab8500-regulators {
374 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
375 regulator-name = "V-DISPLAY";
376 };
377
378 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
379 regulator-name = "V-eMMC1";
380 };
381
382 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
383 regulator-name = "V-MMC-SD";
384 };
385
99b38eef 386 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
809efa56
LJ
387 regulator-name = "V-INTCORE";
388 };
389
390 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
391 regulator-name = "V-TVOUT";
392 };
393
394 ab8500_ldo_usb_reg: ab8500_ldo_usb {
395 regulator-name = "dummy";
396 };
397
398 ab8500_ldo_audio_reg: ab8500_ldo_audio {
399 regulator-name = "V-AUD";
400 };
401
402 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
403 regulator-name = "V-AMIC1";
404 };
405
5510ed9f 406 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
809efa56
LJ
407 regulator-name = "V-AMIC2";
408 };
409
410 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
411 regulator-name = "V-DMIC";
412 };
413
414 ab8500_ldo_ana_reg: ab8500_ldo_ana {
415 regulator-name = "V-CSI/DSI";
416 };
417 };
418 };
419 };
1e662353
LW
420
421 pinctrl {
4d4629fc
LW
422 /*
423 * Set this up using hogs, as time goes by and as seems fit, these
424 * can be moved over to being controlled by respective device.
425 */
426 pinctrl-names = "default";
d0e3bc81 427 pinctrl-0 = <&gbf_snowball_mode>,
4d4629fc
LW
428 <&wlan_snowball_mode>;
429
a48bf4b9
LW
430 ethernet {
431 /*
432 * Mux in "SM" which is used for the
433 * SMSC911x Ethernet adapter
434 */
435 eth_snowball_mode: eth_snowball {
436 snowball_mux {
68d41f23
LW
437 function = "sm";
438 groups = "sm_b_1";
a48bf4b9
LW
439 };
440 /* LAN IRQ pin */
441 snowball_cfg1 {
1637d480 442 pins = "GPIO140_B11";
a48bf4b9
LW
443 ste,config = <&in_nopull>;
444 };
445 /* LAN reset pin */
446 snowball_cfg2 {
1637d480 447 pins = "GPIO141_C12";
a48bf4b9
LW
448 ste,config = <&gpio_out_hi>;
449 };
450
451 };
452 };
1e662353
LW
453 sdi0 {
454 sdi0_default_mode: sdi0_default {
455 snowball_mux {
68d41f23
LW
456 function = "mc0";
457 groups = "mc0dat31dir_a_1";
1e662353
LW
458 };
459 snowball_cfg1 {
1637d480 460 pins = "GPIO21_AB3"; /* DAT31DIR */
1e662353
LW
461 ste,config = <&out_hi>;
462 };
1d8aca9d
LW
463 /* SD card detect GPIO pin, extend default state */
464 snowball_cfg2 {
465 pins = "GPIO218_AH11";
466 ste,config = <&gpio_in_pu>;
467 };
468 /* VMMCI level-shifter enable */
469 snowball_cfg3 {
470 pins = "GPIO217_AH12";
471 ste,config = <&gpio_out_lo>;
472 };
473 /* VMMCI level-shifter voltage select */
474 snowball_cfg4 {
475 pins = "GPIO228_AJ6";
476 ste,config = <&gpio_out_hi>;
477 };
1e662353
LW
478 };
479 };
fd8f9eac
LW
480 ssp0 {
481 ssp0_snowball_mode: ssp0_snowball_default {
482 snowball_mux {
68d41f23
LW
483 function = "ssp0";
484 groups = "ssp0_a_1";
fd8f9eac
LW
485 };
486 snowball_cfg1 {
1637d480 487 pins = "GPIO144_B13"; /* FRM */
fd8f9eac
LW
488 ste,config = <&gpio_out_hi>;
489 };
490 snowball_cfg2 {
1637d480 491 pins = "GPIO145_C13"; /* RXD */
fd8f9eac
LW
492 ste,config = <&in_pd>;
493 };
494 snowball_cfg3 {
1637d480 495 pins =
fd8f9eac
LW
496 "GPIO146_D13", /* TXD */
497 "GPIO143_D12"; /* CLK */
498 ste,config = <&out_lo>;
499 };
500
501 };
502 };
2f4b84f8
LW
503 gpio_led {
504 gpioled_snowball_mode: gpioled_default {
505 snowball_cfg1 {
1637d480 506 pins = "GPIO142_C11";
2f4b84f8
LW
507 ste,config = <&gpio_out_hi>;
508 };
509
510 };
511 };
4d4629fc
LW
512 accelerometer {
513 accel_snowball_mode: accel_snowball {
514 /* Accelerometer lines */
515 snowball_cfg1 {
1637d480 516 pins =
4d4629fc
LW
517 "GPIO163_C20", /* ACCEL_IRQ1 */
518 "GPIO164_B21"; /* ACCEL_IRQ2 */
519 ste,config = <&gpio_in_pu>;
520 };
521 };
522 };
22a93167
LW
523 gyro {
524 gyro_snowball_mode: gyro_snowball {
525 snowball_cfg1 {
526 pins =
527 "GPIO166_A22", /* DRDY */
528 "GPIO169_D22"; /* INT */
529 ste,config = <&gpio_in_pu>;
530 };
531 };
532 };
4d4629fc
LW
533 magnetometer {
534 magneto_snowball_mode: magneto_snowball {
535 snowball_cfg1 {
1637d480 536 pins = "GPIO165_C21"; /* MAG_DRDY */
4d4629fc
LW
537 ste,config = <&gpio_in_pu>;
538 };
539 };
540 };
541 gbf {
542 gbf_snowball_mode: gbf_snowball {
543 /*
544 * GBF (GPS, Bluetooth, FM-radio) interface,
545 * pull low to reset state
546 */
547 snowball_cfg1 {
1637d480 548 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
4d4629fc
LW
549 ste,config = <&gpio_out_lo>;
550 };
551 };
552 };
553 wlan {
554 wlan_snowball_mode: wlan_snowball {
555 /*
556 * Activate this mode with the WLAN chip.
557 * These are plain GPIO pins used by WLAN
558 */
559 snowball_cfg1 {
1637d480 560 pins =
4d4629fc
LW
561 "GPIO161_D21", /* WLAN_PMU_EN */
562 "GPIO215_AH13"; /* WLAN_ENA */
563 ste,config = <&gpio_out_lo>;
564 };
565 snowball_cfg2 {
1637d480 566 pins = "GPIO216_AG12"; /* WLAN_IRQ */
4d4629fc
LW
567 ste,config = <&gpio_in_pu>;
568 };
569 };
570 };
1e662353 571 };
817a5b96
LW
572
573 mcde@a0350000 {
574 pinctrl-names = "default", "sleep";
575 pinctrl-0 = <&lcd_default_mode>;
576 pinctrl-1 = <&lcd_sleep_mode>;
577 };
2d334297
AB
578 };
579};
This page took 0.387443 seconds and 5 git commands to generate.