Re: [PATCH RFC 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document default phy mode
From: Xilin Wu
Date: Sat Aug 23 2025 - 02:23:27 EST
On 2025/8/22 19:02:21, Neil Armstrong wrote:
On 22/08/2025 12:57, Dmitry Baryshkov wrote:
On Thu, Aug 21, 2025 at 03:53:26PM +0200, Neil Armstrong wrote:
The QMP USB3/DP Combo PHY hosts an USB3 phy and a DP PHY on top
of a combo glue to route either lanes to the 4 shared physical lanes.
The routing of the lanes can be:
- 2 DP + 2 USB3
- 4 DP
- 2 USB3
And the layout of the lanes can be swpped depending of an
eventual USB-C connector orientation.
Nevertheless those QMP Comby PHY can be statically used to
drive a DisplayPort connector, DP->HDMI bridge, USB3 A Connector...
But if a 4lanes DP->HDMI bridge is directly connected to the
QMP Comby PHY lanes, in the default routing 2 or the 4 lanes would
probbaly be USB3, making the DP->HDMI bridge non functional.
Add a property to hint in which layout mode the QMP Comby PHY
should be as startup.
Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
.../bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 13 ++
+++++++++++
1 file changed, 13 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-
usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/
qcom,sc8280xp-qmp-usb43dp-phy.yaml
index
c8bc512df08b5694c8599f475de78679a4438449..129475a1d9527733e43ded5a38aad766f9810fe7 100644
--- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-
usb43dp-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-
usb43dp-phy.yaml
@@ -76,6 +76,19 @@ properties:
mode-switch: true
orientation-switch: true
+ qcom,combo-initial-mode:
+ description:
+ Describe the initial mode of the Combo PHY configuration.
+ The Combo PHY is a wrapper on top of a DP PHY and an USB3 PHY,
+ sharing the same SuperSpeed lanes with either DisplayPort over
+ the 4 lanes (dp), USB3 on a pair of lanes (usb3) or both
+ technologies in a 2+2 configuration (usb3+dp) as default.
SPecifying this as an initial mode means that it can be switched later.
Should we generalize this and desribe it as bus-type (from
video-interfaces.yaml) and allow it to be present only if there is no
mode-switch property?
I was not sure about that, and yes we should do that instead but I'm not
sure about how.
bus-type sounds great, but the numbering doesn't match so I was thinking
instead
something like phy-type with a string or use the numbers from include/
dt-bindings/phy/phy.h
The thing is, do we want to keep the dual dp+usb3 as static ? I think
it's very possible
a board would connect the combo phy to an USB3 A connector and a 2lanes
DisplayPort connector.
Yes, our board (Radxa Dragon Q6A) is using such design, but with usb3
and dp lanes swapped. [1] I think this patch series could be extended to
handle such configuration.
Currently I just change the default orientation to reverse in
qmp_combo_probe. [2] It works flawlessly. But of course, it's not an
upstreamable solution :)
FWIW, Rockchip usbdp phy binding [3] has a property called
`rockchip,dp-lane-mux` to support such configuration.
[1]
https://dl.radxa.com/q6a/hw/RADXA%20Dragon%20Q6A%20V1.20%20Schematic%2020250621.pdf
[2]
https://github.com/strongtz/linux-next/commit/928cd166ce81aca7f8e051c72eccbd84ad896d98
[3]
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/phy/phy-rockchip-usbdp.yaml#n53
Neil
+ default: usb3+dp
+ enum:
+ - usb3+dp
+ - usb3
+ - dp
+
ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
--
2.34.1
--
Best regards,
Xilin Wu <sophon@xxxxxxxxx>