[0/7] phy: qcom-qmp-combo: Support orientation switching

Message ID 20230425034010.3789376-1-quic_bjorande@quicinc.com
Headers
Series phy: qcom-qmp-combo: Support orientation switching |

Message

Bjorn Andersson April 25, 2023, 3:40 a.m. UTC
  This adds support for USB and DisplayPort orientation switching to the
QMP combo PHY, as well as updating the sc8280xp devices to include the
QMP in the SuperSpeed graph.

Bjorn Andersson (7):
  dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and
    orientation-switch
  phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
  phy: qcom-qmp-combo: Introduce orientation variable
  phy: qcom-qmp-combo: Introduce orientation switching
  phy: qcom-qmp-combo: Introduce drm_bridge
  arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
  arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph

 .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    |  51 ++++
 arch/arm64/boot/dts/qcom/sc8280xp-crd.dts     |  28 ++-
 .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    |  28 ++-
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |  34 +++
 drivers/phy/qualcomm/phy-qcom-qmp-combo.c     | 227 ++++++++++++++----
 5 files changed, 309 insertions(+), 59 deletions(-)
  

Comments

Steev Klimaszewski April 25, 2023, 4:58 a.m. UTC | #1
Hi Bjorn,

On Mon, Apr 24, 2023 at 10:40 PM Bjorn Andersson
<quic_bjorande@quicinc.com> wrote:
>
> This adds support for USB and DisplayPort orientation switching to the
> QMP combo PHY, as well as updating the sc8280xp devices to include the
> QMP in the SuperSpeed graph.
>
> Bjorn Andersson (7):
>   dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and
>     orientation-switch
>   phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
>   phy: qcom-qmp-combo: Introduce orientation variable
>   phy: qcom-qmp-combo: Introduce orientation switching
>   phy: qcom-qmp-combo: Introduce drm_bridge
>   arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
>   arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph
>
>  .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    |  51 ++++
>  arch/arm64/boot/dts/qcom/sc8280xp-crd.dts     |  28 ++-
>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    |  28 ++-
>  arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |  34 +++
>  drivers/phy/qualcomm/phy-qcom-qmp-combo.c     | 227 ++++++++++++++----
>  5 files changed, 309 insertions(+), 59 deletions(-)
>
> --
> 2.39.2
>
Thank you! I have been looking forward to this patchset for a while :)

Tested with 05ac:1460 Apple, Inc. Digital AV Multiport Adapter and
0639:7210 Chrontel, Inc. Billboard and both work with orientation
switching.

Tested-by: Steev Klimaszewski <steev@kali.org>
  
Abel Vesa April 26, 2023, 2:25 p.m. UTC | #2
On 23-04-24 20:40:03, Bjorn Andersson wrote:
> This adds support for USB and DisplayPort orientation switching to the
> QMP combo PHY, as well as updating the sc8280xp devices to include the
> QMP in the SuperSpeed graph.
> 

Tested this entire patchset on my X13s. Therefore:

Tested-by: Abel Vesa <abel.vesa@linaro.org>

> Bjorn Andersson (7):
>   dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and
>     orientation-switch
>   phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
>   phy: qcom-qmp-combo: Introduce orientation variable
>   phy: qcom-qmp-combo: Introduce orientation switching
>   phy: qcom-qmp-combo: Introduce drm_bridge
>   arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
>   arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph
> 
>  .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    |  51 ++++
>  arch/arm64/boot/dts/qcom/sc8280xp-crd.dts     |  28 ++-
>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    |  28 ++-
>  arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |  34 +++
>  drivers/phy/qualcomm/phy-qcom-qmp-combo.c     | 227 ++++++++++++++----
>  5 files changed, 309 insertions(+), 59 deletions(-)
> 
> -- 
> 2.39.2
>
  
Johan Hovold May 2, 2023, 12:26 p.m. UTC | #3
On Mon, Apr 24, 2023 at 08:40:03PM -0700, Bjorn Andersson wrote:
> This adds support for USB and DisplayPort orientation switching to the
> QMP combo PHY, as well as updating the sc8280xp devices to include the
> QMP in the SuperSpeed graph.

Nice and clean series!

I've tested it a bit on the X13s and verified that DP works on both
ports and in both orientations. Coldplug also appears to work reliably.

Tested-by: Johan Hovold <johan+linaro@kernel.org>	# X13s

> Bjorn Andersson (7):
>   dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and
>     orientation-switch
>   phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
>   phy: qcom-qmp-combo: Introduce orientation variable
>   phy: qcom-qmp-combo: Introduce orientation switching
>   phy: qcom-qmp-combo: Introduce drm_bridge
>   arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
>   arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph
> 
>  .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    |  51 ++++
>  arch/arm64/boot/dts/qcom/sc8280xp-crd.dts     |  28 ++-
>  .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    |  28 ++-
>  arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |  34 +++
>  drivers/phy/qualcomm/phy-qcom-qmp-combo.c     | 227 ++++++++++++++----
>  5 files changed, 309 insertions(+), 59 deletions(-)

Johan
  
Neil Armstrong May 3, 2023, 9:50 a.m. UTC | #4
On 25/04/2023 05:40, Bjorn Andersson wrote:
> This adds support for USB and DisplayPort orientation switching to the
> QMP combo PHY, as well as updating the sc8280xp devices to include the
> QMP in the SuperSpeed graph.
> 
> Bjorn Andersson (7):
>    dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and
>      orientation-switch
>    phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
>    phy: qcom-qmp-combo: Introduce orientation variable
>    phy: qcom-qmp-combo: Introduce orientation switching
>    phy: qcom-qmp-combo: Introduce drm_bridge
>    arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
>    arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph
> 
>   .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml    |  51 ++++
>   arch/arm64/boot/dts/qcom/sc8280xp-crd.dts     |  28 ++-
>   .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts    |  28 ++-
>   arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |  34 +++
>   drivers/phy/qualcomm/phy-qcom-qmp-combo.c     | 227 ++++++++++++++----
>   5 files changed, 309 insertions(+), 59 deletions(-)
> 

I succesfully tested this on the SM8450 HDK, and the following works:
- USB-C to HDMI, both directions
- USB-C to DP cable to DP display, both directions
- USB-C to USB SuperSpeed, both directions
- USB-C to USB-C, both directions, enables SuperSpeed Plus Gen 2x1

Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on HDK8450

Thanks,
Neil
  
Bjorn Andersson May 23, 2023, 3:03 a.m. UTC | #5
On Mon, 24 Apr 2023 20:40:03 -0700, Bjorn Andersson wrote:
> This adds support for USB and DisplayPort orientation switching to the
> QMP combo PHY, as well as updating the sc8280xp devices to include the
> QMP in the SuperSpeed graph.
> 
> Bjorn Andersson (7):
>   dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and
>     orientation-switch
>   phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
>   phy: qcom-qmp-combo: Introduce orientation variable
>   phy: qcom-qmp-combo: Introduce orientation switching
>   phy: qcom-qmp-combo: Introduce drm_bridge
>   arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
>   arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph
> 
> [...]

Applied, thanks!

[1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Add ports and orientation-switch
      (no commit info)
[2/7] phy: qcom-qmp-combo: Move phy_mutex out of com_init/exit
      (no commit info)
[3/7] phy: qcom-qmp-combo: Introduce orientation variable
      (no commit info)
[4/7] phy: qcom-qmp-combo: Introduce orientation switching
      (no commit info)
[5/7] phy: qcom-qmp-combo: Introduce drm_bridge
      (no commit info)
[6/7] arm64: dts: qcom: sc8280xp-crd: Add QMP to SuperSpeed graph
      commit: 507ceaa5ca9fac0d9fe2521c29d7d6237c1214f4
[7/7] arm64: dts: qcom: sc8280xp-x13s: Add QMP to SuperSpeed graph
      commit: 42b08375498e74f094425fad10d10c338fd29858

Best regards,