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 device_type = "memory";
30 reg = <0x00000000 0x20000000>;
34 compatible = "regulator-fixed";
35 regulator-name = "en-3v3-fixed-supply";
36 regulator-min-microvolt = <3300000>;
37 regulator-max-microvolt = <3300000>;
38 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
39 gpio = <&ab8500_gpio 25 0x4>;
40 startup-delay-us = <5000>;
45 compatible = "gpio-keys";
50 debounce-interval = <50>;
54 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
57 debounce-interval = <50>;
61 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
64 debounce-interval = <50>;
68 gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>;
71 debounce-interval = <50>;
75 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
78 debounce-interval = <50>;
82 gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
87 compatible = "gpio-leds";
88 pinctrl-names = "default";
89 pinctrl-0 = <&gpioled_snowball_mode>;
92 gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
94 linux,default-trigger = "heartbeat";
99 /* Name the GPIO muxed rails on the Snowball board */
102 gpio-line-names = "", "", "", "", "", "", "", "",
103 "", "", "", "", "", "", "", "",
104 "", "", "", "", "", "", "", "",
105 "", "", "", "", "", "", "",
111 gpio-line-names = "USR PB", "", "", "", "", "", "", "",
112 "", "", "", "", "", "", "", "",
113 "", "", "", "", "", "", "", "",
114 "", "", "", "", "", "", "", "";
119 gpio-line-names = "", "", "", "", "AP_GPIO68", "", "", "",
120 "", "", "", "", "", "", "", "",
121 "", "", "", "", "", "", "", "",
122 "", "", "", "", "", "", "", "";
126 /* GPIOs 128 - 159 */
127 gpio-line-names = "", "", "", "", "", "", "", "",
128 "", "", "", "", "IRQ_LAN", "RSTn_LAN",
129 "USR_LED", "", "", "", "", "", "",
130 "", "", "AP_GPIO151", "AP_GPIO152",
131 "", "", "", "", "", "", "";
135 /* GPIOs 160 - 191 */
136 gpio-line-names = "", "AP_GPIO161", "AP_GPIO162",
137 "ACCELEROMETER_INT1_RDY",
138 "ACCELEROMETER_INT2", "MAG_DRDY",
139 "GYRO_DRDY", "RSTn_MLC", "RSTn_SLC",
140 "GYRO_INT", "UART_WAKE", "GBF_RESET",
142 "", "", "", "", "", "", "", "",
143 "", "", "", "", "", "", "", "";
147 /* GPIOs 192 - 223 */
148 gpio-line-names = "HDTV_INTn", "", "", "", "HDTV_RST",
149 "", "", "", "", "", "", "", "", "",
150 "", "", "", "", "", "", "", "", "",
151 "WLAN_RESETN", "WLAN_IRQ", "MMC_EN",
152 "MMC_CD", "", "", "", "", "";
156 /* GPIOs 224 - 255 */
157 gpio-line-names = "", "", "", "", "SD_SEL", "", "", "",
158 "", "", "", "", "", "", "", "",
159 "", "", "", "", "", "", "", "",
160 "", "", "", "", "", "", "", "";
164 pinctrl-names = "default";
165 pinctrl-0 = <&msp0_default_mode>;
170 pinctrl-names = "default";
171 pinctrl-0 = <&msp1_default_mode>;
176 pinctrl-names = "default";
177 pinctrl-0 = <&msp2_default_mode>;
184 external-bus@50000000 {
188 compatible = "smsc,lan9115";
190 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
191 interrupt-parent = <&gpio4>;
192 vdd33a-supply = <&en_3v3_reg>;
193 vddvario-supply = <&db8500_vape_reg>;
194 pinctrl-names = "default";
195 pinctrl-0 = <ð_snowball_mode>;
199 smsc,force-internal-phy;
200 smsc,irq-active-high;
203 clocks = <&prcc_pclk 3 0>;
207 /* ST6G3244ME level translator for 1.8/2.9 V */
208 vmmci: regulator-gpio {
209 compatible = "regulator-gpio";
212 gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
214 enable-gpio = <&gpio6 25 GPIO_ACTIVE_HIGH>;
217 regulator-min-microvolt = <1800000>;
218 regulator-max-microvolt = <2900000>;
219 regulator-name = "mmci-reg";
220 regulator-type = "voltage";
222 startup-delay-us = <100>;
224 states = <1800000 0x1
228 // External Micro SD slot
230 arm,primecell-periphid = <0x10480180>;
231 max-frequency = <100000000>;
237 /* All direction control is used */
244 vmmc-supply = <&ab8500_ldo_aux3_reg>;
245 vqmmc-supply = <&vmmci>;
246 pinctrl-names = "default", "sleep";
247 pinctrl-0 = <&sdi0_default_mode>;
248 pinctrl-1 = <&sdi0_sleep_mode>;
251 cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>;
258 arm,primecell-periphid = <0x10480180>;
259 max-frequency = <100000000>;
261 pinctrl-names = "default", "sleep";
262 pinctrl-0 = <&sdi1_default_mode>;
263 pinctrl-1 = <&sdi1_sleep_mode>;
268 // Unused PoP eMMC - register and put it to sleep by default */
270 arm,primecell-periphid = <0x10480180>;
271 pinctrl-names = "default";
272 pinctrl-0 = <&sdi2_sleep_mode>;
279 arm,primecell-periphid = <0x10480180>;
280 max-frequency = <100000000>;
283 vmmc-supply = <&ab8500_ldo_aux2_reg>;
284 pinctrl-names = "default", "sleep";
285 pinctrl-0 = <&sdi4_default_mode>;
286 pinctrl-1 = <&sdi4_sleep_mode>;
292 pinctrl-names = "default", "sleep";
293 pinctrl-0 = <&uart0_default_mode>;
294 pinctrl-1 = <&uart0_sleep_mode>;
298 /* This UART is unused and thus left disabled */
300 pinctrl-names = "default", "sleep";
301 pinctrl-0 = <&uart1_default_mode>;
302 pinctrl-1 = <&uart1_sleep_mode>;
306 pinctrl-names = "default", "sleep";
307 pinctrl-0 = <&uart2_default_mode>;
308 pinctrl-1 = <&uart2_sleep_mode>;
313 pinctrl-names = "default","sleep";
314 pinctrl-0 = <&i2c0_default_mode>;
315 pinctrl-1 = <&i2c0_sleep_mode>;
319 pinctrl-names = "default","sleep";
320 pinctrl-0 = <&i2c1_default_mode>;
321 pinctrl-1 = <&i2c1_sleep_mode>;
325 pinctrl-names = "default","sleep";
326 pinctrl-0 = <&i2c2_default_mode>;
327 pinctrl-1 = <&i2c2_sleep_mode>;
330 compatible = "st,lsm303dlh-accel";
331 st,drdy-int-pin = <1>;
333 vdd-supply = <&ab8500_ldo_aux1_reg>;
334 vddio-supply = <&db8500_vsmps2_reg>;
335 pinctrl-names = "default";
336 pinctrl-0 = <&accel_snowball_mode>;
337 interrupt-parent = <&gpio5>;
338 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
339 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
343 compatible = "st,lsm303dlh-magn";
345 vdd-supply = <&ab8500_ldo_aux1_reg>;
346 vddio-supply = <&db8500_vsmps2_reg>;
347 pinctrl-names = "default";
348 pinctrl-0 = <&magneto_snowball_mode>;
349 interrupt-parent = <&gpio5>;
350 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
354 compatible = "st,l3g4200d-gyro";
355 st,drdy-int-pin = <2>;
357 vdd-supply = <&ab8500_ldo_aux1_reg>;
358 vddio-supply = <&db8500_vsmps2_reg>;
359 pinctrl-names = "default";
360 pinctrl-0 = <&gyro_snowball_mode>;
361 interrupt-parent = <&gpio5>;
362 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
363 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
366 /* Barometer/pressure sensor */
367 compatible = "st,lps001wp-press";
369 vdd-supply = <&ab8500_ldo_aux1_reg>;
370 vddio-supply = <&db8500_vsmps2_reg>;
375 pinctrl-names = "default","sleep";
376 pinctrl-0 = <&i2c3_default_mode>;
377 pinctrl-1 = <&i2c3_sleep_mode>;
381 pinctrl-names = "default";
382 pinctrl-0 = <&ssp0_snowball_mode>;
397 trip0-temp = <70000>;
398 trip0-type = "active";
399 trip0-cdev-num = <1>;
400 trip0-cdev-name0 = "thermal-cpufreq-0";
402 trip1-temp = <75000>;
403 trip1-type = "active";
404 trip1-cdev-num = <1>;
405 trip1-cdev-name0 = "thermal-cpufreq-0";
407 trip2-temp = <80000>;
408 trip2-type = "active";
409 trip2-cdev-num = <1>;
410 trip2-cdev-name0 = "thermal-cpufreq-0";
412 trip3-temp = <85000>;
413 trip3-type = "critical";
414 trip3-cdev-num = <0>;
422 * AB8500 GPIOs are numbered starting from 1, so the first
423 * index 0 is what in the datasheet is called "GPIO1", and
424 * the second is "GPIO2" and so forth. Confusingly, the
425 * Snowball schematic then names the "GPIO2" line "PM_GPIO1".
426 * while later naming "GPIO4" as "PM_GPIO4".
428 gpio-line-names = "", /* AB8500 GPIO1 */
429 "PM_GPIO1", /* AB8500 GPIO2 */
430 "WLAN_CLK_REQ", /* AB8500 GPIO3 */
431 "PM_GPIO4", /* AB8500 GPIO4 */
432 "", "", "", "", "", "", "", "", "", "", "",
433 "EN_3V6", /* AB8500 GPIO16 */
434 "", "", "", "" ,"", "", "", "", "",
435 "EN_3V3", /* AB8500 GPIO26 */
436 "", "", "", "", "", "", "", "", "", "", "", "", "",
437 "PM_GPIO40", /* AB8500 GPIO40 */
438 "PM_GPIO41", /* AB8500 GPIO41 */
439 "PM_GPIO42"; /* AB8500 GPIO42 */
443 pinctrl-names = "default", "sleep";
444 pinctrl-0 = <&musb_default_mode>;
445 pinctrl-1 = <&musb_sleep_mode>;
448 ext_regulators: ab8500-ext-regulators {
449 ab8500_ext1_reg: ab8500_ext1 {
450 regulator-name = "ab8500-ext-supply1";
453 ab8500_ext2_reg_reg: ab8500_ext2 {
454 regulator-name = "ab8500-ext-supply2";
457 ab8500_ext3_reg_reg: ab8500_ext3 {
458 regulator-name = "ab8500-ext-supply3";
463 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
464 regulator-name = "V-DISPLAY";
467 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
468 regulator-name = "V-eMMC1";
471 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
472 regulator-name = "V-MMC-SD";
475 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
476 regulator-name = "V-INTCORE";
479 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
480 regulator-name = "V-TVOUT";
483 ab8500_ldo_usb_reg: ab8500_ldo_usb {
484 regulator-name = "dummy";
487 ab8500_ldo_audio_reg: ab8500_ldo_audio {
488 regulator-name = "V-AUD";
491 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
492 regulator-name = "V-AMIC1";
495 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
496 regulator-name = "V-AMIC2";
499 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
500 regulator-name = "V-DMIC";
503 ab8500_ldo_ana_reg: ab8500_ldo_ana {
504 regulator-name = "V-CSI/DSI";
512 * Set this up using hogs, as time goes by and as seems fit, these
513 * can be moved over to being controlled by respective device.
515 pinctrl-names = "default";
516 pinctrl-0 = <&gbf_snowball_mode>,
517 <&wlan_snowball_mode>;
521 * Mux in "SM" which is used for the
522 * SMSC911x Ethernet adapter
524 eth_snowball_mode: eth_snowball {
531 pins = "GPIO140_B11";
532 ste,config = <&in_nopull>;
536 pins = "GPIO141_C12";
537 ste,config = <&gpio_out_hi>;
543 sdi0_default_mode: sdi0_default {
546 /* Add the DAT31 pin even if it is not really used */
547 groups = "mc0dat31dir_a_1";
550 pins = "GPIO21_AB3"; /* DAT31DIR */
551 ste,config = <&out_hi>;
553 /* SD card detect GPIO pin, extend default state */
555 pins = "GPIO218_AH11";
556 ste,config = <&gpio_in_pu>;
558 /* VMMCI level-shifter enable */
560 pins = "GPIO217_AH12";
561 ste,config = <&gpio_out_hi>;
563 /* VMMCI level-shifter voltage select */
565 pins = "GPIO228_AJ6";
566 ste,config = <&gpio_out_hi>;
571 ssp0_snowball_mode: ssp0_snowball_default {
577 pins = "GPIO144_B13"; /* FRM */
578 ste,config = <&gpio_out_hi>;
581 pins = "GPIO145_C13"; /* RXD */
582 ste,config = <&in_pd>;
586 "GPIO146_D13", /* TXD */
587 "GPIO143_D12"; /* CLK */
588 ste,config = <&out_lo>;
594 gpioled_snowball_mode: gpioled_default {
596 pins = "GPIO142_C11";
597 ste,config = <&gpio_out_hi>;
603 accel_snowball_mode: accel_snowball {
604 /* Accelerometer lines */
607 "GPIO163_C20", /* ACCEL_IRQ1 */
608 "GPIO164_B21"; /* ACCEL_IRQ2 */
609 ste,config = <&gpio_in_pu>;
614 gyro_snowball_mode: gyro_snowball {
617 "GPIO166_A22", /* DRDY */
618 "GPIO169_D22"; /* INT */
619 ste,config = <&gpio_in_pu>;
624 magneto_snowball_mode: magneto_snowball {
626 pins = "GPIO165_C21"; /* MAG_DRDY */
627 ste,config = <&gpio_in_pu>;
632 gbf_snowball_mode: gbf_snowball {
634 * GBF (GPS, Bluetooth, FM-radio) interface,
635 * pull low to reset state
638 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
639 ste,config = <&gpio_out_lo>;
644 wlan_snowball_mode: wlan_snowball {
646 * Activate this mode with the WLAN chip.
647 * These are plain GPIO pins used by WLAN
651 "GPIO161_D21", /* WLAN_PMU_EN */
652 "GPIO215_AH13"; /* WLAN_ENA */
653 ste,config = <&gpio_out_lo>;
656 pins = "GPIO216_AG12"; /* WLAN_IRQ */
657 ste,config = <&gpio_in_pu>;
664 pinctrl-names = "default", "sleep";
665 pinctrl-0 = <&lcd_default_mode>;
666 pinctrl-1 = <&lcd_sleep_mode>;