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

Krishna Kurapati posted 1 patch 1 week, 3 days ago
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 37 ++++++++++++++++++++++
1 file changed, 37 insertions(+)
[PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
Posted by Krishna Kurapati 1 week, 3 days ago
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.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
---
Changes in v2:
- Re-ordered nodes to be in sorted order.

Link to v1:
https://lore.kernel.org/all/20251208085152.2597818-1-krishna.kurapati@oss.qualcomm.com/

 arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index 36dd6599402b..e53de768b0ec 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -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";
@@ -344,6 +345,26 @@ vreg_rtmr2_3p3: regulator-rtmr2-3p3 {
 		regulator-boot-on;
 	};
 
+	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 {
+		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 +898,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 {
-- 
2.34.1
Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
Posted by Dmitry Baryshkov 1 week, 2 days ago
On Tue, Dec 09, 2025 at 09:47:01AM +0530, Krishna Kurapati wrote:
> 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.

Should this also include corresponding USB-A connector devices? See
qcs6490-radxa-dragon-q6a.dts for the example of how to describe them.

> 
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
> ---
> Changes in v2:
> - Re-ordered nodes to be in sorted order.
> 
> Link to v1:
> https://lore.kernel.org/all/20251208085152.2597818-1-krishna.kurapati@oss.qualcomm.com/
> 
>  arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 37 ++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
> 

-- 
With best wishes
Dmitry
Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
Posted by Krishna Kurapati 1 week, 2 days ago

On 12/9/2025 1:22 PM, Dmitry Baryshkov wrote:
> On Tue, Dec 09, 2025 at 09:47:01AM +0530, Krishna Kurapati wrote:
>> 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.
> 
> Should this also include corresponding USB-A connector devices? See
> qcs6490-radxa-dragon-q6a.dts for the example of how to describe them.
> 

Hi Dmitry,

  I see same discussion that came up when we were trying to upstream 
TypeA connectors of SA8295:
	
https://lore.kernel.org/all/CAA8EJppf+j6H8vPOrer1Oj6SuM=qHKXoBahtCaCr7an-cbpyOQ@mail.gmail.com/

There is no entity (either phy or dwc3) as of today that can read the 
vbus from connector-A node and use it. So keeping these regulators 
always on for now.

Regards,
Krishna,

>>
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
>> Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
>> ---
>> Changes in v2:
>> - Re-ordered nodes to be in sorted order.
>>
>> Link to v1:
>> https://lore.kernel.org/all/20251208085152.2597818-1-krishna.kurapati@oss.qualcomm.com/
>>
>>   arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 37 ++++++++++++++++++++++
>>   1 file changed, 37 insertions(+)
>>
>
Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
Posted by Dmitry Baryshkov 1 week, 2 days ago
On Tue, Dec 09, 2025 at 01:31:10PM +0530, Krishna Kurapati wrote:
> 
> 
> On 12/9/2025 1:22 PM, Dmitry Baryshkov wrote:
> > On Tue, Dec 09, 2025 at 09:47:01AM +0530, Krishna Kurapati wrote:
> > > 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.
> > 
> > Should this also include corresponding USB-A connector devices? See
> > qcs6490-radxa-dragon-q6a.dts for the example of how to describe them.
> > 
> 
> Hi Dmitry,
> 
>  I see same discussion that came up when we were trying to upstream TypeA
> connectors of SA8295:
> 	
> https://lore.kernel.org/all/CAA8EJppf+j6H8vPOrer1Oj6SuM=qHKXoBahtCaCr7an-cbpyOQ@mail.gmail.com/
> 
> There is no entity (either phy or dwc3) as of today that can read the vbus
> from connector-A node and use it. So keeping these regulators always on for
> now.

There are two distinct questions:
- one is how you describe the board and onboard devices / connectors
- another one is how to make sure VBus is enabled.

I'd suggest having full description (with connectors, graph links
between USB host and connector and vbus-supply properties) and then
having the comment before regulator-always-on describing why it's on.

> 
> Regards,
> Krishna,
> 
> > > 
> > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> > > Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
> > > ---
> > > Changes in v2:
> > > - Re-ordered nodes to be in sorted order.
> > > 
> > > Link to v1:
> > > https://lore.kernel.org/all/20251208085152.2597818-1-krishna.kurapati@oss.qualcomm.com/
> > > 
> > >   arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 37 ++++++++++++++++++++++
> > >   1 file changed, 37 insertions(+)
> > > 
> > 
> 

-- 
With best wishes
Dmitry
Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
Posted by Krishna Kurapati 1 week, 2 days ago

On 12/9/2025 8:49 PM, Dmitry Baryshkov wrote:
> On Tue, Dec 09, 2025 at 01:31:10PM +0530, Krishna Kurapati wrote:
>>
>>
>> On 12/9/2025 1:22 PM, Dmitry Baryshkov wrote:
>>> On Tue, Dec 09, 2025 at 09:47:01AM +0530, Krishna Kurapati wrote:
>>>> 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.
>>>
>>> Should this also include corresponding USB-A connector devices? See
>>> qcs6490-radxa-dragon-q6a.dts for the example of how to describe them.
>>>
>>
>> Hi Dmitry,
>>
>>   I see same discussion that came up when we were trying to upstream TypeA
>> connectors of SA8295:
>> 	
>> https://lore.kernel.org/all/CAA8EJppf+j6H8vPOrer1Oj6SuM=qHKXoBahtCaCr7an-cbpyOQ@mail.gmail.com/
>>
>> There is no entity (either phy or dwc3) as of today that can read the vbus
>> from connector-A node and use it. So keeping these regulators always on for
>> now.
> 
> There are two distinct questions:
> - one is how you describe the board and onboard devices / connectors
> - another one is how to make sure VBus is enabled.
> 
> I'd suggest having full description (with connectors, graph links
> between USB host and connector and vbus-supply properties) and then
> having the comment before regulator-always-on describing why it's on.
> 

Thanks for the review Dmitry. So, IIUC, the suggestion is to add the 
connector nodes for Type-A ports, add the vbus in the connector and mark 
the vbus regulator nodes as always ON.

W.r.t the graph nodes, we can't link the connector to any available node 
today. Can we leave the remote endpoints empty and unlinked to anything.

Regards,
Krishna,
Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Add vbus regulator support for Type-A ports
Posted by Dmitry Baryshkov 1 week, 2 days ago
On Tue, Dec 09, 2025 at 09:01:02PM +0530, Krishna Kurapati wrote:
> 
> 
> On 12/9/2025 8:49 PM, Dmitry Baryshkov wrote:
> > On Tue, Dec 09, 2025 at 01:31:10PM +0530, Krishna Kurapati wrote:
> > > 
> > > 
> > > On 12/9/2025 1:22 PM, Dmitry Baryshkov wrote:
> > > > On Tue, Dec 09, 2025 at 09:47:01AM +0530, Krishna Kurapati wrote:
> > > > > 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.
> > > > 
> > > > Should this also include corresponding USB-A connector devices? See
> > > > qcs6490-radxa-dragon-q6a.dts for the example of how to describe them.
> > > > 
> > > 
> > > Hi Dmitry,
> > > 
> > >   I see same discussion that came up when we were trying to upstream TypeA
> > > connectors of SA8295:
> > > 	
> > > https://lore.kernel.org/all/CAA8EJppf+j6H8vPOrer1Oj6SuM=qHKXoBahtCaCr7an-cbpyOQ@mail.gmail.com/
> > > 
> > > There is no entity (either phy or dwc3) as of today that can read the vbus
> > > from connector-A node and use it. So keeping these regulators always on for
> > > now.
> > 
> > There are two distinct questions:
> > - one is how you describe the board and onboard devices / connectors
> > - another one is how to make sure VBus is enabled.
> > 
> > I'd suggest having full description (with connectors, graph links
> > between USB host and connector and vbus-supply properties) and then
> > having the comment before regulator-always-on describing why it's on.
> > 
> 
> Thanks for the review Dmitry. So, IIUC, the suggestion is to add the
> connector nodes for Type-A ports, add the vbus in the connector and mark the
> vbus regulator nodes as always ON.
> 
> W.r.t the graph nodes, we can't link the connector to any available node
> today. Can we leave the remote endpoints empty and unlinked to anything.

Sure you can link them. Both DWC3 and PHY define corresponding HS and SS
streams. If not, you can fix them.

-- 
With best wishes
Dmitry