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>;
243 vmmc-supply = <&ab8500_ldo_aux3_reg>;
244 vqmmc-supply = <&vmmci>;
245 pinctrl-names = "default", "sleep";
246 pinctrl-0 = <&sdi0_default_mode>;
247 pinctrl-1 = <&sdi0_sleep_mode>;
249 cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>; // 218
256 arm,primecell-periphid = <0x10480180>;
257 max-frequency = <100000000>;
259 pinctrl-names = "default", "sleep";
260 pinctrl-0 = <&sdi1_default_mode>;
261 pinctrl-1 = <&sdi1_sleep_mode>;
266 // Unused PoP eMMC - register and put it to sleep by default */
268 arm,primecell-periphid = <0x10480180>;
269 pinctrl-names = "default";
270 pinctrl-0 = <&sdi2_sleep_mode>;
277 arm,primecell-periphid = <0x10480180>;
278 max-frequency = <100000000>;
281 vmmc-supply = <&ab8500_ldo_aux2_reg>;
282 pinctrl-names = "default", "sleep";
283 pinctrl-0 = <&sdi4_default_mode>;
284 pinctrl-1 = <&sdi4_sleep_mode>;
290 pinctrl-names = "default", "sleep";
291 pinctrl-0 = <&uart0_default_mode>;
292 pinctrl-1 = <&uart0_sleep_mode>;
296 /* This UART is unused and thus left disabled */
298 pinctrl-names = "default", "sleep";
299 pinctrl-0 = <&uart1_default_mode>;
300 pinctrl-1 = <&uart1_sleep_mode>;
304 pinctrl-names = "default", "sleep";
305 pinctrl-0 = <&uart2_default_mode>;
306 pinctrl-1 = <&uart2_sleep_mode>;
311 pinctrl-names = "default","sleep";
312 pinctrl-0 = <&i2c0_default_mode>;
313 pinctrl-1 = <&i2c0_sleep_mode>;
317 pinctrl-names = "default","sleep";
318 pinctrl-0 = <&i2c1_default_mode>;
319 pinctrl-1 = <&i2c1_sleep_mode>;
323 pinctrl-names = "default","sleep";
324 pinctrl-0 = <&i2c2_default_mode>;
325 pinctrl-1 = <&i2c2_sleep_mode>;
328 compatible = "st,lsm303dlh-accel";
329 st,drdy-int-pin = <1>;
331 vdd-supply = <&ab8500_ldo_aux1_reg>;
332 vddio-supply = <&db8500_vsmps2_reg>;
333 pinctrl-names = "default";
334 pinctrl-0 = <&accel_snowball_mode>;
335 interrupt-parent = <&gpio5>;
336 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
337 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
341 compatible = "st,lsm303dlh-magn";
343 vdd-supply = <&ab8500_ldo_aux1_reg>;
344 vddio-supply = <&db8500_vsmps2_reg>;
345 pinctrl-names = "default";
346 pinctrl-0 = <&magneto_snowball_mode>;
347 interrupt-parent = <&gpio5>;
348 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
352 compatible = "st,l3g4200d-gyro";
353 st,drdy-int-pin = <2>;
355 vdd-supply = <&ab8500_ldo_aux1_reg>;
356 vddio-supply = <&db8500_vsmps2_reg>;
357 pinctrl-names = "default";
358 pinctrl-0 = <&gyro_snowball_mode>;
359 interrupt-parent = <&gpio5>;
360 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
361 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
364 /* Barometer/pressure sensor */
365 compatible = "st,lps001wp-press";
367 vdd-supply = <&ab8500_ldo_aux1_reg>;
368 vddio-supply = <&db8500_vsmps2_reg>;
373 pinctrl-names = "default","sleep";
374 pinctrl-0 = <&i2c3_default_mode>;
375 pinctrl-1 = <&i2c3_sleep_mode>;
379 pinctrl-names = "default";
380 pinctrl-0 = <&ssp0_snowball_mode>;
395 trip0-temp = <70000>;
396 trip0-type = "active";
397 trip0-cdev-num = <1>;
398 trip0-cdev-name0 = "thermal-cpufreq-0";
400 trip1-temp = <75000>;
401 trip1-type = "active";
402 trip1-cdev-num = <1>;
403 trip1-cdev-name0 = "thermal-cpufreq-0";
405 trip2-temp = <80000>;
406 trip2-type = "active";
407 trip2-cdev-num = <1>;
408 trip2-cdev-name0 = "thermal-cpufreq-0";
410 trip3-temp = <85000>;
411 trip3-type = "critical";
412 trip3-cdev-num = <0>;
420 * AB8500 GPIOs are numbered starting from 1, so the first
421 * index 0 is what in the datasheet is called "GPIO1", and
422 * the second is "GPIO2" and so forth. Confusingly, the
423 * Snowball schematic then names the "GPIO2" line "PM_GPIO1".
424 * while later naming "GPIO4" as "PM_GPIO4".
426 gpio-line-names = "", /* AB8500 GPIO1 */
427 "PM_GPIO1", /* AB8500 GPIO2 */
428 "WLAN_CLK_REQ", /* AB8500 GPIO3 */
429 "PM_GPIO4", /* AB8500 GPIO4 */
430 "", "", "", "", "", "", "", "", "", "", "",
431 "EN_3V6", /* AB8500 GPIO16 */
432 "", "", "", "" ,"", "", "", "", "",
433 "EN_3V3", /* AB8500 GPIO26 */
434 "", "", "", "", "", "", "", "", "", "", "", "", "",
435 "PM_GPIO40", /* AB8500 GPIO40 */
436 "PM_GPIO41", /* AB8500 GPIO41 */
437 "PM_GPIO42"; /* AB8500 GPIO42 */
440 ext_regulators: ab8500-ext-regulators {
441 ab8500_ext1_reg: ab8500_ext1 {
442 regulator-name = "ab8500-ext-supply1";
445 ab8500_ext2_reg_reg: ab8500_ext2 {
446 regulator-name = "ab8500-ext-supply2";
449 ab8500_ext3_reg_reg: ab8500_ext3 {
450 regulator-name = "ab8500-ext-supply3";
455 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
456 regulator-name = "V-DISPLAY";
459 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
460 regulator-name = "V-eMMC1";
463 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
464 regulator-name = "V-MMC-SD";
467 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
468 regulator-name = "V-INTCORE";
471 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
472 regulator-name = "V-TVOUT";
475 ab8500_ldo_usb_reg: ab8500_ldo_usb {
476 regulator-name = "dummy";
479 ab8500_ldo_audio_reg: ab8500_ldo_audio {
480 regulator-name = "V-AUD";
483 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
484 regulator-name = "V-AMIC1";
487 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
488 regulator-name = "V-AMIC2";
491 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
492 regulator-name = "V-DMIC";
495 ab8500_ldo_ana_reg: ab8500_ldo_ana {
496 regulator-name = "V-CSI/DSI";
504 * Set this up using hogs, as time goes by and as seems fit, these
505 * can be moved over to being controlled by respective device.
507 pinctrl-names = "default";
508 pinctrl-0 = <&gbf_snowball_mode>,
509 <&wlan_snowball_mode>;
513 * Mux in "SM" which is used for the
514 * SMSC911x Ethernet adapter
516 eth_snowball_mode: eth_snowball {
523 pins = "GPIO140_B11";
524 ste,config = <&in_nopull>;
528 pins = "GPIO141_C12";
529 ste,config = <&gpio_out_hi>;
535 sdi0_default_mode: sdi0_default {
538 groups = "mc0dat31dir_a_1";
541 pins = "GPIO21_AB3"; /* DAT31DIR */
542 ste,config = <&out_hi>;
544 /* SD card detect GPIO pin, extend default state */
546 pins = "GPIO218_AH11";
547 ste,config = <&gpio_in_pu>;
549 /* VMMCI level-shifter enable */
551 pins = "GPIO217_AH12";
552 ste,config = <&gpio_out_lo>;
554 /* VMMCI level-shifter voltage select */
556 pins = "GPIO228_AJ6";
557 ste,config = <&gpio_out_hi>;
562 ssp0_snowball_mode: ssp0_snowball_default {
568 pins = "GPIO144_B13"; /* FRM */
569 ste,config = <&gpio_out_hi>;
572 pins = "GPIO145_C13"; /* RXD */
573 ste,config = <&in_pd>;
577 "GPIO146_D13", /* TXD */
578 "GPIO143_D12"; /* CLK */
579 ste,config = <&out_lo>;
585 gpioled_snowball_mode: gpioled_default {
587 pins = "GPIO142_C11";
588 ste,config = <&gpio_out_hi>;
594 accel_snowball_mode: accel_snowball {
595 /* Accelerometer lines */
598 "GPIO163_C20", /* ACCEL_IRQ1 */
599 "GPIO164_B21"; /* ACCEL_IRQ2 */
600 ste,config = <&gpio_in_pu>;
605 gyro_snowball_mode: gyro_snowball {
608 "GPIO166_A22", /* DRDY */
609 "GPIO169_D22"; /* INT */
610 ste,config = <&gpio_in_pu>;
615 magneto_snowball_mode: magneto_snowball {
617 pins = "GPIO165_C21"; /* MAG_DRDY */
618 ste,config = <&gpio_in_pu>;
623 gbf_snowball_mode: gbf_snowball {
625 * GBF (GPS, Bluetooth, FM-radio) interface,
626 * pull low to reset state
629 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
630 ste,config = <&gpio_out_lo>;
635 wlan_snowball_mode: wlan_snowball {
637 * Activate this mode with the WLAN chip.
638 * These are plain GPIO pins used by WLAN
642 "GPIO161_D21", /* WLAN_PMU_EN */
643 "GPIO215_AH13"; /* WLAN_ENA */
644 ste,config = <&gpio_out_lo>;
647 pins = "GPIO216_AG12"; /* WLAN_IRQ */
648 ste,config = <&gpio_in_pu>;
655 pinctrl-names = "default", "sleep";
656 pinctrl-0 = <&lcd_default_mode>;
657 pinctrl-1 = <&lcd_sleep_mode>;