Re: [PATCH v8 10/10] arm64: dts: rockchip: rk3399-evb-ind: Add support for DisplayPort
From: Peter Chen <hidden>
Date: 2025-10-30 06:13:33
Also in:
dri-devel, linux-devicetree, linux-phy, linux-rockchip, linux-usb, lkml
On Thu, Oct 30, 2025 at 11:14 AM Chaoyi Chen [off-list ref] wrote:
On 10/30/2025 10:50 AM, Peter Chen wrote:quoted
quoted
quoted
Okay. My question is basic: USB2 PHY supplies DP/DM, and the DP/DM is short for Type-C connector, and no control is needed for Type-C application. Why is there a remote-endpoint connection between USB2 PHY and Type-C connector?From the perspective of Type-C, this should not be added. Is the approach in v2 correct [0] ?Have you tried debugging based on upstream code?Yes, I have tried both the v2 and v8 approaches, and both can work.quoted
v2 is correct, but the dts needs to improve. - There is a remote-endpoint connection for USB role switch between Type-C connector device and USB controller device - There is a remote-endpoint connection for orientation and lane configuration between Type-C connector device and USB/DP PHY device.In v8 patch5, we implemented typec_mux and typec_switch in the USB/DP PHY. I think the current remote-endpoint connections are all child node of the USB/DP PHY. That is: &tcphy0_dp { mode-switch; ... }; &tcphy0_usb3 { orientation-switch; ... }; Does this still need to be improved? Thank you.
Hi Chaoyi, There are two questions I have still not seen the answer to: - Why USB2 PHY is related to your Type-C patch? - How does the USB role switch event notify the USB controller driver, eg dwc3? Peter
quoted
Peterquoted
[0]: https://lore.kernel.org/all/20250715112456.101-6-kernel@airkyi.com/ (local) Or is the following approach correct? port@0 { reg = <0>; usbc_hs: endpoint { remote-endpoint = <&tcphy0>; }; }; port@1 { reg = <1>; usbc_ss: endpoint { remote-endpoint = <&tcphy0>; }; }; port@2 { reg = <2>; usbc_dp: endpoint { remote-endpoint = <&tcphy0_typec_dp>; }; };quoted
quoted
quoted
quoted
quoted
+ port@1 { + reg = <1>; + + usbc_ss: endpoint { + remote-endpoint = <&tcphy0_typec_ss>; + }; + }; + + port@2 { + reg = <2>; + + usbc_dp: endpoint { + remote-endpoint = <&tcphy0_typec_dp>; + }; + }; + }; + }; + }; +}; +.....quoted
&u2phy0 { status = "okay"; + + port { + u2phy0_typec_hs: endpoint { + remote-endpoint = <&usbc_hs>; + }; + }; };There is no switch and mux, how to co-work with Type-C?I checked the phy-rockchip-inno-usb2.c but did not find any switch or mux. Does this mean that we need to implement them? Thank you.Wait a minute, actually we have multiple hardware interfaces, one of which is Type-C, eventually connected to USBDPPHY, and the other is micro-usb connected to U2PHY.I assume the Micro-USB connector does not use Type-C/PD IC, is it right? Does it relate to this patch? Best regards, Peter-- Best, Chaoyi