linux-phy.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] arm64: qcom: allow up to 4 lanes for the Type-C DisplayPort Altmode
@ 2025-08-07 16:33 Konrad Dybcio
  2025-08-07 16:33 ` [PATCH v4 1/6] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch Konrad Dybcio
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Konrad Dybcio @ 2025-08-07 16:33 UTC (permalink / raw)
  To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
  Cc: Marijn Suijten, linux-arm-msm, linux-phy, devicetree,
	linux-kernel, Konrad Dybcio, Neil Armstrong, Krzysztof Kozlowski,
	Dmitry Baryshkov, Dmitry Baryshkov

Register a typec mux in order to change the PHY mode on the Type-C
mux events depending on the mode and the svid when in Altmode setup.

The DisplayPort phy should be left enabled if is still powered on
by the DRM DisplayPort controller, so bail out until the DisplayPort
PHY is not powered off.

The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states
will be set in between of USB-Only, Combo and DisplayPort Only so
this will leave enough time to the DRM DisplayPort controller to
turn of the DisplayPort PHY.

The patchset also includes bindings changes and DT changes.

This has been successfully tested on an SM8550 board, but the
Thinkpad X13s deserved testing between non-PD USB, non-PD DisplayPort,
PD USB Hubs and PD Altmode Dongles to make sure the switch works
as expected.

The DisplayPort 4 lanes setup can be check with:
$ cat /sys/kernel/debug/dri/ae01000.display-controller/DP-1/dp_debug
	name = msm_dp
	drm_dp_link
		rate = 540000
		num_lanes = 4
...

This patchset depends on [1] to allow broadcasting the type-c mode
to the PHY, otherwise the PHY will keep the combo state while the
retimer would setup the 4 lanes in DP mode.

[1] https://lore.kernel.org/all/20240527-topic-sm8x50-upstream-retimer-broadcast-mode-v1-0-79ec91381aba@linaro.org/

Changes in v4:
- Default to USB3_ONLY if there's no DP SVID (Dmitry)
- Pick up tags, dropped T-bys due to the above change
- Add missing submitter's sign-off on some patches
- The odd 4-lane-DP + USB2 case remains unhandled for now, but it's
  not a huge deal, see:
  <c2f2ba36-1a25-450e-99b9-79aa4fd4913d@linaro.org>
- Link to v3: https://lore.kernel.org/r/20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@oss.qualcomm.com
Changes in v3:
- Take the series from Neil
- Rebase
- Rename many variables
- Test on X1E & X13s
- Apply a number of small cosmetic/codestyle changes
- Remove some unused variables
- Some smaller bugfixes
- Link to v2: https://lore.kernel.org/lkml/20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org/
Changes in v2:
- Reference usb-switch.yaml in bindings patch
- Fix switch/case indenting
- Check svid for USB_TYPEC_DP_SID
- Fix X13s patch subject
- Update SM8650 patch to enable 4 lanes on HDK aswell
- Link to v1: https://lore.kernel.org/r/20240229-topic-sm8x50-upstream-phy-combo-typec-mux-v1-0-07e24a231840@linaro.org

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
Konrad Dybcio (1):
      phy: qcom: qmp-combo: Rename 'mode' to 'phy_mode'

Neil Armstrong (5):
      dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch
      phy: qcom: qmp-combo: store DP phy power state
      phy: qcom: qmp-combo: introduce QMPPHY_MODE
      phy: qcom: qmp-combo: register a typec mux to change the QMPPHY_MODE
      arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13: Set up 4-lane DP

 .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml         |   7 +-
 .../dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts     |   6 +-
 drivers/phy/qualcomm/phy-qcom-qmp-combo.c          | 179 +++++++++++++++++++--
 3 files changed, 170 insertions(+), 22 deletions(-)
---
base-commit: 442d93313caebc8ccd6d53f4572c50732a95bc48
change-id: 20250527-topic-4ln_dp_respin-c6924a8825ce

Best regards,
-- 
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

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

end of thread, other threads:[~2025-09-05  8:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-07 16:33 [PATCH v4 0/6] arm64: qcom: allow up to 4 lanes for the Type-C DisplayPort Altmode Konrad Dybcio
2025-08-07 16:33 ` [PATCH v4 1/6] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch Konrad Dybcio
2025-08-22 21:20   ` Rob Herring
2025-09-04 15:18     ` Konrad Dybcio
2025-09-05  7:16       ` Neil Armstrong
2025-08-07 16:33 ` [PATCH v4 2/6] phy: qcom: qmp-combo: Rename 'mode' to 'phy_mode' Konrad Dybcio
2025-08-11  7:40   ` Neil Armstrong
2025-08-07 16:33 ` [PATCH v4 3/6] phy: qcom: qmp-combo: store DP phy power state Konrad Dybcio
2025-08-07 16:33 ` [PATCH v4 4/6] phy: qcom: qmp-combo: introduce QMPPHY_MODE Konrad Dybcio
2025-08-09  7:57   ` Dmitry Baryshkov
2025-08-07 16:33 ` [PATCH v4 5/6] phy: qcom: qmp-combo: register a typec mux to change the QMPPHY_MODE Konrad Dybcio
2025-08-09  8:13   ` Dmitry Baryshkov
2025-08-11 10:37     ` Konrad Dybcio
2025-08-11 10:55       ` Dmitry Baryshkov
2025-08-11 11:12         ` Konrad Dybcio
2025-08-07 16:33 ` [PATCH v4 6/6] arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13: Set up 4-lane DP Konrad Dybcio
2025-08-08  2:49 ` [PATCH v4 0/6] arm64: qcom: allow up to 4 lanes for the Type-C DisplayPort Altmode Rob Herring (Arm)
2025-08-11 19:04 ` Neil Armstrong
2025-08-20 17:03 ` (subset) " Vinod Koul
2025-09-01 19:46 ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).