diff mbox series

[2/2] arm64: dts: qcom: x1e80100-romulus: Set up USB Multiport controller

Message ID 20240902-topic-sl7_updates-v1-2-3ee667e6652d@quicinc.com (mailing list archive)
State Accepted
Commit facead4ce0c45c6d2de535df8376f728cb9e7064
Headers show
Series More Surface Laptop 7 features | expand

Commit Message

Konrad Dybcio Sept. 2, 2024, 2:50 p.m. UTC
From: Konrad Dybcio <quic_kdybcio@quicinc.com>

The USB MP controller is wired up to the USB-A port on the left side
and to the Surface Connector on the right side. Configure it.

While at it, remove a stray double \n.

Signed-off-by: Konrad Dybcio <quic_kdybcio@quicinc.com>
---
 .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi  | 59 +++++++++++++++++++++-
 1 file changed, 57 insertions(+), 2 deletions(-)

Comments

Neil Armstrong Sept. 2, 2024, 4:01 p.m. UTC | #1
On 02/09/2024 16:50, Konrad Dybcio wrote:
> From: Konrad Dybcio <quic_kdybcio@quicinc.com>
> 
> The USB MP controller is wired up to the USB-A port on the left side
> and to the Surface Connector on the right side. Configure it.
> 
> While at it, remove a stray double \n.
> 
> Signed-off-by: Konrad Dybcio <quic_kdybcio@quicinc.com>
> ---
>   .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi  | 59 +++++++++++++++++++++-
>   1 file changed, 57 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> index 5419d0b02785..ac2acf949b70 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> @@ -572,7 +572,17 @@ &i2c5 {
>   
>   	status = "okay";
>   
> -	/* Something @4f */
> +	ptn3222: redriver@4f {
> +		compatible = "nxp,ptn3222";
> +		reg = <0x4f>;
> +
> +		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
> +
> +		vdd3v3-supply = <&vreg_l13b>;
> +		vdd1v8-supply = <&vreg_l4b>;
> +
> +		#phy-cells = <0>;

It's unrelated to mutiport USB-A, should go in a separate change,
and also probably in a bigger change enabling usb-c features using
the retimer.

Neil

> +	};
>   };
>   
>   &i2c7 {
> @@ -583,7 +593,6 @@ &i2c7 {
>   	/* PS8830 USB retimer @8 */
>   };
>   
> -
>   &mdss {
>   	status = "okay";
>   };
> @@ -717,6 +726,15 @@ &smb2360_1_eusb2_repeater {
>   	vdd3-supply = <&vreg_l14b>;
>   };
>   
> +&smb2360_2 {
> +	status = "okay";
> +};
> +
> +&smb2360_2_eusb2_repeater {
> +	vdd18-supply = <&vreg_l3d>;
> +	vdd3-supply = <&vreg_l8b>;
> +};
> +
>   &tlmm {
>   	gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
>   			       <238 1>; /* UFS Reset */
> @@ -856,3 +874,40 @@ &usb_1_ss1_dwc3_hs {
>   &usb_1_ss1_qmpphy_out {
>   	remote-endpoint = <&pmic_glink_ss1_ss_in>;
>   };
> +
> +/* MP0 goes to the Surface Connector, MP1 goes to the USB-A port */
> +&usb_mp {
> +	status = "okay";
> +};
> +
> +&usb_mp_hsphy0 {
> +	vdd-supply = <&vreg_l2e>;
> +	vdda12-supply = <&vreg_l2j>;
> +
> +	phys = <&smb2360_2_eusb2_repeater>;
> +
> +	status = "okay";
> +};
> +
> +&usb_mp_hsphy1 {
> +	vdd-supply = <&vreg_l2e>;
> +	vdda12-supply = <&vreg_l2j>;
> +
> +	phys = <&ptn3222>;
> +
> +	status = "okay";
> +};
> +
> +&usb_mp_qmpphy0 {
> +	vdda-phy-supply = <&vreg_l3e>;
> +	vdda-pll-supply = <&vreg_l3c>;
> +
> +	status = "okay";
> +};
> +
> +&usb_mp_qmpphy1 {
> +	vdda-phy-supply = <&vreg_l3e>;
> +	vdda-pll-supply = <&vreg_l3c>;
> +
> +	status = "okay";
> +};
>
Konrad Dybcio Sept. 2, 2024, 4:07 p.m. UTC | #2
On 2.09.2024 6:01 PM, neil.armstrong@linaro.org wrote:
> On 02/09/2024 16:50, Konrad Dybcio wrote:
>> From: Konrad Dybcio <quic_kdybcio@quicinc.com>
>>
>> The USB MP controller is wired up to the USB-A port on the left side
>> and to the Surface Connector on the right side. Configure it.
>>
>> While at it, remove a stray double \n.
>>
>> Signed-off-by: Konrad Dybcio <quic_kdybcio@quicinc.com>
>> ---
>>   .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi  | 59 +++++++++++++++++++++-
>>   1 file changed, 57 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
>> index 5419d0b02785..ac2acf949b70 100644
>> --- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
>> @@ -572,7 +572,17 @@ &i2c5 {
>>         status = "okay";
>>   -    /* Something @4f */
>> +    ptn3222: redriver@4f {
>> +        compatible = "nxp,ptn3222";
>> +        reg = <0x4f>;
>> +
>> +        reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
>> +
>> +        vdd3v3-supply = <&vreg_l13b>;
>> +        vdd1v8-supply = <&vreg_l4b>;
>> +
>> +        #phy-cells = <0>;
> 
> It's unrelated to mutiport USB-A, should go in a separate change,
> and also probably in a bigger change enabling usb-c features using
> the retimer.

No, this chip converts between eUSB on the PHY and USB on the port

Konrad
Neil Armstrong Sept. 2, 2024, 4:09 p.m. UTC | #3
On 02/09/2024 18:07, Konrad Dybcio wrote:
> On 2.09.2024 6:01 PM, neil.armstrong@linaro.org wrote:
>> On 02/09/2024 16:50, Konrad Dybcio wrote:
>>> From: Konrad Dybcio <quic_kdybcio@quicinc.com>
>>>
>>> The USB MP controller is wired up to the USB-A port on the left side
>>> and to the Surface Connector on the right side. Configure it.
>>>
>>> While at it, remove a stray double \n.
>>>
>>> Signed-off-by: Konrad Dybcio <quic_kdybcio@quicinc.com>
>>> ---
>>>    .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi  | 59 +++++++++++++++++++++-
>>>    1 file changed, 57 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
>>> index 5419d0b02785..ac2acf949b70 100644
>>> --- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
>>> @@ -572,7 +572,17 @@ &i2c5 {
>>>          status = "okay";
>>>    -    /* Something @4f */
>>> +    ptn3222: redriver@4f {
>>> +        compatible = "nxp,ptn3222";
>>> +        reg = <0x4f>;
>>> +
>>> +        reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
>>> +
>>> +        vdd3v3-supply = <&vreg_l13b>;
>>> +        vdd1v8-supply = <&vreg_l4b>;
>>> +
>>> +        #phy-cells = <0>;
>>
>> It's unrelated to mutiport USB-A, should go in a separate change,
>> and also probably in a bigger change enabling usb-c features using
>> the retimer.
> 
> No, this chip converts between eUSB on the PHY and USB on the port

Oh my bad, indeed, sorry for the confusion

Neil

> 
> Konrad
Dmitry Baryshkov Sept. 2, 2024, 6:43 p.m. UTC | #4
On Mon, Sep 02, 2024 at 04:50:34PM GMT, Konrad Dybcio wrote:
> From: Konrad Dybcio <quic_kdybcio@quicinc.com>
> 
> The USB MP controller is wired up to the USB-A port on the left side
> and to the Surface Connector on the right side. Configure it.
> 
> While at it, remove a stray double \n.
> 
> Signed-off-by: Konrad Dybcio <quic_kdybcio@quicinc.com>
> ---
>  .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi  | 59 +++++++++++++++++++++-
>  1 file changed, 57 insertions(+), 2 deletions(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index 5419d0b02785..ac2acf949b70 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -572,7 +572,17 @@  &i2c5 {
 
 	status = "okay";
 
-	/* Something @4f */
+	ptn3222: redriver@4f {
+		compatible = "nxp,ptn3222";
+		reg = <0x4f>;
+
+		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
+
+		vdd3v3-supply = <&vreg_l13b>;
+		vdd1v8-supply = <&vreg_l4b>;
+
+		#phy-cells = <0>;
+	};
 };
 
 &i2c7 {
@@ -583,7 +593,6 @@  &i2c7 {
 	/* PS8830 USB retimer @8 */
 };
 
-
 &mdss {
 	status = "okay";
 };
@@ -717,6 +726,15 @@  &smb2360_1_eusb2_repeater {
 	vdd3-supply = <&vreg_l14b>;
 };
 
+&smb2360_2 {
+	status = "okay";
+};
+
+&smb2360_2_eusb2_repeater {
+	vdd18-supply = <&vreg_l3d>;
+	vdd3-supply = <&vreg_l8b>;
+};
+
 &tlmm {
 	gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
 			       <238 1>; /* UFS Reset */
@@ -856,3 +874,40 @@  &usb_1_ss1_dwc3_hs {
 &usb_1_ss1_qmpphy_out {
 	remote-endpoint = <&pmic_glink_ss1_ss_in>;
 };
+
+/* MP0 goes to the Surface Connector, MP1 goes to the USB-A port */
+&usb_mp {
+	status = "okay";
+};
+
+&usb_mp_hsphy0 {
+	vdd-supply = <&vreg_l2e>;
+	vdda12-supply = <&vreg_l2j>;
+
+	phys = <&smb2360_2_eusb2_repeater>;
+
+	status = "okay";
+};
+
+&usb_mp_hsphy1 {
+	vdd-supply = <&vreg_l2e>;
+	vdda12-supply = <&vreg_l2j>;
+
+	phys = <&ptn3222>;
+
+	status = "okay";
+};
+
+&usb_mp_qmpphy0 {
+	vdda-phy-supply = <&vreg_l3e>;
+	vdda-pll-supply = <&vreg_l3c>;
+
+	status = "okay";
+};
+
+&usb_mp_qmpphy1 {
+	vdda-phy-supply = <&vreg_l3e>;
+	vdda-pll-supply = <&vreg_l3c>;
+
+	status = "okay";
+};