The trogdor design has two options for supplying the pp3300_hub power rail,
it can be supplied by pp3300_l7c or pp3300_a. Initially pp3300_l7c was
used, newer revisions (will) use pp3300_a as supply.

Add a DT node for the pp3300_a path which includes a power switch that is
controlled by a GPIO. Make this path the default and keep trogdor rev1,
lazor rev0 and rev1 on pp3300_l7c.

Signed-off-by: Matthias Kaehlcke <m...@chromium.org>
---

 .../boot/dts/qcom/sc7180-trogdor-lazor-r0.dts |  4 +++
 .../boot/dts/qcom/sc7180-trogdor-lazor-r1.dts |  4 +++
 .../arm64/boot/dts/qcom/sc7180-trogdor-r1.dts |  4 +++
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi  | 30 ++++++++++++++++++-
 4 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts 
b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
index ae4c23a4fe65..08bf30b761fc 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
@@ -22,3 +22,7 @@ &sn65dsi86_out {
         */
        lane-polarities = <1 0>;
 };
+
+&usb_hub {
+       vdd-supply = <&pp3300_hub_7c>;
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts 
b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
index 3151ae31c1cc..9f7a44d78a1a 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
@@ -13,3 +13,7 @@ / {
        model = "Google Lazor (rev1+)";
        compatible = "google,lazor", "qcom,sc7180";
 };
+
+&usb_hub {
+        vdd-supply = <&pp3300_hub_7c>;
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts 
b/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
index 0a281c24841c..e1840fe07cd0 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
@@ -62,6 +62,10 @@ &sdhc_2 {
        status = "okay";
 };
 
+&usb_hub {
+        vdd-supply = <&pp3300_hub_7c>;
+};
+
 /* PINCTRL - board-specific pinctrl */
 
 &tlmm {
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi 
b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index bf875589d364..2d64e75a2d6d 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -174,6 +174,21 @@ pp3300_fp_tp: pp3300-fp-tp-regulator {
                vin-supply = <&pp3300_a>;
        };
 
+       pp3300_hub: pp3300-hub {
+               compatible = "regulator-fixed";
+               regulator-name = "pp3300_hub";
+
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               pinctrl-names = "default";
+               pinctrl-0 = <&en_pp3300_hub>;
+
+               vin-supply = <&pp3300_a>;
+       };
+
        /* BOARD-SPECIFIC TOP LEVEL NODES */
 
        backlight: backlight {
@@ -469,7 +484,7 @@ ppvar_l6c: ldo6 {
                        regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
                };
 
-               pp3300_hub:
+               pp3300_hub_7c:
                pp3300_l7c: ldo7 {
                        regulator-min-microvolt = <3304000>;
                        regulator-max-microvolt = <3304000>;
@@ -1151,6 +1166,19 @@ pinconf {
                };
        };
 
+       en_pp3300_hub: en-pp3300-hub {
+               pinmux {
+                       pins = "gpio84";
+                       function = "gpio";
+               };
+
+               pinconf {
+                       pins = "gpio84";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
        en_pp3300_dx_edp: en-pp3300-dx-edp {
                pinmux {
                        pins = "gpio30";
-- 
2.29.1.341.ge80a0c044ae-goog

Reply via email to