2 * Copyright 2011 ST-Ericsson AB
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:
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
13 #include "ste-dbx5x0.dtsi"
14 #include "ste-href-ab8500.dtsi"
15 #include "ste-href-family-pinctrl.dtsi"
18 model = "Calao Systems Snowball platform with device tree";
19 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
21 /* This stablilizes the serial port enumeration */
23 serial0 = &ux500_serial0;
24 serial1 = &ux500_serial1;
25 serial2 = &ux500_serial2;
29 reg = <0x00000000 0x20000000>;
33 compatible = "regulator-fixed";
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>;
44 compatible = "gpio-keys";
49 debounce_interval = <50>;
53 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
56 debounce_interval = <50>;
60 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
63 debounce_interval = <50>;
67 gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>;
70 debounce_interval = <50>;
74 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
77 debounce_interval = <50>;
81 gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
86 compatible = "gpio-leds";
87 pinctrl-names = "default";
88 pinctrl-0 = <&gpioled_snowball_mode>;
91 gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
93 linux,default-trigger = "heartbeat";
98 /* Name the GPIO muxed rails on the Snowball board */
101 gpio-line-names = "", "", "", "", "", "", "", "",
102 "", "", "", "", "", "", "", "",
103 "", "", "", "", "", "", "", "",
104 "", "", "", "", "", "", "",
110 gpio-line-names = "USR PB", "", "", "", "", "", "", "",
111 "", "", "", "", "", "", "", "",
112 "", "", "", "", "", "", "", "",
113 "", "", "", "", "", "", "", "";
118 gpio-line-names = "", "", "", "", "AP_GPIO68", "", "", "",
119 "", "", "", "", "", "", "", "",
120 "", "", "", "", "", "", "", "",
121 "", "", "", "", "", "", "", "";
125 /* GPIOs 128 - 159 */
126 gpio-line-names = "", "", "", "", "", "", "", "",
127 "", "", "", "", "IRQ_LAN", "RSTn_LAN",
128 "USR_LED", "", "", "", "", "", "",
129 "", "", "AP_GPIO151", "AP_GPIO152",
130 "", "", "", "", "", "", "";
134 /* GPIOs 160 - 191 */
135 gpio-line-names = "", "AP_GPIO161", "AP_GPIO162",
136 "ACCELEROMETER_INT1_RDY",
137 "ACCELEROMETER_INT2", "MAG_DRDY",
138 "GYRO_DRDY", "RSTn_MLC", "RSTn_SLC",
139 "GYRO_INT", "UART_WAKE", "GBF_RESET",
141 "", "", "", "", "", "", "", "",
142 "", "", "", "", "", "", "", "";
146 /* GPIOs 192 - 223 */
147 gpio-line-names = "HDTV_INTn", "", "", "", "HDTV_RST",
148 "", "", "", "", "", "", "", "", "",
149 "", "", "", "", "", "", "", "", "",
150 "WLAN_RESETN", "WLAN_IRQ", "MMC_EN",
151 "MMC_CD", "", "", "", "", "";
155 /* GPIOs 224 - 255 */
156 gpio-line-names = "", "", "", "", "SD_SEL", "", "", "",
157 "", "", "", "", "", "", "", "",
158 "", "", "", "", "", "", "", "",
159 "", "", "", "", "", "", "", "";
163 pinctrl-names = "default", "sleep";
164 pinctrl-0 = <&musb_default_mode>;
165 pinctrl-1 = <&musb_sleep_mode>;
169 compatible = "stericsson,snd-soc-mop500";
171 stericsson,cpu-dai = <&msp1 &msp3>;
172 stericsson,audio-codec = <&codec>;
176 pinctrl-names = "default";
177 pinctrl-0 = <&msp0_default_mode>;
182 pinctrl-names = "default";
183 pinctrl-0 = <&msp1_default_mode>;
188 pinctrl-names = "default";
189 pinctrl-0 = <&msp2_default_mode>;
196 external-bus@50000000 {
200 compatible = "smsc,lan9115";
202 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
203 interrupt-parent = <&gpio4>;
204 vdd33a-supply = <&en_3v3_reg>;
205 vddvario-supply = <&db8500_vape_reg>;
206 pinctrl-names = "default";
207 pinctrl-0 = <ð_snowball_mode>;
211 smsc,force-internal-phy;
212 smsc,irq-active-high;
215 clocks = <&prcc_pclk 3 0>;
219 vmmci: regulator-gpio {
220 compatible = "regulator-gpio";
222 gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
223 enable-gpio = <&gpio6 25 GPIO_ACTIVE_HIGH>;
225 regulator-min-microvolt = <1800000>;
226 regulator-max-microvolt = <2900000>;
227 regulator-name = "mmci-reg";
228 regulator-type = "voltage";
230 startup-delay-us = <100>;
233 states = <1800000 0x1
237 // External Micro SD slot
239 arm,primecell-periphid = <0x10480180>;
240 max-frequency = <100000000>;
246 /* All direction control is used */
253 vmmc-supply = <&ab8500_ldo_aux3_reg>;
254 vqmmc-supply = <&vmmci>;
255 pinctrl-names = "default", "sleep";
256 pinctrl-0 = <&sdi0_default_mode>;
257 pinctrl-1 = <&sdi0_sleep_mode>;
260 cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>;
267 arm,primecell-periphid = <0x10480180>;
268 max-frequency = <100000000>;
270 pinctrl-names = "default", "sleep";
271 pinctrl-0 = <&sdi1_default_mode>;
272 pinctrl-1 = <&sdi1_sleep_mode>;
277 // Unused PoP eMMC - register and put it to sleep by default */
279 arm,primecell-periphid = <0x10480180>;
280 pinctrl-names = "default";
281 pinctrl-0 = <&sdi2_sleep_mode>;
288 arm,primecell-periphid = <0x10480180>;
289 max-frequency = <100000000>;
292 vmmc-supply = <&ab8500_ldo_aux2_reg>;
293 pinctrl-names = "default", "sleep";
294 pinctrl-0 = <&sdi4_default_mode>;
295 pinctrl-1 = <&sdi4_sleep_mode>;
301 pinctrl-names = "default", "sleep";
302 pinctrl-0 = <&uart0_default_mode>;
303 pinctrl-1 = <&uart0_sleep_mode>;
307 /* This UART is unused and thus left disabled */
309 pinctrl-names = "default", "sleep";
310 pinctrl-0 = <&uart1_default_mode>;
311 pinctrl-1 = <&uart1_sleep_mode>;
315 pinctrl-names = "default", "sleep";
316 pinctrl-0 = <&uart2_default_mode>;
317 pinctrl-1 = <&uart2_sleep_mode>;
322 pinctrl-names = "default","sleep";
323 pinctrl-0 = <&i2c0_default_mode>;
324 pinctrl-1 = <&i2c0_sleep_mode>;
328 pinctrl-names = "default","sleep";
329 pinctrl-0 = <&i2c1_default_mode>;
330 pinctrl-1 = <&i2c1_sleep_mode>;
334 pinctrl-names = "default","sleep";
335 pinctrl-0 = <&i2c2_default_mode>;
336 pinctrl-1 = <&i2c2_sleep_mode>;
339 compatible = "st,lsm303dlh-accel";
340 st,drdy-int-pin = <1>;
342 vdd-supply = <&ab8500_ldo_aux1_reg>;
343 vddio-supply = <&db8500_vsmps2_reg>;
344 pinctrl-names = "default";
345 pinctrl-0 = <&accel_snowball_mode>;
346 interrupt-parent = <&gpio5>;
347 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
348 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
352 compatible = "st,lsm303dlh-magn";
354 vdd-supply = <&ab8500_ldo_aux1_reg>;
355 vddio-supply = <&db8500_vsmps2_reg>;
356 pinctrl-names = "default";
357 pinctrl-0 = <&magneto_snowball_mode>;
358 interrupt-parent = <&gpio5>;
359 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
363 compatible = "st,l3g4200d-gyro";
364 st,drdy-int-pin = <2>;
366 vdd-supply = <&ab8500_ldo_aux1_reg>;
367 vddio-supply = <&db8500_vsmps2_reg>;
368 pinctrl-names = "default";
369 pinctrl-0 = <&gyro_snowball_mode>;
370 interrupt-parent = <&gpio5>;
371 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
372 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
375 /* Barometer/pressure sensor */
376 compatible = "st,lps001wp-press";
378 vdd-supply = <&ab8500_ldo_aux1_reg>;
379 vddio-supply = <&db8500_vsmps2_reg>;
384 pinctrl-names = "default","sleep";
385 pinctrl-0 = <&i2c3_default_mode>;
386 pinctrl-1 = <&i2c3_sleep_mode>;
390 pinctrl-names = "default";
391 pinctrl-0 = <&ssp0_snowball_mode>;
406 trip0-temp = <70000>;
407 trip0-type = "active";
408 trip0-cdev-num = <1>;
409 trip0-cdev-name0 = "thermal-cpufreq-0";
411 trip1-temp = <75000>;
412 trip1-type = "active";
413 trip1-cdev-num = <1>;
414 trip1-cdev-name0 = "thermal-cpufreq-0";
416 trip2-temp = <80000>;
417 trip2-type = "active";
418 trip2-cdev-num = <1>;
419 trip2-cdev-name0 = "thermal-cpufreq-0";
421 trip3-temp = <85000>;
422 trip3-type = "critical";
423 trip3-cdev-num = <0>;
431 * AB8500 GPIOs are numbered starting from 1, so the first
432 * index 0 is what in the datasheet is called "GPIO1", and
433 * the second is "GPIO2" and so forth. Confusingly, the
434 * Snowball schematic then names the "GPIO2" line "PM_GPIO1".
435 * while later naming "GPIO4" as "PM_GPIO4".
437 gpio-line-names = "", /* AB8500 GPIO1 */
438 "PM_GPIO1", /* AB8500 GPIO2 */
439 "WLAN_CLK_REQ", /* AB8500 GPIO3 */
440 "PM_GPIO4", /* AB8500 GPIO4 */
441 "", "", "", "", "", "", "", "", "", "", "",
442 "EN_3V6", /* AB8500 GPIO16 */
443 "", "", "", "" ,"", "", "", "", "",
444 "EN_3V3", /* AB8500 GPIO26 */
445 "", "", "", "", "", "", "", "", "", "", "", "", "",
446 "PM_GPIO40", /* AB8500 GPIO40 */
447 "PM_GPIO41", /* AB8500 GPIO41 */
448 "PM_GPIO42"; /* AB8500 GPIO42 */
451 ext_regulators: ab8500-ext-regulators {
452 ab8500_ext1_reg: ab8500_ext1 {
453 regulator-name = "ab8500-ext-supply1";
456 ab8500_ext2_reg_reg: ab8500_ext2 {
457 regulator-name = "ab8500-ext-supply2";
460 ab8500_ext3_reg_reg: ab8500_ext3 {
461 regulator-name = "ab8500-ext-supply3";
466 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
467 regulator-name = "V-DISPLAY";
470 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
471 regulator-name = "V-eMMC1";
474 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
475 regulator-name = "V-MMC-SD";
478 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
479 regulator-name = "V-INTCORE";
482 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
483 regulator-name = "V-TVOUT";
486 ab8500_ldo_usb_reg: ab8500_ldo_usb {
487 regulator-name = "dummy";
490 ab8500_ldo_audio_reg: ab8500_ldo_audio {
491 regulator-name = "V-AUD";
494 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
495 regulator-name = "V-AMIC1";
498 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
499 regulator-name = "V-AMIC2";
502 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
503 regulator-name = "V-DMIC";
506 ab8500_ldo_ana_reg: ab8500_ldo_ana {
507 regulator-name = "V-CSI/DSI";
515 * Set this up using hogs, as time goes by and as seems fit, these
516 * can be moved over to being controlled by respective device.
518 pinctrl-names = "default";
519 pinctrl-0 = <&gbf_snowball_mode>,
520 <&wlan_snowball_mode>;
524 * Mux in "SM" which is used for the
525 * SMSC911x Ethernet adapter
527 eth_snowball_mode: eth_snowball {
534 pins = "GPIO140_B11";
535 ste,config = <&in_nopull>;
539 pins = "GPIO141_C12";
540 ste,config = <&gpio_out_hi>;
546 sdi0_default_mode: sdi0_default {
549 groups = "mc0dat31dir_a_1";
552 pins = "GPIO21_AB3"; /* DAT31DIR */
553 ste,config = <&out_hi>;
555 /* SD card detect GPIO pin, extend default state */
557 pins = "GPIO218_AH11";
558 ste,config = <&gpio_in_pu>;
560 /* VMMCI level-shifter enable */
562 pins = "GPIO217_AH12";
563 ste,config = <&gpio_out_hi>;
565 /* VMMCI level-shifter voltage select */
567 pins = "GPIO228_AJ6";
568 ste,config = <&gpio_out_hi>;
573 ssp0_snowball_mode: ssp0_snowball_default {
579 pins = "GPIO144_B13"; /* FRM */
580 ste,config = <&gpio_out_hi>;
583 pins = "GPIO145_C13"; /* RXD */
584 ste,config = <&in_pd>;
588 "GPIO146_D13", /* TXD */
589 "GPIO143_D12"; /* CLK */
590 ste,config = <&out_lo>;
596 gpioled_snowball_mode: gpioled_default {
598 pins = "GPIO142_C11";
599 ste,config = <&gpio_out_hi>;
605 accel_snowball_mode: accel_snowball {
606 /* Accelerometer lines */
609 "GPIO163_C20", /* ACCEL_IRQ1 */
610 "GPIO164_B21"; /* ACCEL_IRQ2 */
611 ste,config = <&gpio_in_pu>;
616 gyro_snowball_mode: gyro_snowball {
619 "GPIO166_A22", /* DRDY */
620 "GPIO169_D22"; /* INT */
621 ste,config = <&gpio_in_pu>;
626 magneto_snowball_mode: magneto_snowball {
628 pins = "GPIO165_C21"; /* MAG_DRDY */
629 ste,config = <&gpio_in_pu>;
634 gbf_snowball_mode: gbf_snowball {
636 * GBF (GPS, Bluetooth, FM-radio) interface,
637 * pull low to reset state
640 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
641 ste,config = <&gpio_out_lo>;
646 wlan_snowball_mode: wlan_snowball {
648 * Activate this mode with the WLAN chip.
649 * These are plain GPIO pins used by WLAN
653 "GPIO161_D21", /* WLAN_PMU_EN */
654 "GPIO215_AH13"; /* WLAN_ENA */
655 ste,config = <&gpio_out_lo>;
658 pins = "GPIO216_AG12"; /* WLAN_IRQ */
659 ste,config = <&gpio_in_pu>;
666 pinctrl-names = "default", "sleep";
667 pinctrl-0 = <&lcd_default_mode>;
668 pinctrl-1 = <&lcd_sleep_mode>;