Hello Sebastian,
At 2025-07-30 01:09:41, "Sebastian Reichel" <sebastian.reic...@collabora.com> wrote: >Hi, > >On Mon, Jul 28, 2025 at 04:28:34PM +0800, Andy Yan wrote: >> From: Andy Yan <andy....@rock-chips.com> >> >> Enable the Mini DisplayPort on this board. >> Note that ROCKCHIP_VOP2_EP_DP0 is defined as 10 in dt-binding header, >> but it will trigger a dtc warning like "graph node unit address error, >> expected "a"" if we use it directly after endpoint, so we use "a" >> instead here. >> >> Signed-off-by: Andy Yan <andy....@rock-chips.com> >> Reviewed-by: Dmitry Baryshkov <dmitry.barysh...@oss.qualcomm.com> >> --- > >The graph currently looks like this: > >VOP <-> DP controller <-> DP Connector > >IIUIC this does not work for USB-C and needs to look like this, >because the USBDP PHY handles the lane muxing and thus must be >the thing connected to the USB-C controller/connector: I previously tests USB-C Altmode on Linux 5.15 using Rock 5b, this function works well. However, when the same dts configuration is used on Linux 6.16 and tested with Rock 5b in USB-C Altmode, the HPD interrupt of DP cannot be triggered. I'm not sure yet what changes have occurred between them. Moreover, I noticed that on your test branch[1], the DTS configuration has also changed compared to before. I would greatly appreciate it if you could share some details. [0]https://github.com/andyshrk/linux/commit/b9f87a562d431fb59b664b7aed41869a8f184de3 [1]https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/commit/0e7e90494482cf77d5bb058a47583b6747b140f4 > >VOP <-> DP controller <-> USBDP PHY <-> USB-C Connector > >I wonder if the simple case not involving USB-C should also have >the USBDP PHY described in the graph as a transparent bridge? >Note, that the USBDP PHY DT binding is currently not ready for >this (this also affects the next patch, but should be enough to >discuss this once :)). > >Greetings, > >-- Sebastian > >> >> (no changes since v2) >> >> Changes in v2: >> - Sort in alphabetical order >> >> .../boot/dts/rockchip/rk3588s-coolpi-4b.dts | 37 +++++++++++++++++++ >> 1 file changed, 37 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts >> b/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts >> index 8b717c4017a46..5393c6cc493c3 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts >> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts >> @@ -39,6 +39,18 @@ chosen { >> stdout-path = "serial2:1500000n8"; >> }; >> >> + dp-con { >> + compatible = "dp-connector"; >> + label = "DP OUT"; >> + type = "mini"; >> + >> + port { >> + dp_con_in: endpoint { >> + remote-endpoint = <&dp0_out_con>; >> + }; >> + }; >> + }; >> + >> hdmi-con { >> compatible = "hdmi-connector"; >> type = "d"; >> @@ -215,6 +227,24 @@ &cpu_b2 { >> cpu-supply = <&vdd_cpu_big1_s0>; >> }; >> >> +&dp0 { >> + status = "okay"; >> + pinctrl-0 = <&dp0m0_pins>; >> + pinctrl-names = "default"; >> +}; >> + >> +&dp0_in { >> + dp0_in_vp2: endpoint { >> + remote-endpoint = <&vp2_out_dp0>; >> + }; >> +}; >> + >> +&dp0_out { >> + dp0_out_con: endpoint { >> + remote-endpoint = <&dp_con_in>; >> + }; >> +}; >> + >> &gpu { >> mali-supply = <&vdd_gpu_s0>; >> status = "okay"; >> @@ -889,3 +919,10 @@ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { >> remote-endpoint = <&hdmi0_in_vp0>; >> }; >> }; >> + >> +&vp2 { >> + vp2_out_dp0: endpoint@a { >> + reg = <ROCKCHIP_VOP2_EP_DP0>; >> + remote-endpoint = <&dp0_in_vp2>; >> + }; >> +}; >> -- >> 2.43.0 >>