On 9/23/2025 11:17 AM, Dmitry Baryshkov wrote:
On Tue, Sep 23, 2025 at 09:53:06AM +0800, Chaoyi Chen wrote:
Hi Dmitry,
On 9/23/2025 9:12 AM, Dmitry Baryshkov wrote:
On Mon, Sep 22, 2025 at 09:20:34AM +0800, Chaoyi Chen wrote:
From: Chaoyi Chen <chaoyi.c...@rock-chips.com>
The RK3399 SoC integrates two USB/DP combo PHYs, each of which
supports software-configurable pin mapping and DisplayPort lane
assignment. These capabilities enable the PHY itself to handle both
mode switching and orientation switching, based on the Type-C plug
orientation and USB PD negotiation results.
While an external Type-C controller is still required to detect cable
attachment and report USB PD events, the actual mode and orientation
switching is performed internally by the PHY through software
configuration. This allows the PHY to act as a Type-C multiplexer for
both data role and DP altmode configuration.
To reflect this hardware design, this patch introduces a new
"mode-switch" property for the dp-port node in the device tree bindings.
This property indicates that the connected PHY is capable of handling
Type-C mode switching itself.
Signed-off-by: Chaoyi Chen <chaoyi.c...@rock-chips.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlow...@linaro.org>
---
Changes in v4:
- Remove "|" in description.
Changes in v3:
- Add more descriptions to clarify the role of the PHY in switching.
Changes in v2:
- Reuse dp-port/usb3-port in rk3399-typec-phy binding.
.../devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git
a/Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml
b/Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml
index 91c011f68cd0..83ebcde096ea 100644
--- a/Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml
@@ -51,6 +51,12 @@ properties:
'#phy-cells':
const: 0
+ mode-switch:
Having the mode-switch here is a bit strange. I think the whole PHY
device should be an orientation-switch and mode-switch. Otherwise it
feels weird to me.
I think this is a difference in practice. In the previous binding, there was
already an orientation-switch under the usb-port. I trying to add both an
orientation-switch and a mode-switch to the top-level device in v2. AndÂ
Krzysztof reminded me that adding a mode-switch under the dp-port would be
better, so I changed it to the current form :)
I couldn't find the comment on lore. Could you please point it out?
Sorry, it is v1. I added an orientation-switch and a mode-switch in the
top-level PHY [0]. Comment is here: [1]
[0] https://lore.kernel.org/all/20250715112456.101-4-ker...@airkyi.com/
[1] https://lore.kernel.org/all/4dfed94c-665d-4e04-b527-ddd34fd3d...@kernel.org/
+ description:
+ Indicates the PHY can handle altmode switching. In this case,
+ requires an external USB Type-C controller to report USB PD message.
+ type: boolean
+
port:
$ref: /schemas/graph.yaml#/properties/port
description: Connection to USB Type-C connector
--
2.49.0
--
Best,
Chaoyi
--
Best,
Chaoyi