Message ID | 20240229-topic-sm8x50-upstream-phy-combo-typec-mux-v1-7-07e24a231840@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | arm64: qcom: allow up to 4 lanes for the Type-C DisplayPort Altmode | expand |
Bad copy-pasta, subject should be: [PATCH RFT 7/7] arm64: dts: wcom-sc8280xp-lenovo-thinkpad-x13: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch On 29/02/2024 14:07, Neil Armstrong wrote: > Allow up to 4 lanes for the DisplayPort link from the PHYs to the Controllers > and allow mode-switch events to the QMP Combo PHYs. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > index a0fdef55a40a..6c73e0fc001f 100644 > --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > @@ -556,7 +556,7 @@ &mdss0_dp0 { > }; > > &mdss0_dp0_out { > - data-lanes = <0 1>; > + data-lanes = <0 1 2 3>; > remote-endpoint = <&usb_0_qmpphy_dp_in>; > }; > > @@ -565,7 +565,7 @@ &mdss0_dp1 { > }; > > &mdss0_dp1_out { > - data-lanes = <0 1>; > + data-lanes = <0 1 2 3>; > remote-endpoint = <&usb_1_qmpphy_dp_in>; > }; > > @@ -1112,6 +1112,7 @@ &usb_0_qmpphy { > vdda-phy-supply = <&vreg_l9d>; > vdda-pll-supply = <&vreg_l4d>; > > + mode-switch; > orientation-switch; > > status = "okay"; > @@ -1149,6 +1150,7 @@ &usb_1_qmpphy { > vdda-phy-supply = <&vreg_l4b>; > vdda-pll-supply = <&vreg_l3b>; > > + mode-switch; > orientation-switch; > > status = "okay"; >
On Thu, Feb 29, 2024 at 02:07:07PM +0100, Neil Armstrong wrote: > Allow up to 4 lanes for the DisplayPort link from the PHYs to the Controllers > and allow mode-switch events to the QMP Combo PHYs. > Please adjust $subject and commit message to suite the x13s.dts... With this series I'm reaching 4k@60 on my X13s (with some difficulty due to current hotplug issues in the DP driver) - but 4-lane DP works, and so does 2-lane combo. I tested switching between DP-only and a USB device, this worked fine a few (3-4) times, after which the USB device stopped showing up. The DP display continued to work nicely and the debug prints from the driver indicates that we're moving back and forth between the modes... The problems I had when trying to implement this previously, with the device crashing on disconnect have not been seen, across 20+ attempts. Regards, Bjorn > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > index a0fdef55a40a..6c73e0fc001f 100644 > --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > @@ -556,7 +556,7 @@ &mdss0_dp0 { > }; > > &mdss0_dp0_out { > - data-lanes = <0 1>; > + data-lanes = <0 1 2 3>; > remote-endpoint = <&usb_0_qmpphy_dp_in>; > }; > > @@ -565,7 +565,7 @@ &mdss0_dp1 { > }; > > &mdss0_dp1_out { > - data-lanes = <0 1>; > + data-lanes = <0 1 2 3>; > remote-endpoint = <&usb_1_qmpphy_dp_in>; > }; > > @@ -1112,6 +1112,7 @@ &usb_0_qmpphy { > vdda-phy-supply = <&vreg_l9d>; > vdda-pll-supply = <&vreg_l4d>; > > + mode-switch; > orientation-switch; > > status = "okay"; > @@ -1149,6 +1150,7 @@ &usb_1_qmpphy { > vdda-phy-supply = <&vreg_l4b>; > vdda-pll-supply = <&vreg_l3b>; > > + mode-switch; > orientation-switch; > > status = "okay"; > > -- > 2.34.1 >
On 01/03/2024 04:00, Bjorn Andersson wrote: > On Thu, Feb 29, 2024 at 02:07:07PM +0100, Neil Armstrong wrote: >> Allow up to 4 lanes for the DisplayPort link from the PHYs to the Controllers >> and allow mode-switch events to the QMP Combo PHYs. >> > > Please adjust $subject and commit message to suite the x13s.dts... Sure I realized this after sending the patches.... > > > With this series I'm reaching 4k@60 on my X13s (with some difficulty due > to current hotplug issues in the DP driver) - but 4-lane DP works, and > so does 2-lane combo. > > I tested switching between DP-only and a USB device, this worked fine a > few (3-4) times, after which the USB device stopped showing up. The DP > display continued to work nicely and the debug prints from the driver > indicates that we're moving back and forth between the modes... > > The problems I had when trying to implement this previously, with the > device crashing on disconnect have not been seen, across 20+ > attempts. Greatm nice this was fixed! I also experienced USB issue after a few connect/disconnects, it seems that messing with the USB PHY doesn't make DWC3 very happy, not sure how we could actually fix that. Thx for testing! Neil > > Regards, > Bjorn > >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >> --- >> arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts >> index a0fdef55a40a..6c73e0fc001f 100644 >> --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts >> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts >> @@ -556,7 +556,7 @@ &mdss0_dp0 { >> }; >> >> &mdss0_dp0_out { >> - data-lanes = <0 1>; >> + data-lanes = <0 1 2 3>; >> remote-endpoint = <&usb_0_qmpphy_dp_in>; >> }; >> >> @@ -565,7 +565,7 @@ &mdss0_dp1 { >> }; >> >> &mdss0_dp1_out { >> - data-lanes = <0 1>; >> + data-lanes = <0 1 2 3>; >> remote-endpoint = <&usb_1_qmpphy_dp_in>; >> }; >> >> @@ -1112,6 +1112,7 @@ &usb_0_qmpphy { >> vdda-phy-supply = <&vreg_l9d>; >> vdda-pll-supply = <&vreg_l4d>; >> >> + mode-switch; >> orientation-switch; >> >> status = "okay"; >> @@ -1149,6 +1150,7 @@ &usb_1_qmpphy { >> vdda-phy-supply = <&vreg_l4b>; >> vdda-pll-supply = <&vreg_l3b>; >> >> + mode-switch; >> orientation-switch; >> >> status = "okay"; >> >> -- >> 2.34.1 >>
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts index a0fdef55a40a..6c73e0fc001f 100644 --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts @@ -556,7 +556,7 @@ &mdss0_dp0 { }; &mdss0_dp0_out { - data-lanes = <0 1>; + data-lanes = <0 1 2 3>; remote-endpoint = <&usb_0_qmpphy_dp_in>; }; @@ -565,7 +565,7 @@ &mdss0_dp1 { }; &mdss0_dp1_out { - data-lanes = <0 1>; + data-lanes = <0 1 2 3>; remote-endpoint = <&usb_1_qmpphy_dp_in>; }; @@ -1112,6 +1112,7 @@ &usb_0_qmpphy { vdda-phy-supply = <&vreg_l9d>; vdda-pll-supply = <&vreg_l4d>; + mode-switch; orientation-switch; status = "okay"; @@ -1149,6 +1150,7 @@ &usb_1_qmpphy { vdda-phy-supply = <&vreg_l4b>; vdda-pll-supply = <&vreg_l3b>; + mode-switch; orientation-switch; status = "okay";
Allow up to 4 lanes for the DisplayPort link from the PHYs to the Controllers and allow mode-switch events to the QMP Combo PHYs. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)