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";
99 pinctrl-names = "default", "sleep";
100 pinctrl-0 = <&musb_default_mode>;
101 pinctrl-1 = <&musb_sleep_mode>;
105 compatible = "stericsson,snd-soc-mop500";
107 stericsson,cpu-dai = <&msp1 &msp3>;
108 stericsson,audio-codec = <&codec>;
112 pinctrl-names = "default";
113 pinctrl-0 = <&msp0_default_mode>;
118 pinctrl-names = "default";
119 pinctrl-0 = <&msp1_default_mode>;
124 pinctrl-names = "default";
125 pinctrl-0 = <&msp2_default_mode>;
132 external-bus@50000000 {
136 compatible = "smsc,lan9115";
138 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
139 interrupt-parent = <&gpio4>;
140 vdd33a-supply = <&en_3v3_reg>;
141 vddvario-supply = <&db8500_vape_reg>;
142 pinctrl-names = "default";
143 pinctrl-0 = <ð_snowball_mode>;
147 smsc,force-internal-phy;
148 smsc,irq-active-high;
151 clocks = <&prcc_pclk 3 0>;
155 vmmci: regulator-gpio {
156 compatible = "regulator-gpio";
158 gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
159 enable-gpio = <&gpio6 25 GPIO_ACTIVE_HIGH>;
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <2900000>;
163 regulator-name = "mmci-reg";
164 regulator-type = "voltage";
166 startup-delay-us = <100>;
169 states = <1800000 0x1
173 // External Micro SD slot
175 arm,primecell-periphid = <0x10480180>;
176 max-frequency = <100000000>;
179 vmmc-supply = <&ab8500_ldo_aux3_reg>;
180 vqmmc-supply = <&vmmci>;
181 pinctrl-names = "default", "sleep";
182 pinctrl-0 = <&sdi0_default_mode>;
183 pinctrl-1 = <&sdi0_sleep_mode>;
185 cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>; // 218
192 arm,primecell-periphid = <0x10480180>;
193 max-frequency = <100000000>;
195 pinctrl-names = "default", "sleep";
196 pinctrl-0 = <&sdi1_default_mode>;
197 pinctrl-1 = <&sdi1_sleep_mode>;
202 // Unused PoP eMMC - register and put it to sleep by default */
204 arm,primecell-periphid = <0x10480180>;
205 pinctrl-names = "default";
206 pinctrl-0 = <&sdi2_sleep_mode>;
213 arm,primecell-periphid = <0x10480180>;
214 max-frequency = <100000000>;
217 vmmc-supply = <&ab8500_ldo_aux2_reg>;
218 pinctrl-names = "default", "sleep";
219 pinctrl-0 = <&sdi4_default_mode>;
220 pinctrl-1 = <&sdi4_sleep_mode>;
226 pinctrl-names = "default", "sleep";
227 pinctrl-0 = <&uart0_default_mode>;
228 pinctrl-1 = <&uart0_sleep_mode>;
232 /* This UART is unused and thus left disabled */
234 pinctrl-names = "default", "sleep";
235 pinctrl-0 = <&uart1_default_mode>;
236 pinctrl-1 = <&uart1_sleep_mode>;
240 pinctrl-names = "default", "sleep";
241 pinctrl-0 = <&uart2_default_mode>;
242 pinctrl-1 = <&uart2_sleep_mode>;
247 pinctrl-names = "default","sleep";
248 pinctrl-0 = <&i2c0_default_mode>;
249 pinctrl-1 = <&i2c0_sleep_mode>;
253 pinctrl-names = "default","sleep";
254 pinctrl-0 = <&i2c1_default_mode>;
255 pinctrl-1 = <&i2c1_sleep_mode>;
259 pinctrl-names = "default","sleep";
260 pinctrl-0 = <&i2c2_default_mode>;
261 pinctrl-1 = <&i2c2_sleep_mode>;
264 compatible = "st,lsm303dlh-accel";
265 st,drdy-int-pin = <1>;
267 vdd-supply = <&ab8500_ldo_aux1_reg>;
268 vddio-supply = <&db8500_vsmps2_reg>;
269 pinctrl-names = "default";
270 pinctrl-0 = <&accel_snowball_mode>;
271 interrupt-parent = <&gpio5>;
272 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
273 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
277 compatible = "st,lsm303dlh-magn";
279 vdd-supply = <&ab8500_ldo_aux1_reg>;
280 vddio-supply = <&db8500_vsmps2_reg>;
281 pinctrl-names = "default";
282 pinctrl-0 = <&magneto_snowball_mode>;
283 interrupt-parent = <&gpio5>;
284 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
288 compatible = "st,l3g4200d-gyro";
289 st,drdy-int-pin = <2>;
291 vdd-supply = <&ab8500_ldo_aux1_reg>;
292 vddio-supply = <&db8500_vsmps2_reg>;
293 pinctrl-names = "default";
294 pinctrl-0 = <&gyro_snowball_mode>;
295 interrupt-parent = <&gpio5>;
296 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
297 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
300 /* Barometer/pressure sensor */
301 compatible = "st,lps001wp-press";
303 vdd-supply = <&ab8500_ldo_aux1_reg>;
304 vddio-supply = <&db8500_vsmps2_reg>;
309 pinctrl-names = "default","sleep";
310 pinctrl-0 = <&i2c3_default_mode>;
311 pinctrl-1 = <&i2c3_sleep_mode>;
315 pinctrl-names = "default";
316 pinctrl-0 = <&ssp0_snowball_mode>;
331 trip0-temp = <70000>;
332 trip0-type = "active";
333 trip0-cdev-num = <1>;
334 trip0-cdev-name0 = "thermal-cpufreq-0";
336 trip1-temp = <75000>;
337 trip1-type = "active";
338 trip1-cdev-num = <1>;
339 trip1-cdev-name0 = "thermal-cpufreq-0";
341 trip2-temp = <80000>;
342 trip2-type = "active";
343 trip2-cdev-num = <1>;
344 trip2-cdev-name0 = "thermal-cpufreq-0";
346 trip3-temp = <85000>;
347 trip3-type = "critical";
348 trip3-cdev-num = <0>;
355 compatible = "stericsson,ab8500-gpio";
358 ext_regulators: ab8500-ext-regulators {
359 ab8500_ext1_reg: ab8500_ext1 {
360 regulator-name = "ab8500-ext-supply1";
363 ab8500_ext2_reg_reg: ab8500_ext2 {
364 regulator-name = "ab8500-ext-supply2";
367 ab8500_ext3_reg_reg: ab8500_ext3 {
368 regulator-name = "ab8500-ext-supply3";
373 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
374 regulator-name = "V-DISPLAY";
377 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
378 regulator-name = "V-eMMC1";
381 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
382 regulator-name = "V-MMC-SD";
385 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
386 regulator-name = "V-INTCORE";
389 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
390 regulator-name = "V-TVOUT";
393 ab8500_ldo_usb_reg: ab8500_ldo_usb {
394 regulator-name = "dummy";
397 ab8500_ldo_audio_reg: ab8500_ldo_audio {
398 regulator-name = "V-AUD";
401 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
402 regulator-name = "V-AMIC1";
405 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
406 regulator-name = "V-AMIC2";
409 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
410 regulator-name = "V-DMIC";
413 ab8500_ldo_ana_reg: ab8500_ldo_ana {
414 regulator-name = "V-CSI/DSI";
422 * Set this up using hogs, as time goes by and as seems fit, these
423 * can be moved over to being controlled by respective device.
425 pinctrl-names = "default";
426 pinctrl-0 = <&gbf_snowball_mode>,
427 <&wlan_snowball_mode>;
431 * Mux in "SM" which is used for the
432 * SMSC911x Ethernet adapter
434 eth_snowball_mode: eth_snowball {
441 pins = "GPIO140_B11";
442 ste,config = <&in_nopull>;
446 pins = "GPIO141_C12";
447 ste,config = <&gpio_out_hi>;
453 sdi0_default_mode: sdi0_default {
456 groups = "mc0dat31dir_a_1";
459 pins = "GPIO21_AB3"; /* DAT31DIR */
460 ste,config = <&out_hi>;
462 /* SD card detect GPIO pin, extend default state */
464 pins = "GPIO218_AH11";
465 ste,config = <&gpio_in_pu>;
467 /* VMMCI level-shifter enable */
469 pins = "GPIO217_AH12";
470 ste,config = <&gpio_out_lo>;
472 /* VMMCI level-shifter voltage select */
474 pins = "GPIO228_AJ6";
475 ste,config = <&gpio_out_hi>;
480 ssp0_snowball_mode: ssp0_snowball_default {
486 pins = "GPIO144_B13"; /* FRM */
487 ste,config = <&gpio_out_hi>;
490 pins = "GPIO145_C13"; /* RXD */
491 ste,config = <&in_pd>;
495 "GPIO146_D13", /* TXD */
496 "GPIO143_D12"; /* CLK */
497 ste,config = <&out_lo>;
503 gpioled_snowball_mode: gpioled_default {
505 pins = "GPIO142_C11";
506 ste,config = <&gpio_out_hi>;
512 accel_snowball_mode: accel_snowball {
513 /* Accelerometer lines */
516 "GPIO163_C20", /* ACCEL_IRQ1 */
517 "GPIO164_B21"; /* ACCEL_IRQ2 */
518 ste,config = <&gpio_in_pu>;
523 gyro_snowball_mode: gyro_snowball {
526 "GPIO166_A22", /* DRDY */
527 "GPIO169_D22"; /* INT */
528 ste,config = <&gpio_in_pu>;
533 magneto_snowball_mode: magneto_snowball {
535 pins = "GPIO165_C21"; /* MAG_DRDY */
536 ste,config = <&gpio_in_pu>;
541 gbf_snowball_mode: gbf_snowball {
543 * GBF (GPS, Bluetooth, FM-radio) interface,
544 * pull low to reset state
547 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
548 ste,config = <&gpio_out_lo>;
553 wlan_snowball_mode: wlan_snowball {
555 * Activate this mode with the WLAN chip.
556 * These are plain GPIO pins used by WLAN
560 "GPIO161_D21", /* WLAN_PMU_EN */
561 "GPIO215_AH13"; /* WLAN_ENA */
562 ste,config = <&gpio_out_lo>;
565 pins = "GPIO216_AG12"; /* WLAN_IRQ */
566 ste,config = <&gpio_in_pu>;
573 pinctrl-names = "default", "sleep";
574 pinctrl-0 = <&lcd_default_mode>;
575 pinctrl-1 = <&lcd_sleep_mode>;