]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
authorKrishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Fri, 19 Dec 2025 16:14:07 +0000 (21:44 +0530)
committerBjorn Andersson <andersson@kernel.org>
Sat, 3 Jan 2026 17:23:01 +0000 (11:23 -0600)
The Multiport controller on Hamoa EVK platform is connected to Two Type-A
ports. VBUS for each of these ports are provided by a TPS2559QWDRCTQ1
regulator, controlled from PMIC GPIOs.

Add the necessary regulators and GPIO configuration to power these.

Implement connector nodes to embed the vbus supply within them. Since
there is no entity currently that can read vbus supply from a Type-A
connector and control it, mark the supplies as always on.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251219161407.2075701-1-krishna.kurapati@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts

index 36dd6599402b4650b7f8ad2c0cd22212116a25fe..88e3e7bed998fd76375d05cf7848d2eda8b63ea4 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "hamoa-iot-som.dtsi"
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
 / {
        model = "Qualcomm Technologies, Inc. Hamoa IoT EVK";
                stdout-path = "serial0:115200n8";
        };
 
+       connector3 {
+               compatible = "usb-a-connector";
+               label = "USB-3-Type-A";
+               power-role = "source";
+
+               vbus-supply = <&regulator_usb3_vbus>;
+
+               port {
+                       connector_3_in: endpoint {
+                       };
+               };
+       };
+
+       connector6 {
+               compatible = "usb-a-connector";
+               label = "USB-6-Type-A";
+               power-role = "source";
+
+               vbus-supply = <&regulator_usb6_vbus>;
+
+               port {
+                       connector_4_in: endpoint {
+                       };
+               };
+       };
+
        pmic-glink {
                compatible = "qcom,x1e80100-pmic-glink",
                             "qcom,sm8550-pmic-glink",
                regulator-boot-on;
        };
 
+       regulator_usb3_vbus: regulator-usb3-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "USB3_VBUS";
+               gpio = <&pm8550ve_9_gpios 4 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&usb3_en>;
+               pinctrl-names = "default";
+               enable-active-high;
+               regulator-always-on;
+       };
+
+       regulator_usb6_vbus: regulator-usb6-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "USB6_VBUS";
+               gpio = <&pm8550ve_9_gpios 5 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&usb6_en>;
+               pinctrl-names = "default";
+               enable-active-high;
+               regulator-always-on;
+       };
+
        vph_pwr: regulator-vph-pwr {
                compatible = "regulator-fixed";
 
                input-disable;
                output-enable;
        };
+
+       usb3_en: usb3-en-state {
+               pins = "gpio4";
+               function = "normal";
+               qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
+               output-enable;
+               power-source = <0>;
+       };
+
+       usb6_en: usb6-en-state {
+               pins = "gpio5";
+               function = "normal";
+               qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
+               output-enable;
+               power-source = <0>;
+       };
 };
 
 &pmc8380_5_gpios {