From: Rosen Penev Date: Tue, 3 Dec 2024 21:40:28 +0000 (-0800) Subject: qualcommax: use PHY regulator for USB GPIO X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1306237fab40781f01a5635f1688d28fc68b77f4;p=openwrt%2Fopenwrt.git qualcommax: use PHY regulator for USB GPIO The PHY can handle turning off the GPIOs when turning off all USB ports. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/17192 Signed-off-by: Robert Marko --- diff --git a/target/linux/qualcommax/config-6.6 b/target/linux/qualcommax/config-6.6 index 05e2f51bf2..3519557bcc 100644 --- a/target/linux/qualcommax/config-6.6 +++ b/target/linux/qualcommax/config-6.6 @@ -444,7 +444,6 @@ CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y # CONFIG_REGULATOR_CPR3 is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_USERSPACE_CONSUMER=y # CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-mr7350.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-mr7350.dts index 5761c3b582..8714b34499 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-mr7350.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6000-mr7350.dts @@ -123,11 +123,6 @@ gpio = <&tlmm 61 GPIO_ACTIVE_LOW>; regulator-boot-on; }; - - output-usb0-power { - compatible = "regulator-output"; - vout-supply = <®_usb_vbus>; - }; }; &tlmm { @@ -246,6 +241,8 @@ &qusb_phy_0 { status = "okay"; + + vdd-supply = <®_usb_vbus>; }; &ssphy_0 { diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-aw1000.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-aw1000.dts index c85e9f1993..1b5f58e51b 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-aw1000.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8072-aw1000.dts @@ -57,12 +57,6 @@ gpio-export,output = <1>; gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; }; - - usb-vbus { - gpio-export,name = "usb_vbus"; - gpio-export,output = <0>; - gpios = <&tlmm 9 GPIO_ACTIVE_LOW>; - }; }; keys { @@ -160,6 +154,15 @@ gpios = <&led_gpio 11 GPIO_ACTIVE_HIGH>; }; }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&tlmm 9 GPIO_ACTIVE_LOW>; + regulator-boot-on; + }; }; &tlmm { @@ -221,6 +224,8 @@ &qusb_phy_1 { status = "okay"; + + vdd-supply = <&usb_vbus>; }; &ssphy_0 { diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rt-ax89x.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rt-ax89x.dts index 4af942c289..781b647811 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rt-ax89x.dts +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq8074-rt-ax89x.dts @@ -160,16 +160,6 @@ enable-active-high; regulator-boot-on; }; - - output-usb0-power { - compatible = "regulator-output"; - vout-supply = <&usb0_vbus>; - }; - - output-usb1-power { - compatible = "regulator-output"; - vout-supply = <&usb1_vbus>; - }; }; &cpu0_thermal { @@ -374,6 +364,8 @@ &qusb_phy_0 { status = "okay"; + + vdda-phy-supply = <&usb0_vbus>; }; &ssphy_1 { @@ -382,6 +374,8 @@ &qusb_phy_1 { status = "okay"; + + vdda-phy-supply = <&usb1_vbus>; }; &usb_0 {