| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538 |
- /*
- * Copyright 2011 ST-Ericsson AB
- *
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 or later at the following locations:
- *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
- */
- /dts-v1/;
- #include "ste-dbx5x0.dtsi"
- #include "ste-href-ab8500.dtsi"
- #include "ste-href-family-pinctrl.dtsi"
- / {
- model = "Calao Systems Snowball platform with device tree";
- compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
- memory {
- reg = <0x00000000 0x20000000>;
- };
- en_3v3_reg: en_3v3 {
- compatible = "regulator-fixed";
- regulator-name = "en-3v3-fixed-supply";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
- gpio = <&ab8500_gpio 25 0x4>;
- startup-delay-us = <5000>;
- enable-active-high;
- };
- gpio_keys {
- compatible = "gpio-keys";
- #address-cells = <1>;
- #size-cells = <0>;
- button@1 {
- debounce_interval = <50>;
- wakeup = <1>;
- linux,code = <2>;
- label = "userpb";
- gpios = <&gpio1 0 0x4>;
- };
- button@2 {
- debounce_interval = <50>;
- wakeup = <1>;
- linux,code = <3>;
- label = "extkb1";
- gpios = <&gpio4 23 0x4>;
- };
- button@3 {
- debounce_interval = <50>;
- wakeup = <1>;
- linux,code = <4>;
- label = "extkb2";
- gpios = <&gpio4 24 0x4>;
- };
- button@4 {
- debounce_interval = <50>;
- wakeup = <1>;
- linux,code = <5>;
- label = "extkb3";
- gpios = <&gpio5 1 0x4>;
- };
- button@5 {
- debounce_interval = <50>;
- wakeup = <1>;
- linux,code = <6>;
- label = "extkb4";
- gpios = <&gpio5 2 0x4>;
- };
- };
- leds {
- compatible = "gpio-leds";
- pinctrl-names = "default";
- pinctrl-0 = <&gpioled_snowball_mode>;
- used-led {
- label = "user_led";
- gpios = <&gpio4 14 0x4>;
- default-state = "on";
- linux,default-trigger = "heartbeat";
- };
- };
- soc {
- usb_per5@a03e0000 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&musb_default_mode>;
- pinctrl-1 = <&musb_sleep_mode>;
- };
- sound {
- compatible = "stericsson,snd-soc-mop500";
- stericsson,cpu-dai = <&msp1 &msp3>;
- stericsson,audio-codec = <&codec>;
- };
- msp0: msp@80123000 {
- pinctrl-names = "default";
- pinctrl-0 = <&msp0_default_mode>;
- status = "okay";
- };
- msp1: msp@80124000 {
- pinctrl-names = "default";
- pinctrl-0 = <&msp1_default_mode>;
- status = "okay";
- };
- msp2: msp@80117000 {
- pinctrl-names = "default";
- pinctrl-0 = <&msp2_default_mode>;
- };
- msp3: msp@80125000 {
- status = "okay";
- };
- external-bus@50000000 {
- status = "okay";
- ethernet@0 {
- compatible = "smsc,lan9115";
- reg = <0 0x10000>;
- interrupts = <12 IRQ_TYPE_EDGE_RISING>;
- interrupt-parent = <&gpio4>;
- vdd33a-supply = <&en_3v3_reg>;
- vddvario-supply = <&db8500_vape_reg>;
- pinctrl-names = "default";
- pinctrl-0 = <ð_snowball_mode>;
- reg-shift = <1>;
- reg-io-width = <2>;
- smsc,force-internal-phy;
- smsc,irq-active-high;
- smsc,irq-push-pull;
- clocks = <&prcc_pclk 3 0>;
- };
- };
- vmmci: regulator-gpio {
- compatible = "regulator-gpio";
- gpios = <&gpio7 4 0x4>;
- enable-gpio = <&gpio6 25 0x4>;
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2900000>;
- regulator-name = "mmci-reg";
- regulator-type = "voltage";
- startup-delay-us = <100>;
- enable-active-high;
- states = <1800000 0x1
- 2900000 0x0>;
- };
- // External Micro SD slot
- sdi0_per1@80126000 {
- arm,primecell-periphid = <0x10480180>;
- max-frequency = <100000000>;
- bus-width = <4>;
- cap-mmc-highspeed;
- vmmc-supply = <&ab8500_ldo_aux3_reg>;
- vqmmc-supply = <&vmmci>;
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&sdi0_default_mode>;
- pinctrl-1 = <&sdi0_sleep_mode>;
- cd-gpios = <&gpio6 26 0x4>; // 218
- cd-inverted;
- status = "okay";
- };
- // WLAN SDIO channel
- sdi1_per2@80118000 {
- arm,primecell-periphid = <0x10480180>;
- max-frequency = <100000000>;
- bus-width = <4>;
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&sdi1_default_mode>;
- pinctrl-1 = <&sdi1_sleep_mode>;
- status = "okay";
- };
- // Unused PoP eMMC - register and put it to sleep by default */
- sdi2_per3@80005000 {
- arm,primecell-periphid = <0x10480180>;
- pinctrl-names = "default";
- pinctrl-0 = <&sdi2_sleep_mode>;
- status = "okay";
- };
- // On-board eMMC
- sdi4_per2@80114000 {
- arm,primecell-periphid = <0x10480180>;
- max-frequency = <100000000>;
- bus-width = <8>;
- cap-mmc-highspeed;
- vmmc-supply = <&ab8500_ldo_aux2_reg>;
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&sdi4_default_mode>;
- pinctrl-1 = <&sdi4_sleep_mode>;
- status = "okay";
- };
- uart@80120000 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&uart0_default_mode>;
- pinctrl-1 = <&uart0_sleep_mode>;
- status = "okay";
- };
- uart@80121000 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&uart1_default_mode>;
- pinctrl-1 = <&uart1_sleep_mode>;
- status = "okay";
- };
- uart@80007000 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&uart2_default_mode>;
- pinctrl-1 = <&uart2_sleep_mode>;
- status = "okay";
- };
- i2c@80004000 {
- pinctrl-names = "default","sleep";
- pinctrl-0 = <&i2c0_default_mode>;
- pinctrl-1 = <&i2c0_sleep_mode>;
- };
- i2c@80122000 {
- pinctrl-names = "default","sleep";
- pinctrl-0 = <&i2c1_default_mode>;
- pinctrl-1 = <&i2c1_sleep_mode>;
- };
- i2c@80128000 {
- pinctrl-names = "default","sleep";
- pinctrl-0 = <&i2c2_default_mode>;
- pinctrl-1 = <&i2c2_sleep_mode>;
- lsm303dlh@18 {
- /* Accelerometer */
- compatible = "st,lsm303dlh-accel";
- st,drdy-int-pin = <1>;
- reg = <0x18>;
- vdd-supply = <&ab8500_ldo_aux1_reg>;
- vddio-supply = <&db8500_vsmps2_reg>;
- pinctrl-names = "default";
- pinctrl-0 = <&accel_snowball_mode>;
- };
- lsm303dlm@1e {
- /* Magnetometer */
- compatible = "st,lsm303dlm-magn";
- reg = <0x1e>;
- vdd-supply = <&ab8500_ldo_aux1_reg>;
- vddio-supply = <&db8500_vsmps2_reg>;
- pinctrl-names = "default";
- pinctrl-0 = <&magneto_snowball_mode>;
- };
- l3g4200d@68 {
- /* Gyroscope */
- compatible = "st,l3g4200d-gyro";
- st,drdy-int-pin = <2>;
- reg = <0x68>;
- vdd-supply = <&ab8500_ldo_aux1_reg>;
- vddio-supply = <&db8500_vsmps2_reg>;
- };
- lsp001wm@5c {
- /* Barometer/pressure sensor */
- compatible = "st,lps001wp-press";
- reg = <0x5c>;
- vdd-supply = <&ab8500_ldo_aux1_reg>;
- vddio-supply = <&db8500_vsmps2_reg>;
- };
- };
- i2c@80110000 {
- pinctrl-names = "default","sleep";
- pinctrl-0 = <&i2c3_default_mode>;
- pinctrl-1 = <&i2c3_sleep_mode>;
- };
- ssp@80002000 {
- pinctrl-names = "default";
- pinctrl-0 = <&ssp0_snowball_mode>;
- };
- cpufreq-cooling {
- status = "okay";
- };
- prcmu@80157000 {
- cpufreq {
- status = "okay";
- };
- thermal@801573c0 {
- num-trips = <4>;
- trip0-temp = <70000>;
- trip0-type = "active";
- trip0-cdev-num = <1>;
- trip0-cdev-name0 = "thermal-cpufreq-0";
- trip1-temp = <75000>;
- trip1-type = "active";
- trip1-cdev-num = <1>;
- trip1-cdev-name0 = "thermal-cpufreq-0";
- trip2-temp = <80000>;
- trip2-type = "active";
- trip2-cdev-num = <1>;
- trip2-cdev-name0 = "thermal-cpufreq-0";
- trip3-temp = <85000>;
- trip3-type = "critical";
- trip3-cdev-num = <0>;
- status = "okay";
- };
- ab8500 {
- ab8500-gpio {
- compatible = "stericsson,ab8500-gpio";
- };
- ext_regulators: ab8500-ext-regulators {
- ab8500_ext1_reg: ab8500_ext1 {
- regulator-name = "ab8500-ext-supply1";
- };
- ab8500_ext2_reg_reg: ab8500_ext2 {
- regulator-name = "ab8500-ext-supply2";
- };
- ab8500_ext3_reg_reg: ab8500_ext3 {
- regulator-name = "ab8500-ext-supply3";
- };
- };
- ab8500-regulators {
- ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
- regulator-name = "V-DISPLAY";
- };
- ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
- regulator-name = "V-eMMC1";
- };
- ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
- regulator-name = "V-MMC-SD";
- };
- ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
- regulator-name = "V-INTCORE";
- };
- ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
- regulator-name = "V-TVOUT";
- };
- ab8500_ldo_usb_reg: ab8500_ldo_usb {
- regulator-name = "dummy";
- };
- ab8500_ldo_audio_reg: ab8500_ldo_audio {
- regulator-name = "V-AUD";
- };
- ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
- regulator-name = "V-AMIC1";
- };
- ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
- regulator-name = "V-AMIC2";
- };
- ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
- regulator-name = "V-DMIC";
- };
- ab8500_ldo_ana_reg: ab8500_ldo_ana {
- regulator-name = "V-CSI/DSI";
- };
- };
- };
- };
- pinctrl {
- /*
- * Set this up using hogs, as time goes by and as seems fit, these
- * can be moved over to being controlled by respective device.
- */
- pinctrl-names = "default";
- pinctrl-0 = <&gbf_snowball_mode>,
- <&wlan_snowball_mode>;
- ethernet {
- /*
- * Mux in "SM" which is used for the
- * SMSC911x Ethernet adapter
- */
- eth_snowball_mode: eth_snowball {
- snowball_mux {
- ste,function = "sm";
- ste,pins = "sm_b_1";
- };
- /* LAN IRQ pin */
- snowball_cfg1 {
- ste,pins = "GPIO140_B11";
- ste,config = <&in_nopull>;
- };
- /* LAN reset pin */
- snowball_cfg2 {
- ste,pins = "GPIO141_C12";
- ste,config = <&gpio_out_hi>;
- };
- };
- };
- sdi0 {
- sdi0_default_mode: sdi0_default {
- snowball_mux {
- ste,function = "mc0";
- ste,pins = "mc0dat31dir_a_1";
- };
- snowball_cfg1 {
- ste,pins = "GPIO21_AB3"; /* DAT31DIR */
- ste,config = <&out_hi>;
- };
- };
- };
- ssp0 {
- ssp0_snowball_mode: ssp0_snowball_default {
- snowball_mux {
- ste,function = "ssp0";
- ste,pins = "ssp0_a_1";
- };
- snowball_cfg1 {
- ste,pins = "GPIO144_B13"; /* FRM */
- ste,config = <&gpio_out_hi>;
- };
- snowball_cfg2 {
- ste,pins = "GPIO145_C13"; /* RXD */
- ste,config = <&in_pd>;
- };
- snowball_cfg3 {
- ste,pins =
- "GPIO146_D13", /* TXD */
- "GPIO143_D12"; /* CLK */
- ste,config = <&out_lo>;
- };
- };
- };
- gpio_led {
- gpioled_snowball_mode: gpioled_default {
- snowball_cfg1 {
- ste,pins = "GPIO142_C11";
- ste,config = <&gpio_out_hi>;
- };
- };
- };
- accelerometer {
- accel_snowball_mode: accel_snowball {
- /* Accelerometer lines */
- snowball_cfg1 {
- ste,pins =
- "GPIO163_C20", /* ACCEL_IRQ1 */
- "GPIO164_B21"; /* ACCEL_IRQ2 */
- ste,config = <&gpio_in_pu>;
- };
- };
- };
- magnetometer {
- magneto_snowball_mode: magneto_snowball {
- snowball_cfg1 {
- ste,pins = "GPIO165_C21"; /* MAG_DRDY */
- ste,config = <&gpio_in_pu>;
- };
- };
- };
- gbf {
- gbf_snowball_mode: gbf_snowball {
- /*
- * GBF (GPS, Bluetooth, FM-radio) interface,
- * pull low to reset state
- */
- snowball_cfg1 {
- ste,pins = "GPIO171_D23"; /* GBF_ENA_RESET */
- ste,config = <&gpio_out_lo>;
- };
- };
- };
- wlan {
- wlan_snowball_mode: wlan_snowball {
- /*
- * Activate this mode with the WLAN chip.
- * These are plain GPIO pins used by WLAN
- */
- snowball_cfg1 {
- ste,pins =
- "GPIO161_D21", /* WLAN_PMU_EN */
- "GPIO215_AH13"; /* WLAN_ENA */
- ste,config = <&gpio_out_lo>;
- };
- snowball_cfg2 {
- ste,pins = "GPIO216_AG12"; /* WLAN_IRQ */
- ste,config = <&gpio_in_pu>;
- };
- };
- };
- };
- mcde@a0350000 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&lcd_default_mode>;
- pinctrl-1 = <&lcd_sleep_mode>;
- };
- };
- };
|