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 <mka@xxxxxxxxxxxx> --- .../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