public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
@ 2026-04-22  9:06 Prashanth K
  0 siblings, 0 replies; 8+ messages in thread
From: Prashanth K @ 2026-04-22  9:06 UTC (permalink / raw)
  To: Krishna Kurapati; +Cc: Prashanth K, stable

Currently while connecting super-speed devices to the usb_1_ss0
(USB0 port), it falls back to high-speed. Add the retimer for
USB0 port, enabling super-speed enumeration on that port.

Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
Cc: stable@vger.kernel.org
Signed-off-by: Prashanth K <prashanth.k@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 54 +++++++++++++++++++++-
 1 file changed, 52 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index 460f27dcd6f6..a9ad05bef5d6 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -118,7 +118,7 @@ port@1 {
 					reg = <1>;
 
 					pmic_glink_ss0_ss_in: endpoint {
-						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+						remote-endpoint = <&retimer_ss0_ss_out>;
 					};
 				};
 
@@ -785,6 +785,56 @@ retimer_ss2_con_sbu_out: endpoint {
 	};
 };
 
+&i2c3 {
+	clock-frequency = <400000>;
+
+	status = "okay";
+
+	typec-mux@8 {
+		compatible = "parade,ps8830";
+		reg = <0x08>;
+
+		clocks = <&rpmhcc RPMH_RF_CLK3>;
+
+		vdd-supply = <&vreg_rtmr0_1p15>;
+		vdd33-supply = <&vreg_rtmr0_3p3>;
+		vdd33-cap-supply = <&vreg_rtmr0_3p3>;
+		vddar-supply = <&vreg_rtmr0_1p15>;
+		vddat-supply = <&vreg_rtmr0_1p15>;
+		vddio-supply = <&vreg_rtmr0_1p8>;
+
+		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+		pinctrl-0 = <&rtmr0_default>;
+		pinctrl-names = "default";
+
+		retimer-switch;
+		orientation-switch;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				retimer_ss0_ss_out: endpoint {
+					remote-endpoint = <&pmic_glink_ss0_ss_in>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				retimer_ss0_ss_in: endpoint {
+					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+				};
+			};
+
+		};
+	};
+};
+
 &i2c5 {
 	clock-frequency = <400000>;
 
@@ -1541,7 +1591,7 @@ &usb_1_ss0_hsphy {
 };
 
 &usb_1_ss0_qmpphy_out {
-	remote-endpoint = <&pmic_glink_ss0_ss_in>;
+	remote-endpoint = <&retimer_ss0_ss_in>;
 };
 
 &usb_1_ss1_dwc3_hs {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
@ 2026-04-22  9:39 Prashanth K
  2026-04-22 10:26 ` Konrad Dybcio
  0 siblings, 1 reply; 8+ messages in thread
From: Prashanth K @ 2026-04-22  9:39 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati,
	Prashanth K, stable

Add the retimer for usb_1_ss0 port (USB0), in order to enable
super-speed enumeration on that port.

Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
Cc: stable@vger.kernel.org
Signed-off-by: Prashanth K <prashanth.k@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 54 +++++++++++++++++++++-
 1 file changed, 52 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index 460f27dcd6f6..a9ad05bef5d6 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -118,7 +118,7 @@ port@1 {
 					reg = <1>;
 
 					pmic_glink_ss0_ss_in: endpoint {
-						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+						remote-endpoint = <&retimer_ss0_ss_out>;
 					};
 				};
 
@@ -785,6 +785,56 @@ retimer_ss2_con_sbu_out: endpoint {
 	};
 };
 
+&i2c3 {
+	clock-frequency = <400000>;
+
+	status = "okay";
+
+	typec-mux@8 {
+		compatible = "parade,ps8830";
+		reg = <0x08>;
+
+		clocks = <&rpmhcc RPMH_RF_CLK3>;
+
+		vdd-supply = <&vreg_rtmr0_1p15>;
+		vdd33-supply = <&vreg_rtmr0_3p3>;
+		vdd33-cap-supply = <&vreg_rtmr0_3p3>;
+		vddar-supply = <&vreg_rtmr0_1p15>;
+		vddat-supply = <&vreg_rtmr0_1p15>;
+		vddio-supply = <&vreg_rtmr0_1p8>;
+
+		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+		pinctrl-0 = <&rtmr0_default>;
+		pinctrl-names = "default";
+
+		retimer-switch;
+		orientation-switch;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				retimer_ss0_ss_out: endpoint {
+					remote-endpoint = <&pmic_glink_ss0_ss_in>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				retimer_ss0_ss_in: endpoint {
+					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+				};
+			};
+
+		};
+	};
+};
+
 &i2c5 {
 	clock-frequency = <400000>;
 
@@ -1541,7 +1591,7 @@ &usb_1_ss0_hsphy {
 };
 
 &usb_1_ss0_qmpphy_out {
-	remote-endpoint = <&pmic_glink_ss0_ss_in>;
+	remote-endpoint = <&retimer_ss0_ss_in>;
 };
 
 &usb_1_ss1_dwc3_hs {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
  2026-04-22  9:39 [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port Prashanth K
@ 2026-04-22 10:26 ` Konrad Dybcio
  2026-04-22 10:32   ` Prashanth K
  0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2026-04-22 10:26 UTC (permalink / raw)
  To: Prashanth K, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati, stable

On 4/22/26 11:39 AM, Prashanth K wrote:
> Add the retimer for usb_1_ss0 port (USB0), in order to enable
> super-speed enumeration on that port.
> 
> Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
> Cc: stable@vger.kernel.org

This is a feature addition, not a fix

[...]

> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +
> +				retimer_ss0_ss_out: endpoint {
> +					remote-endpoint = <&pmic_glink_ss0_ss_in>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +
> +				retimer_ss0_ss_in: endpoint {
> +					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
> +				};
> +			};
> +

Stray \n, but you should really have a @2 port here as well.

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
  2026-04-22 10:26 ` Konrad Dybcio
@ 2026-04-22 10:32   ` Prashanth K
  2026-04-22 10:43     ` Konrad Dybcio
  0 siblings, 1 reply; 8+ messages in thread
From: Prashanth K @ 2026-04-22 10:32 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati, stable



On 4/22/2026 3:56 PM, Konrad Dybcio wrote:
> On 4/22/26 11:39 AM, Prashanth K wrote:
>> Add the retimer for usb_1_ss0 port (USB0), in order to enable
>> super-speed enumeration on that port.
>>
>> Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
>> Cc: stable@vger.kernel.org
> 
> This is a feature addition, not a fix
> 
> [...]
> 
Sure.
>> +		ports {
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +
>> +			port@0 {
>> +				reg = <0>;
>> +
>> +				retimer_ss0_ss_out: endpoint {
>> +					remote-endpoint = <&pmic_glink_ss0_ss_in>;
>> +				};
>> +			};
>> +
>> +			port@1 {
>> +				reg = <1>;
>> +
>> +				retimer_ss0_ss_in: endpoint {
>> +					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
>> +				};
>> +			};
>> +
> 
> Stray \n, but you should really have a @2 port here as well.
> 
> Konrad
Can we ad port@2 and leave it empty?

Regards,
Prashanth K

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
  2026-04-22 10:32   ` Prashanth K
@ 2026-04-22 10:43     ` Konrad Dybcio
  2026-04-22 11:04       ` Prashanth K
  0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2026-04-22 10:43 UTC (permalink / raw)
  To: Prashanth K, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati, stable

On 4/22/26 12:32 PM, Prashanth K wrote:
> 
> 
> On 4/22/2026 3:56 PM, Konrad Dybcio wrote:
>> On 4/22/26 11:39 AM, Prashanth K wrote:
>>> Add the retimer for usb_1_ss0 port (USB0), in order to enable
>>> super-speed enumeration on that port.
>>>
>>> Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
>>> Cc: stable@vger.kernel.org
>>
>> This is a feature addition, not a fix
>>
>> [...]
>>
> Sure.
>>> +		ports {
>>> +			#address-cells = <1>;
>>> +			#size-cells = <0>;
>>> +
>>> +			port@0 {
>>> +				reg = <0>;
>>> +
>>> +				retimer_ss0_ss_out: endpoint {
>>> +					remote-endpoint = <&pmic_glink_ss0_ss_in>;
>>> +				};
>>> +			};
>>> +
>>> +			port@1 {
>>> +				reg = <1>;
>>> +
>>> +				retimer_ss0_ss_in: endpoint {
>>> +					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
>>> +				};
>>> +			};
>>> +
>>
>> Stray \n, but you should really have a @2 port here as well.
>>
>> Konrad
> Can we ad port@2 and leave it empty?

Why would you? Just connect it to port2 of the connector under pmic-glink

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
  2026-04-22 10:43     ` Konrad Dybcio
@ 2026-04-22 11:04       ` Prashanth K
  2026-04-22 11:09         ` Konrad Dybcio
  0 siblings, 1 reply; 8+ messages in thread
From: Prashanth K @ 2026-04-22 11:04 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati, stable



On 4/22/2026 4:13 PM, Konrad Dybcio wrote:
> On 4/22/26 12:32 PM, Prashanth K wrote:
>>
>>
>> On 4/22/2026 3:56 PM, Konrad Dybcio wrote:
>>> On 4/22/26 11:39 AM, Prashanth K wrote:
>>>> Add the retimer for usb_1_ss0 port (USB0), in order to enable
>>>> super-speed enumeration on that port.
>>>>
>>>> Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
>>>> Cc: stable@vger.kernel.org
>>>
>>> This is a feature addition, not a fix
>>>
>>> [...]
>>>
>> Sure.
>>>> +		ports {
>>>> +			#address-cells = <1>;
>>>> +			#size-cells = <0>;
>>>> +
>>>> +			port@0 {
>>>> +				reg = <0>;
>>>> +
>>>> +				retimer_ss0_ss_out: endpoint {
>>>> +					remote-endpoint = <&pmic_glink_ss0_ss_in>;
>>>> +				};
>>>> +			};
>>>> +
>>>> +			port@1 {
>>>> +				reg = <1>;
>>>> +
>>>> +				retimer_ss0_ss_in: endpoint {
>>>> +					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
>>>> +				};
>>>> +			};
>>>> +
>>>
>>> Stray \n, but you should really have a @2 port here as well.
>>>
>>> Konrad
>> Can we ad port@2 and leave it empty?
> 
> Why would you? Just connect it to port2 of the connector under pmic-glink
> 
> Konrad

Because the port@2 of pmic-glink (pmic_glink_ss0_sbu) is already
connected to usb-1-ss0-sbu-mux (onn,fsusb42). This is different compared
to other connectors.

Regards,
Prashanth K

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
  2026-04-22 11:04       ` Prashanth K
@ 2026-04-22 11:09         ` Konrad Dybcio
  2026-04-22 11:52           ` Dmitry Baryshkov
  0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2026-04-22 11:09 UTC (permalink / raw)
  To: Prashanth K, Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Krishna Kurapati, stable

On 4/22/26 1:04 PM, Prashanth K wrote:
> 
> 
> On 4/22/2026 4:13 PM, Konrad Dybcio wrote:
>> On 4/22/26 12:32 PM, Prashanth K wrote:
>>>
>>>
>>> On 4/22/2026 3:56 PM, Konrad Dybcio wrote:
>>>> On 4/22/26 11:39 AM, Prashanth K wrote:
>>>>> Add the retimer for usb_1_ss0 port (USB0), in order to enable
>>>>> super-speed enumeration on that port.
>>>>>
>>>>> Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
>>>>> Cc: stable@vger.kernel.org
>>>>
>>>> This is a feature addition, not a fix
>>>>
>>>> [...]
>>>>
>>> Sure.
>>>>> +		ports {
>>>>> +			#address-cells = <1>;
>>>>> +			#size-cells = <0>;
>>>>> +
>>>>> +			port@0 {
>>>>> +				reg = <0>;
>>>>> +
>>>>> +				retimer_ss0_ss_out: endpoint {
>>>>> +					remote-endpoint = <&pmic_glink_ss0_ss_in>;
>>>>> +				};
>>>>> +			};
>>>>> +
>>>>> +			port@1 {
>>>>> +				reg = <1>;
>>>>> +
>>>>> +				retimer_ss0_ss_in: endpoint {
>>>>> +					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
>>>>> +				};
>>>>> +			};
>>>>> +
>>>>
>>>> Stray \n, but you should really have a @2 port here as well.
>>>>
>>>> Konrad
>>> Can we ad port@2 and leave it empty?
>>
>> Why would you? Just connect it to port2 of the connector under pmic-glink
>>
>> Konrad
> 
> Because the port@2 of pmic-glink (pmic_glink_ss0_sbu) is already
> connected to usb-1-ss0-sbu-mux (onn,fsusb42). This is different compared
> to other connectors.

Are both the SBU mux and the Parade retimer present on board?

The former is redundant since the retimer already has a superset of its
functionality, so that sounds rather odd.

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port
  2026-04-22 11:09         ` Konrad Dybcio
@ 2026-04-22 11:52           ` Dmitry Baryshkov
  0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2026-04-22 11:52 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Prashanth K, Bjorn Andersson, Konrad Dybcio, linux-arm-msm,
	devicetree, linux-kernel, Krishna Kurapati, stable

On Wed, Apr 22, 2026 at 01:09:22PM +0200, Konrad Dybcio wrote:
> On 4/22/26 1:04 PM, Prashanth K wrote:
> > 
> > 
> > On 4/22/2026 4:13 PM, Konrad Dybcio wrote:
> >> On 4/22/26 12:32 PM, Prashanth K wrote:
> >>>
> >>>
> >>> On 4/22/2026 3:56 PM, Konrad Dybcio wrote:
> >>>> On 4/22/26 11:39 AM, Prashanth K wrote:
> >>>>> Add the retimer for usb_1_ss0 port (USB0), in order to enable
> >>>>> super-speed enumeration on that port.
> >>>>>
> >>>>> Fixes: c11645afb0e2 ("arm64: dts: qcom: Add base HAMOA-IOT-EVK board")
> >>>>> Cc: stable@vger.kernel.org
> >>>>
> >>>> This is a feature addition, not a fix
> >>>>
> >>>> [...]
> >>>>
> >>> Sure.
> >>>>> +		ports {
> >>>>> +			#address-cells = <1>;
> >>>>> +			#size-cells = <0>;
> >>>>> +
> >>>>> +			port@0 {
> >>>>> +				reg = <0>;
> >>>>> +
> >>>>> +				retimer_ss0_ss_out: endpoint {
> >>>>> +					remote-endpoint = <&pmic_glink_ss0_ss_in>;
> >>>>> +				};
> >>>>> +			};
> >>>>> +
> >>>>> +			port@1 {
> >>>>> +				reg = <1>;
> >>>>> +
> >>>>> +				retimer_ss0_ss_in: endpoint {
> >>>>> +					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
> >>>>> +				};
> >>>>> +			};
> >>>>> +
> >>>>
> >>>> Stray \n, but you should really have a @2 port here as well.
> >>>>
> >>>> Konrad
> >>> Can we ad port@2 and leave it empty?
> >>
> >> Why would you? Just connect it to port2 of the connector under pmic-glink
> >>
> >> Konrad
> > 
> > Because the port@2 of pmic-glink (pmic_glink_ss0_sbu) is already
> > connected to usb-1-ss0-sbu-mux (onn,fsusb42). This is different compared
> > to other connectors.
> 
> Are both the SBU mux and the Parade retimer present on board?
> 
> The former is redundant since the retimer already has a superset of its
> functionality, so that sounds rather odd.

fsusb42 might be also used to switch SBU lines for other purposes (e.g.
for the debug).

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-04-22 11:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-22  9:39 [PATCH] arm64: dts: qcom: hamoa-iot-evk: Enable retimer on USB0 port Prashanth K
2026-04-22 10:26 ` Konrad Dybcio
2026-04-22 10:32   ` Prashanth K
2026-04-22 10:43     ` Konrad Dybcio
2026-04-22 11:04       ` Prashanth K
2026-04-22 11:09         ` Konrad Dybcio
2026-04-22 11:52           ` Dmitry Baryshkov
  -- strict thread matches above, loose matches on Subject: below --
2026-04-22  9:06 Prashanth K

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox