arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports

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>
This commit is contained in:
Krishna Kurapati 2025-12-19 21:44:07 +05:30 committed by Bjorn Andersson
parent 86057e0196
commit 44d1c77a8a

View 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";
@ -48,6 +49,32 @@ chosen {
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",
@ -344,6 +371,26 @@ vreg_rtmr2_3p3: regulator-rtmr2-3p3 {
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";
@ -877,6 +924,22 @@ usb0_1p8_reg_en: usb0-1p8-reg-en-state {
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 {