Merge tag 'qcom-dts-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross...
authorOlof Johansson <olof@lixom.net>
Mon, 19 Jun 2017 05:37:31 +0000 (22:37 -0700)
committerOlof Johansson <olof@lixom.net>
Mon, 19 Jun 2017 05:37:31 +0000 (22:37 -0700)
Qualcomm Device Tree Changes for v4.13

* Fix IPQ4019 i2c0 node
* Add GSBI7 on IPQ8064
* Add misc APQ8060 devices
* Fixup USB related devices on APQ8064 and MSM8974

* tag 'qcom-dts-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: dts: add core I2C devices to the APQ8060 Dragonboard
  ARM: dts: add GSBI8 defines to the MSM8660 family
  ARM: dts: Qualcomm APQ8060 DragonBoard ALS sensor
  ARM: dts: add XOADC and IIO HWMON to MSM8660/APQ8060
  ARM: dts: qcom: ipq4019: fix i2c_0 node
  ARM: dts: qcom: add gsbi7 serial to ipq8064 SoC device tree
  ARM: dts: qcom-apq8064: Collapse usb support into one node
  ARM: dts: qcom-msm8974: Add HS usb node and OTG detection mechanisms
  ARM: dts: qcom: add charger otg regulator
  ARM: dts: qcom: Remove s4/5vs1,2 from RPM pm8941 control

Signed-off-by: Olof Johansson <olof@lixom.net>
14 files changed:
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
arch/arm/boot/dts/qcom-apq8064-arrow-sd-600eval.dts
arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts
arch/arm/boot/dts/qcom-apq8064-cm-qs600.dts
arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dts
arch/arm/boot/dts/qcom-apq8064.dtsi
arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
arch/arm/boot/dts/qcom-ipq4019.dtsi
arch/arm/boot/dts/qcom-ipq8064.dtsi
arch/arm/boot/dts/qcom-msm8660.dtsi
arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts
arch/arm/boot/dts/qcom-msm8974.dtsi
arch/arm/boot/dts/qcom-pm8941.dtsi

index 2da1413f5720bd264e93c5280333de935779b26f..9d725f983282511f7dae7961b6d5748a48761f97 100644 (file)
@@ -23,6 +23,7 @@
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
 #include "qcom-msm8660.dtsi"
 
 / {
                };
        };
 
+       /*
+        * Capella CM3605 light and proximity sensor mounted directly
+        * on the sensor board.
+        */
+       cm3605 {
+               compatible = "capella,cm3605";
+               vdd-supply = <&pm8058_l14>; // 2.85V
+               aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>;
+               capella,aset-resistance-ohms = <100000>;
+               /* GPIO34 has interrupt 225 on the PM8058 */
+               /* Trig on both edges - getting close or far away */
+               interrupts-extended = <&pm8058 225 IRQ_TYPE_EDGE_BOTH>;
+               /* MPP05 analog input to the XOADC */
+               io-channels = <&xoadc 0x00 0x05>;
+               io-channel-names = "aout";
+               pinctrl-names = "default";
+               pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
+       };
+
        soc {
                pinctrl@800000 {
                        /* eMMMC pins, all 8 data lines connected */
                                };
                        };
 
+                       dragon_gsbi8_i2c_pins: gsbi8_i2c {
+                               mux {
+                                       pins = "gpio64", "gpio65";
+                                       function = "gsbi8";
+                               };
+                               pinconf {
+                                       pins = "gpio64", "gpio65";
+                                       drive-strength = <16>;
+                                       /* These have external pull-up 2.2kOhm to 1.8V */
+                                       bias-disable;
+                               };
+                       };
+
                        dragon_gsbi12_i2c_pins: gsbi12_i2c {
                                mux {
                                        pins = "gpio115", "gpio116";
                                                        power-source = <PM8058_GPIO_S3>;
                                                };
                                        };
+                                       dragon_cm3605_gpios: cm3605-gpios {
+                                               /* Pin 34 connected to the proxy IRQ */
+                                               pinconf_gpio34 {
+                                                       pins = "gpio34";
+                                                       function = "normal";
+                                                       input-enable;
+                                                       bias-disable;
+                                                       power-source = <PM8058_GPIO_S3>;
+                                               };
+                                               /* Pin 35 connected to ASET */
+                                               pinconf_gpio35 {
+                                                       pins = "gpio35";
+                                                       function = "normal";
+                                                       output-high;
+                                                       bias-disable;
+                                                       power-source = <PM8058_GPIO_S3>;
+                                               };
+                                       };
                                        dragon_veth_gpios: veth-gpios {
                                                pinconf {
                                                        pins = "gpio40";
                                        };
                                };
 
+                               mpps@50 {
+                                       dragon_cm3605_mpps: cm3605-mpps {
+                                               pinconf {
+                                                       pins = "mpp5";
+                                                       function = "analog";
+                                                       input-enable;
+                                                       bias-high-impedance;
+                                                       /* Let's use channel 5 */
+                                                       qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
+                                                       power-source = <PM8058_GPIO_S3>;
+                                               };
+                                       };
+                               };
+
+                               xoadc@197 {
+                                       /* Reference voltage 2.2 V */
+                                       xoadc-ref-supply = <&pm8058_l18>;
+
+                                       /* Board-specific channels */
+                                       mpp5@05 {
+                                               /* Connected to AOUT of ALS sensor */
+                                               reg = <0x00 0x05>;
+                                       };
+                                       mpp6@06 {
+                                               /* Connected to test point TP43 */
+                                               reg = <0x00 0x06>;
+                                       };
+                                       mpp7@07 {
+                                               /* Connected to battery thermistor */
+                                               reg = <0x00 0x07>;
+                                       };
+                                       mpp8@08 {
+                                               /* Connected to battery ID detector */
+                                               reg = <0x00 0x08>;
+                                       };
+                                       mpp9@09 {
+                                               /* Connected to XO thermistor */
+                                               reg = <0x00 0x09>;
+                                       };
+                               };
+
                                led@48 {
                                        /*
                                         * The keypad LED @0x48 is routed to
                                        reg = <0x48>;
                                        label = "pm8058:infrared:proximitysensor";
                                        default-state = "off";
+                                       linux,default-trigger = "cm3605";
                                };
                                led@131 {
                                        compatible = "qcom,pm8058-led";
                        };
                };
 
+               gsbi@19800000 {
+                       status = "ok";
+                       qcom,mode = <GSBI_PROT_I2C>;
+
+                       i2c@19880000 {
+                               status = "ok";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&dragon_gsbi8_i2c_pins>;
+
+                               eeprom@52 {
+                                       /* A 16KiB Platform ID EEPROM on the CPU carrier board */
+                                       compatible = "atmel,24c128";
+                                       reg = <0x52>;
+                                       vcc-supply = <&pm8058_s3>;
+                                       pagesize = <64>;
+                               };
+                               wm8903: wm8903@1a {
+                                       /* This Woolfson Micro device has an unrouted interrupt line */
+                                       compatible = "wlf,wm8903";
+                                       reg = <0x1a>;
+
+                                       AVDD-supply = <&pm8058_l16>;
+                                       CPVDD-supply = <&pm8058_l16>;
+                                       DBVDD-supply = <&pm8058_s3>;
+                                       DCVDD-supply = <&pm8058_l0>;
+
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+
+                                       micdet-cfg = <0>;
+                                       micdet-delay = <100>;
+                                       gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
+                               };
+                       };
+               };
+
                gsbi@19c00000 {
                        status = "ok";
                        qcom,mode = <GSBI_PROT_I2C_UART>;
index 8f5de029bca9eae93ae957ce525ba1550f2a7d0c..f245064f320ef1fac22542acc22d6b763ca4cebd 100644 (file)
                        target-supply   = <&pm8921_lvs7>;
                };
 
-               /* OTG */
-               phy@12500000 {
-                       status          = "okay";
-                       dr_mode         = "peripheral";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l4>;
-               };
-
-               phy@12520000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l23>;
-               };
-
-               phy@12530000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l23>;
-               };
-
-               gadget@12500000 {
-                       status = "okay";
-               };
-
                /* OTG */
                usb@12500000 {
                        status = "okay";
+                       dr_mode = "peripheral";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l4>;
+                               };
+                       };
                };
 
                usb@12520000 {
                        status = "okay";
+                       dr_mode = "otg";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l23>;
+                               };
+                       };
                };
 
                usb@12530000 {
                        status = "okay";
+                       dr_mode = "otg";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l23>;
+                               };
+                       };
                };
 
                amba {
index e39440a867399f7a4876c92adfd9302531baeb8e..3483a66e44c156d17b68b4129181f10482a07942 100644 (file)
                        };
                };
 
-               /* OTG */
-               phy@12500000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l4>;
-                       dr_mode         = "otg";
-               };
-
-               gadget@12500000 {
-                       status = "okay";
-               };
-
                /* OTG */
                usb@12500000 {
                        status = "okay";
+                       dr_mode = "otg";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l4>;
+                               };
+                       };
                };
 
                amba {
index 35f1d46edded1a7e7aea86f09fb03674a0e464e7..5b151e425530e83bef4fd8263df389bf862e9c6b 100644 (file)
                };
 
                /* OTG */
-               usb1_phy: phy@12500000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l4>;
-               };
-
-               usb3_phy: phy@12520000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l23>;
-               };
-
-               usb4_phy: phy@12530000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l23>;
-               };
-
-               gadget1: gadget@12500000 {
-                       status = "ok";
-               };
-
-               /* OTG */
-               usb1: usb@12500000 {
+               usb@12500000 {
                        status = "ok";
+                       dr_mode = "otg";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l4>;
+                               };
+                       };
                };
 
-               usb3: usb@12520000 {
+               usb@12520000 {
                        status = "okay";
+                       dr_mode = "host";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l23>;
+                               };
+                       };
                };
 
-               usb4: usb@12530000 {
+               usb@12530000 {
                        status = "okay";
+                       dr_mode = "host";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l23>;
+                               };
+                       };
                };
 
                /* on board fixed 3.3v supply */
index 881ce707311a05e35160456e76bf564863ea0895..053b5bdd7808c9b32765c5f1430f03940f5420ec 100644 (file)
                };
 
                /* OTG */
-               usb1_phy: phy@12500000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l4>;
-               };
-
-               usb3_phy: phy@12520000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l23>;
-               };
-
-               usb4_phy: phy@12530000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l23>;
-               };
-
-               gadget1: gadget@12500000 {
-                       status = "okay";
-               };
-
-               /* OTG */
-               usb1: usb@12500000 {
+               usb@12500000 {
                        status = "okay";
+                       dr_mode = "otg";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l4>;
+                               };
+                       };
                };
 
-               usb3: usb@12520000 {
+               usb@12520000 {
                        status = "okay";
+                       dr_mode = "host";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l23>;
+                               };
+                       };
                };
 
-               usb4: usb@12530000 {
+               usb@12530000 {
                        status = "okay";
+                       dr_mode = "host";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l23>;
+                               };
+                       };
                };
 
                pci@1b500000 {
index a34ba355545495dfa6547bfd395f20a008afba2c..88a9aff41e2f59bb22e3f6546f2ccf7d65543a4c 100644 (file)
                        };
                };
 
-               phy@12500000 {
-                       status          = "okay";
-                       vddcx-supply    = <&pm8921_s3>;
-                       v3p3-supply     = <&pm8921_l3>;
-                       v1p8-supply     = <&pm8921_l4>;
-               };
-
-               gadget@12500000 {
+               usb@12500000 {
                        status = "okay";
+                       dr_mode = "otg";
+                       ulpi {
+                               phy {
+                                       v3p3-supply = <&pm8921_l3>;
+                                       v1p8-supply = <&pm8921_l4>;
+                               };
+                       };
                };
 
                gsbi@1a200000 {
index 14a6f5ed02de66f7592329643d43b69d645a15db..f3db185a68090c50fc20f934e84913a2b8c22ce4 100644 (file)
                        clock-frequency = <27000000>;
                };
 
-               sleep_clk {
+               sleep_clk: sleep_clk {
                        compatible = "fixed-clock";
                        #clock-cells = <0>;
                        clock-frequency = <32768>;
                        };
                };
 
-               usb1_phy: phy@12500000 {
-                       compatible      = "qcom,usb-otg-ci";
-                       reg             = <0x12500000 0x400>;
-                       interrupts      = <GIC_SPI 100 IRQ_TYPE_NONE>;
-                       status          = "disabled";
-
-                       clocks          = <&gcc USB_HS1_XCVR_CLK>,
-                                         <&gcc USB_HS1_H_CLK>;
-                       clock-names     = "core", "iface";
-
-                       resets          = <&gcc USB_HS1_RESET>;
-                       reset-names     = "link";
-               };
-
-               usb3_phy: phy@12520000 {
-                       compatible      = "qcom,usb-otg-ci";
-                       reg             = <0x12520000 0x400>;
-                       interrupts      = <GIC_SPI 188 IRQ_TYPE_NONE>;
-                       status          = "disabled";
-                       dr_mode         = "host";
-
-                       clocks          = <&gcc USB_HS3_XCVR_CLK>,
-                                         <&gcc USB_HS3_H_CLK>;
-                       clock-names     = "core", "iface";
-
-                       resets          = <&gcc USB_HS3_RESET>;
-                       reset-names     = "link";
-               };
-
-               usb4_phy: phy@12530000 {
-                       compatible      = "qcom,usb-otg-ci";
-                       reg             = <0x12530000 0x400>;
-                       interrupts      = <GIC_SPI 215 IRQ_TYPE_NONE>;
-                       status          = "disabled";
-                       dr_mode         = "host";
-
-                       clocks          = <&gcc USB_HS4_XCVR_CLK>,
-                                         <&gcc USB_HS4_H_CLK>;
-                       clock-names     = "core", "iface";
-
-                       resets          = <&gcc USB_HS4_RESET>;
-                       reset-names     = "link";
-               };
-
-               gadget1: gadget@12500000 {
-                       compatible      = "qcom,ci-hdrc";
-                       reg             = <0x12500000 0x400>;
-                       status          = "disabled";
-                       dr_mode         = "peripheral";
-                       interrupts      = <GIC_SPI 100 IRQ_TYPE_NONE>;
-                       usb-phy         = <&usb1_phy>;
-               };
-
                usb1: usb@12500000 {
-                       compatible      = "qcom,ehci-host";
-                       reg             = <0x12500000 0x400>;
-                       interrupts      = <GIC_SPI 100 IRQ_TYPE_NONE>;
-                       status          = "disabled";
-                       usb-phy         = <&usb1_phy>;
+                       compatible = "qcom,ci-hdrc";
+                       reg = <0x12500000 0x200>,
+                             <0x12500200 0x200>;
+                       interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
+                       clock-names = "core", "iface";
+                       assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
+                       assigned-clock-rates = <60000000>;
+                       resets = <&gcc USB_HS1_RESET>;
+                       reset-names = "core";
+                       phy_type = "ulpi";
+                       ahb-burst-config = <0>;
+                       phys = <&usb_hs1_phy>;
+                       phy-names = "usb-phy";
+                       status = "disabled";
+                       #reset-cells = <1>;
+
+                       ulpi {
+                               usb_hs1_phy: phy {
+                                       compatible = "qcom,usb-hs-phy-apq8064",
+                                                    "qcom,usb-hs-phy";
+                                       #phy-cells = <0>;
+                                       clocks = <&sleep_clk>, <&cxo_board>;
+                                       clock-names = "sleep", "ref";
+                                       resets = <&usb1 0>;
+                                       reset-names = "por";
+                               };
+                       };
                };
 
                usb3: usb@12520000 {
-                       compatible      = "qcom,ehci-host";
-                       reg             = <0x12520000 0x400>;
-                       interrupts      = <GIC_SPI 188 IRQ_TYPE_NONE>;
-                       status          = "disabled";
-                       usb-phy         = <&usb3_phy>;
+                       compatible = "qcom,ci-hdrc";
+                       reg = <0x12520000 0x200>,
+                             <0x12520200 0x200>;
+                       interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc USB_HS3_XCVR_CLK>, <&gcc USB_HS3_H_CLK>;
+                       clock-names = "core", "iface";
+                       assigned-clocks = <&gcc USB_HS3_XCVR_CLK>;
+                       assigned-clock-rates = <60000000>;
+                       resets = <&gcc USB_HS3_RESET>;
+                       reset-names = "core";
+                       phy_type = "ulpi";
+                       ahb-burst-config = <0>;
+                       phys = <&usb_hs3_phy>;
+                       phy-names = "usb-phy";
+                       status = "disabled";
+                       #reset-cells = <1>;
+
+                       ulpi {
+                               usb_hs3_phy: phy {
+                                       compatible = "qcom,usb-hs-phy-apq8064",
+                                                    "qcom,usb-hs-phy";
+                                       #phy-cells = <0>;
+                                       clocks = <&sleep_clk>, <&cxo_board>;
+                                       clock-names = "sleep", "ref";
+                                       resets = <&usb3 0>;
+                                       reset-names = "por";
+                               };
+                       };
                };
 
                usb4: usb@12530000 {
-                       compatible      = "qcom,ehci-host";
-                       reg             = <0x12530000 0x400>;
-                       interrupts      = <GIC_SPI 215 IRQ_TYPE_NONE>;
-                       status          = "disabled";
-                       usb-phy         = <&usb4_phy>;
+                       compatible = "qcom,ci-hdrc";
+                       reg = <0x12530000 0x200>,
+                             <0x12530200 0x200>;
+                       interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc USB_HS4_XCVR_CLK>, <&gcc USB_HS4_H_CLK>;
+                       clock-names = "core", "iface";
+                       assigned-clocks = <&gcc USB_HS4_XCVR_CLK>;
+                       assigned-clock-rates = <60000000>;
+                       resets = <&gcc USB_HS4_RESET>;
+                       reset-names = "core";
+                       phy_type = "ulpi";
+                       ahb-burst-config = <0>;
+                       phys = <&usb_hs4_phy>;
+                       phy-names = "usb-phy";
+                       status = "disabled";
+                       #reset-cells = <1>;
+
+                       ulpi {
+                               usb_hs4_phy: phy {
+                                       compatible = "qcom,usb-hs-phy-apq8064",
+                                                    "qcom,usb-hs-phy";
+                                       #phy-cells = <0>;
+                                       clocks = <&sleep_clk>, <&cxo_board>;
+                                       clock-names = "sleep", "ref";
+                                       resets = <&usb4 0>;
+                                       reset-names = "por";
+                               };
+                       };
                };
 
                sata_phy0: phy@1b400000 {
index ad51df27dfb77c32a601c3432ed7ead7892b921e..32f3b81f609ced1ba840226c9a9c4c6cb567e8eb 100644 (file)
                        vqmmc-supply = <&pm8941_l13>;
                };
 
+               usb@f9a55000 {
+                       status = "ok";
+                       phys = <&usb_hs2_phy>;
+                       phy-select = <&tcsr 0xb000 1>;
+                       extcon = <&smbb>, <&usb_id>;
+                       vbus-supply = <&chg_otg>;
+                       hnp-disable;
+                       srp-disable;
+                       adp-disable;
+                       ulpi {
+                               phy@b {
+                                       status = "ok";
+                                       v3p3-supply = <&pm8941_l24>;
+                                       v1p8-supply = <&pm8941_l6>;
+                                       extcon = <&smbb>;
+                                       qcom,init-seq = /bits/ 8 <0x1 0x63>;
+                               };
+                       };
+               };
+
 
                pinctrl@fd510000 {
                        i2c11_pins: i2c11 {
index b7a24af8f47b388e3bb9b35968495ae941399e16..4b7d97275c621af5a219856d38f489a3e704b2e7 100644 (file)
 
                i2c_0: i2c@78b7000 {
                        compatible = "qcom,i2c-qup-v2.2.1";
-                       reg = <0x78b7000 0x6000>;
+                       reg = <0x78b7000 0x600>;
                        interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP1_AHB_CLK>,
-                                <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
+                                <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
                        clock-names = "iface", "core";
                        #address-cells = <1>;
                        #size-cells = <0>;
index 76f4e8921d58f8a1a1c6bf2ab42edc9c839a8324..f1fbffe59b931f75d502979412ecb170fbed685e 100644 (file)
                        };
                };
 
+               gsbi7: gsbi@16600000 {
+                       status = "disabled";
+                       compatible = "qcom,gsbi-v1.0.0";
+                       cell-index = <7>;
+                       reg = <0x16600000 0x100>;
+                       clocks = <&gcc GSBI7_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       syscon-tcsr = <&tcsr>;
+
+                       gsbi7_serial: serial@16640000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x16640000 0x1000>,
+                                     <0x16600000 0x1000>;
+                               interrupts = <0 158 0x0>;
+                               clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+               };
+
                sata_phy: sata-phy@1b400000 {
                        compatible = "qcom,ipq806x-sata-phy";
                        reg = <0x1b400000 0x200>;
index 747669a62aa82ff9520b9f3d0bb1f9210b7714c5..1b5d31b33b5e0f56b27ab2cbb9f2fa3702cd5b61 100644 (file)
                };
        };
 
+       /*
+        * These channels from the ADC are simply hardware monitors.
+        * That is why the ADC is referred to as "HKADC" - HouseKeeping
+        * ADC.
+        */
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&xoadc 0x00 0x01>, /* Battery */
+                           <&xoadc 0x00 0x02>, /* DC in (charger) */
+                           <&xoadc 0x00 0x04>, /* VPH the main system voltage */
+                           <&xoadc 0x00 0x0b>, /* Die temperature */
+                           <&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
+                           <&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
+                           <&xoadc 0x00 0x0e>; /* Reference voltage 0.325V */
+       };
+
        soc: soc {
                #address-cells = <1>;
                #size-cells = <1>;
                        reg = <0x900000 0x4000>;
                };
 
+
+               gsbi8: gsbi@19800000 {
+                       compatible = "qcom,gsbi-v1.0.0";
+                       cell-index = <12>;
+                       reg = <0x19800000 0x100>;
+                       clocks = <&gcc GSBI8_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       syscon-tcsr = <&tcsr>;
+
+                       gsbi8_i2c: i2c@19880000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               reg = <0x19880000 0x1000>;
+                               interrupts = <GIC_SPI 161 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI8_QUP_CLK>, <&gcc GSBI8_H_CLK>;
+                               clock-names = "core", "iface";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
+               };
+
                gsbi12: gsbi@19c00000 {
                        compatible = "qcom,gsbi-v1.0.0";
                        cell-index = <12>;
                                        row-hold = <91500>;
                                };
 
+                               xoadc: xoadc@197 {
+                                       compatible = "qcom,pm8058-adc";
+                                       reg = <0x197>;
+                                       interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>;
+                                       #address-cells = <2>;
+                                       #size-cells = <0>;
+                                       #io-channel-cells = <2>;
+
+                                       vcoin: adc-channel@00 {
+                                               reg = <0x00 0x00>;
+                                       };
+                                       vbat: adc-channel@01 {
+                                               reg = <0x00 0x01>;
+                                       };
+                                       dcin: adc-channel@02 {
+                                               reg = <0x00 0x02>;
+                                       };
+                                       ichg: adc-channel@03 {
+                                               reg = <0x00 0x03>;
+                                       };
+                                       vph_pwr: adc-channel@04 {
+                                               reg = <0x00 0x04>;
+                                       };
+                                       usb_vbus: adc-channel@0a {
+                                               reg = <0x00 0x0a>;
+                                       };
+                                       die_temp: adc-channel@0b {
+                                               reg = <0x00 0x0b>;
+                                       };
+                                       ref_625mv: adc-channel@0c {
+                                               reg = <0x00 0x0c>;
+                                       };
+                                       ref_1250mv: adc-channel@0d {
+                                               reg = <0x00 0x0d>;
+                                       };
+                                       ref_325mv: adc-channel@0e {
+                                               reg = <0x00 0x0e>;
+                                       };
+                                       ref_muxoff: adc-channel@0f {
+                                               reg = <0x00 0x0f>;
+                                       };
+                               };
+
                                rtc@1e8 {
                                        compatible = "qcom,pm8058-rtc";
                                        reg = <0x1e8>;
index e7c1577d56f4812663afc7bbb4ad262743139bf5..50966378f9e4daa7f0dbd0a1a4821d89a7f726a7 100644 (file)
@@ -92,7 +92,6 @@
                                        vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
                                        vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
                                        vdd_l21-supply = <&vreg_boost>;
-                                       vin_5vs-supply = <&pm8941_5v>;
 
                                        s1 {
                                                regulator-min-microvolt = <1300000>;
index 307bf6a647b30a423c7c746e493584ea27bbdbb6..c5ee68a3f7f5c28f4fe02f842f4a89a9134252e6 100644 (file)
@@ -3,6 +3,7 @@
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
 #include <dt-bindings/clock/qcom,rpmcc.h>
+#include <dt-bindings/reset/qcom,gcc-msm8974.h>
 #include <dt-bindings/gpio/gpio.h>
 #include "skeleton.dtsi"
 
                        reg = <0xfc400000 0x4000>;
                };
 
+               tcsr: syscon@fd4a0000 {
+                       compatible = "syscon";
+                       reg = <0xfd4a0000 0x10000>;
+               };
+
                tcsr_mutex_block: syscon@fd484000 {
                        compatible = "syscon";
                        reg = <0xfd484000 0x2000>;
                        status = "disabled";
                };
 
+               otg: usb@f9a55000 {
+                       compatible = "qcom,ci-hdrc";
+                       reg = <0xf9a55000 0x200>,
+                             <0xf9a55200 0x200>;
+                       interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc GCC_USB_HS_AHB_CLK>,
+                                <&gcc GCC_USB_HS_SYSTEM_CLK>;
+                       clock-names = "iface", "core";
+                       assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
+                       assigned-clock-rates = <75000000>;
+                       resets = <&gcc GCC_USB_HS_BCR>;
+                       reset-names = "core";
+                       phy_type = "ulpi";
+                       dr_mode = "otg";
+                       ahb-burst-config = <0>;
+                       phy-names = "usb-phy";
+                       status = "disabled";
+                       #reset-cells = <1>;
+
+                       ulpi {
+                               usb_hs1_phy: phy@a {
+                                       compatible = "qcom,usb-hs-phy-msm8974",
+                                                    "qcom,usb-hs-phy";
+                                       #phy-cells = <0>;
+                                       clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
+                                       clock-names = "ref", "sleep";
+                                       resets = <&gcc GCC_USB2A_PHY_BCR>, <&otg 0>;
+                                       reset-names = "phy", "por";
+                                       status = "disabled";
+                               };
+
+                               usb_hs2_phy: phy@b {
+                                       compatible = "qcom,usb-hs-phy-msm8974",
+                                                    "qcom,usb-hs-phy";
+                                       #phy-cells = <0>;
+                                       clocks = <&xo_board>, <&gcc GCC_USB2B_PHY_SLEEP_CLK>;
+                                       clock-names = "ref", "sleep";
+                                       resets = <&gcc GCC_USB2B_PHY_BCR>, <&otg 1>;
+                                       reset-names = "phy", "por";
+                                       status = "disabled";
+                               };
+                       };
+               };
+
                rng@f9bff000 {
                        compatible = "qcom,prng";
                        reg = <0xf9bff000 0x200>;
                                        pm8941_s1: s1 {};
                                        pm8941_s2: s2 {};
                                        pm8941_s3: s3 {};
-                                       pm8941_5v: s4 {};
 
                                        pm8941_l1: l1 {};
                                        pm8941_l2: l2 {};
                                        pm8941_lvs1: lvs1 {};
                                        pm8941_lvs2: lvs2 {};
                                        pm8941_lvs3: lvs3 {};
-
-                                       pm8941_5vs1: 5vs1 {};
-                                       pm8941_5vs2: 5vs2 {};
                                };
                        };
                };
index f8eb5e31c920807d06309b57218e32d006761d10..3fc9f34f45bbe58add404edd53723c84890f7c42 100644 (file)
                        bias-pull-up;
                };
 
-               charger@1000 {
+               usb_id: misc@900 {
+                       compatible = "qcom,pm8941-misc";
+                       reg = <0x900>;
+                       interrupts = <0x0 0x9 0 IRQ_TYPE_EDGE_BOTH>;
+                       interrupt-names = "usb_id";
+               };
+
+               smbb: charger@1000 {
                        compatible = "qcom,pm8941-charger";
                        reg = <0x1000>;
                        interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
                                          "chg-gone",
                                          "usb-valid",
                                          "dc-valid";
+
+                       usb-otg-in-supply = <&pm8941_5vs1>;
+
+                       chg_otg: otg-vbus { };
                };
 
                pm8941_gpios: gpios@c000 {
 
                        status = "disabled";
                };
+
+               regulators {
+                       compatible = "qcom,pm8941-regulators";
+                       interrupts = <0x1 0x83 0x2 0>, <0x1 0x84 0x2 0>;
+                       interrupt-names = "ocp-5vs1", "ocp-5vs2";
+                       vin_5vs-supply = <&pm8941_5v>;
+
+                       pm8941_5v: s4 {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5000000>;
+                               regulator-enable-ramp-delay = <500>;
+                       };
+
+                       pm8941_5vs1: 5vs1 {
+                               regulator-enable-ramp-delay = <1000>;
+                               regulator-pull-down;
+                               regulator-over-current-protection;
+                               qcom,ocp-max-retries = <10>;
+                               qcom,ocp-retry-delay = <30>;
+                               qcom,vs-soft-start-strength = <0>;
+                               regulator-initial-mode = <1>;
+                       };
+               };
        };
 };