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";
164 pinctrl-0 = <&msp0_default_mode>;
169 pinctrl-names = "default";
170 pinctrl-0 = <&msp1_default_mode>;
175 pinctrl-names = "default";
176 pinctrl-0 = <&msp2_default_mode>;
183 external-bus@50000000 {
187 compatible = "smsc,lan9115";
189 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
190 interrupt-parent = <&gpio4>;
191 vdd33a-supply = <&en_3v3_reg>;
192 vddvario-supply = <&db8500_vape_reg>;
193 pinctrl-names = "default";
194 pinctrl-0 = <ð_snowball_mode>;
198 smsc,force-internal-phy;
199 smsc,irq-active-high;
202 clocks = <&prcc_pclk 3 0>;
206 /* ST6G3244ME level translator for 1.8/2.9 V */
207 vmmci: regulator-gpio {
208 compatible = "regulator-gpio";
211 gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
213 enable-gpio = <&gpio6 25 GPIO_ACTIVE_HIGH>;
216 regulator-min-microvolt = <1800000>;
217 regulator-max-microvolt = <2900000>;
218 regulator-name = "mmci-reg";
219 regulator-type = "voltage";
221 startup-delay-us = <100>;
223 states = <1800000 0x1
227 // External Micro SD slot
229 arm,primecell-periphid = <0x10480180>;
230 max-frequency = <100000000>;
236 /* All direction control is used */
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>;
250 cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>;
257 arm,primecell-periphid = <0x10480180>;
258 max-frequency = <100000000>;
260 pinctrl-names = "default", "sleep";
261 pinctrl-0 = <&sdi1_default_mode>;
262 pinctrl-1 = <&sdi1_sleep_mode>;
267 // Unused PoP eMMC - register and put it to sleep by default */
269 arm,primecell-periphid = <0x10480180>;
270 pinctrl-names = "default";
271 pinctrl-0 = <&sdi2_sleep_mode>;
278 arm,primecell-periphid = <0x10480180>;
279 max-frequency = <100000000>;
282 vmmc-supply = <&ab8500_ldo_aux2_reg>;
283 pinctrl-names = "default", "sleep";
284 pinctrl-0 = <&sdi4_default_mode>;
285 pinctrl-1 = <&sdi4_sleep_mode>;
291 pinctrl-names = "default", "sleep";
292 pinctrl-0 = <&uart0_default_mode>;
293 pinctrl-1 = <&uart0_sleep_mode>;
297 /* This UART is unused and thus left disabled */
299 pinctrl-names = "default", "sleep";
300 pinctrl-0 = <&uart1_default_mode>;
301 pinctrl-1 = <&uart1_sleep_mode>;
305 pinctrl-names = "default", "sleep";
306 pinctrl-0 = <&uart2_default_mode>;
307 pinctrl-1 = <&uart2_sleep_mode>;
312 pinctrl-names = "default","sleep";
313 pinctrl-0 = <&i2c0_default_mode>;
314 pinctrl-1 = <&i2c0_sleep_mode>;
318 pinctrl-names = "default","sleep";
319 pinctrl-0 = <&i2c1_default_mode>;
320 pinctrl-1 = <&i2c1_sleep_mode>;
324 pinctrl-names = "default","sleep";
325 pinctrl-0 = <&i2c2_default_mode>;
326 pinctrl-1 = <&i2c2_sleep_mode>;
329 compatible = "st,lsm303dlh-accel";
330 st,drdy-int-pin = <1>;
332 vdd-supply = <&ab8500_ldo_aux1_reg>;
333 vddio-supply = <&db8500_vsmps2_reg>;
334 pinctrl-names = "default";
335 pinctrl-0 = <&accel_snowball_mode>;
336 interrupt-parent = <&gpio5>;
337 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
338 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
342 compatible = "st,lsm303dlh-magn";
344 vdd-supply = <&ab8500_ldo_aux1_reg>;
345 vddio-supply = <&db8500_vsmps2_reg>;
346 pinctrl-names = "default";
347 pinctrl-0 = <&magneto_snowball_mode>;
348 interrupt-parent = <&gpio5>;
349 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
353 compatible = "st,l3g4200d-gyro";
354 st,drdy-int-pin = <2>;
356 vdd-supply = <&ab8500_ldo_aux1_reg>;
357 vddio-supply = <&db8500_vsmps2_reg>;
358 pinctrl-names = "default";
359 pinctrl-0 = <&gyro_snowball_mode>;
360 interrupt-parent = <&gpio5>;
361 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
362 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
365 /* Barometer/pressure sensor */
366 compatible = "st,lps001wp-press";
368 vdd-supply = <&ab8500_ldo_aux1_reg>;
369 vddio-supply = <&db8500_vsmps2_reg>;
374 pinctrl-names = "default","sleep";
375 pinctrl-0 = <&i2c3_default_mode>;
376 pinctrl-1 = <&i2c3_sleep_mode>;
380 pinctrl-names = "default";
381 pinctrl-0 = <&ssp0_snowball_mode>;
396 trip0-temp = <70000>;
397 trip0-type = "active";
398 trip0-cdev-num = <1>;
399 trip0-cdev-name0 = "thermal-cpufreq-0";
401 trip1-temp = <75000>;
402 trip1-type = "active";
403 trip1-cdev-num = <1>;
404 trip1-cdev-name0 = "thermal-cpufreq-0";
406 trip2-temp = <80000>;
407 trip2-type = "active";
408 trip2-cdev-num = <1>;
409 trip2-cdev-name0 = "thermal-cpufreq-0";
411 trip3-temp = <85000>;
412 trip3-type = "critical";
413 trip3-cdev-num = <0>;
421 * AB8500 GPIOs are numbered starting from 1, so the first
422 * index 0 is what in the datasheet is called "GPIO1", and
423 * the second is "GPIO2" and so forth. Confusingly, the
424 * Snowball schematic then names the "GPIO2" line "PM_GPIO1".
425 * while later naming "GPIO4" as "PM_GPIO4".
427 gpio-line-names = "", /* AB8500 GPIO1 */
428 "PM_GPIO1", /* AB8500 GPIO2 */
429 "WLAN_CLK_REQ", /* AB8500 GPIO3 */
430 "PM_GPIO4", /* AB8500 GPIO4 */
431 "", "", "", "", "", "", "", "", "", "", "",
432 "EN_3V6", /* AB8500 GPIO16 */
433 "", "", "", "" ,"", "", "", "", "",
434 "EN_3V3", /* AB8500 GPIO26 */
435 "", "", "", "", "", "", "", "", "", "", "", "", "",
436 "PM_GPIO40", /* AB8500 GPIO40 */
437 "PM_GPIO41", /* AB8500 GPIO41 */
438 "PM_GPIO42"; /* AB8500 GPIO42 */
442 pinctrl-names = "default", "sleep";
443 pinctrl-0 = <&musb_default_mode>;
444 pinctrl-1 = <&musb_sleep_mode>;
447 ext_regulators: ab8500-ext-regulators {
448 ab8500_ext1_reg: ab8500_ext1 {
449 regulator-name = "ab8500-ext-supply1";
452 ab8500_ext2_reg_reg: ab8500_ext2 {
453 regulator-name = "ab8500-ext-supply2";
456 ab8500_ext3_reg_reg: ab8500_ext3 {
457 regulator-name = "ab8500-ext-supply3";
462 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
463 regulator-name = "V-DISPLAY";
466 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
467 regulator-name = "V-eMMC1";
470 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
471 regulator-name = "V-MMC-SD";
474 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
475 regulator-name = "V-INTCORE";
478 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
479 regulator-name = "V-TVOUT";
482 ab8500_ldo_usb_reg: ab8500_ldo_usb {
483 regulator-name = "dummy";
486 ab8500_ldo_audio_reg: ab8500_ldo_audio {
487 regulator-name = "V-AUD";
490 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
491 regulator-name = "V-AMIC1";
494 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
495 regulator-name = "V-AMIC2";
498 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
499 regulator-name = "V-DMIC";
502 ab8500_ldo_ana_reg: ab8500_ldo_ana {
503 regulator-name = "V-CSI/DSI";
511 * Set this up using hogs, as time goes by and as seems fit, these
512 * can be moved over to being controlled by respective device.
514 pinctrl-names = "default";
515 pinctrl-0 = <&gbf_snowball_mode>,
516 <&wlan_snowball_mode>;
520 * Mux in "SM" which is used for the
521 * SMSC911x Ethernet adapter
523 eth_snowball_mode: eth_snowball {
530 pins = "GPIO140_B11";
531 ste,config = <&in_nopull>;
535 pins = "GPIO141_C12";
536 ste,config = <&gpio_out_hi>;
542 sdi0_default_mode: sdi0_default {
545 /* Add the DAT31 pin even if it is not really used */
546 groups = "mc0dat31dir_a_1";
549 pins = "GPIO21_AB3"; /* DAT31DIR */
550 ste,config = <&out_hi>;
552 /* SD card detect GPIO pin, extend default state */
554 pins = "GPIO218_AH11";
555 ste,config = <&gpio_in_pu>;
557 /* VMMCI level-shifter enable */
559 pins = "GPIO217_AH12";
560 ste,config = <&gpio_out_hi>;
562 /* VMMCI level-shifter voltage select */
564 pins = "GPIO228_AJ6";
565 ste,config = <&gpio_out_hi>;
570 ssp0_snowball_mode: ssp0_snowball_default {
576 pins = "GPIO144_B13"; /* FRM */
577 ste,config = <&gpio_out_hi>;
580 pins = "GPIO145_C13"; /* RXD */
581 ste,config = <&in_pd>;
585 "GPIO146_D13", /* TXD */
586 "GPIO143_D12"; /* CLK */
587 ste,config = <&out_lo>;
593 gpioled_snowball_mode: gpioled_default {
595 pins = "GPIO142_C11";
596 ste,config = <&gpio_out_hi>;
602 accel_snowball_mode: accel_snowball {
603 /* Accelerometer lines */
606 "GPIO163_C20", /* ACCEL_IRQ1 */
607 "GPIO164_B21"; /* ACCEL_IRQ2 */
608 ste,config = <&gpio_in_pu>;
613 gyro_snowball_mode: gyro_snowball {
616 "GPIO166_A22", /* DRDY */
617 "GPIO169_D22"; /* INT */
618 ste,config = <&gpio_in_pu>;
623 magneto_snowball_mode: magneto_snowball {
625 pins = "GPIO165_C21"; /* MAG_DRDY */
626 ste,config = <&gpio_in_pu>;
631 gbf_snowball_mode: gbf_snowball {
633 * GBF (GPS, Bluetooth, FM-radio) interface,
634 * pull low to reset state
637 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
638 ste,config = <&gpio_out_lo>;
643 wlan_snowball_mode: wlan_snowball {
645 * Activate this mode with the WLAN chip.
646 * These are plain GPIO pins used by WLAN
650 "GPIO161_D21", /* WLAN_PMU_EN */
651 "GPIO215_AH13"; /* WLAN_ENA */
652 ste,config = <&gpio_out_lo>;
655 pins = "GPIO216_AG12"; /* WLAN_IRQ */
656 ste,config = <&gpio_in_pu>;
663 pinctrl-names = "default", "sleep";
664 pinctrl-0 = <&lcd_default_mode>;
665 pinctrl-1 = <&lcd_sleep_mode>;