ARM: dts: apq8064-ifc6410: add notify led support.
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / qcom-apq8064-ifc6410.dts
index a7c939ba88730bf7b1e7076dc9b592e9d2b5577d..11ac608b6d50e716e6fc2aabf47839ce1b871d96 100644 (file)
@@ -1,5 +1,6 @@
 #include "qcom-apq8064-v2.0.dtsi"
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
 / {
        model = "Qualcomm APQ8064/IFC6410";
@@ -7,6 +8,34 @@
 
        aliases {
                serial0 = &gsbi7_serial;
+               serial1 = &gsbi6_serial;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       pwrseq {
+               compatible = "simple-bus";
+
+               sdcc4_pwrseq: sdcc4_pwrseq {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&wlan_default_gpios>;
+                       compatible = "mmc-pwrseq-simple";
+                       reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&notify_led>;
+
+               led@1 {
+                       label = "apq8064:green:user1";
+                       gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+               };
        };
 
        soc {
                                        bias-pull-down;
                                };
 
+                               pm8921_l5: l5 {
+                                       regulator-min-microvolt = <2750000>;
+                                       regulator-max-microvolt = <3000000>;
+                                       bias-pull-down;
+                               };
+
                                pm8921_l6: l6 {
                                        regulator-min-microvolt = <2950000>;
                                        regulator-max-microvolt = <2950000>;
                                        regulator-max-microvolt = <1900000>;
                                        bias-pull-down;
                                };
+
+                               pm8921_lvs1: lvs1 {
+                                       bias-pull-down;
+                               };
                        };
                };
 
+               ext_3p3v: regulator-fixed@1 {
+                       compatible = "regulator-fixed";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-name = "ext_3p3v";
+                       regulator-type = "voltage";
+                       startup-delay-us = <0>;
+                       gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       regulator-boot-on;
+               };
+
                gsbi3: gsbi@16200000 {
                        status = "okay";
                        qcom,mode = <GSBI_PROT_I2C>;
                        i2c3: i2c@16280000 {
                                status = "okay";
-                               pinctrl-0 = <&i2c3_pins>;
-                               pinctrl-names = "default";
                        };
                };
 
                        i2c@12460000 {
                                status = "okay";
                                clock-frequency = <200000>;
-                               pinctrl-0 = <&i2c1_pins>;
-                               pinctrl-names = "default";
 
-                               eeprom: eeprom@52 {
+                               eeprom@52 {
                                        compatible = "atmel,24c128";
                                        reg = <0x52>;
                                        pagesize = <32>;
                        };
                };
 
+               gsbi@16500000 {
+                       status = "ok";
+                       qcom,mode = <GSBI_PROT_I2C_UART>;
+
+                       serial@16540000 {
+                               status = "ok";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&gsbi6_uart_4pins>;
+                       };
+               };
+
                gsbi@16600000 {
                        status = "ok";
                        qcom,mode = <GSBI_PROT_I2C_UART>;
                        serial@16640000 {
                                status = "ok";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&gsbi7_uart_2pins>;
                        };
                };
 
                        status = "okay";
                };
 
+               qcom,ssbi@500000 {
+                       pmic@0 {
+                               gpio@150 {
+                                       wlan_default_gpios: wlan-gpios {
+                                               pios {
+                                                       pins = "gpio43";
+                                                       function = "normal";
+                                                       bias-disable;
+                                                       power-source = <PM8921_GPIO_S4>;
+                                               };
+                                       };
+
+                                       notify_led: nled {
+                                               pios {
+                                                       pins = "gpio18";
+                                                       function = "normal";
+                                                       bias-disable;
+                                                       power-source = <PM8921_GPIO_S4>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+
                amba {
                        /* eMMC */
                        sdcc1: sdcc@12400000 {
                                status = "okay";
+                               vmmc-supply = <&pm8921_l5>;
+                               vqmmc-supply = <&pm8921_s4>;
                        };
 
                        /* External micro SD card */
                        sdcc3: sdcc@12180000 {
                                status = "okay";
+                               vmmc-supply = <&pm8921_l6>;
                                pinctrl-names   = "default";
                                pinctrl-0       = <&card_detect>;
                                cd-gpios        = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
                        /* WLAN */
                        sdcc4: sdcc@121c0000 {
                                status = "okay";
+                               vmmc-supply = <&ext_3p3v>;
+                               vqmmc-supply = <&pm8921_lvs1>;
+                               mmc-pwrseq = <&sdcc4_pwrseq>;
                        };
                };
        };