Re: [PATCH v6 09/10] arm64: dts: rockchip: Enable DisplayPort for rk3588s Cool Pi 4B
From: Sebastian Reichel <hidden>
Date: 2025-08-15 18:01:14
Also in:
dri-devel, linux-devicetree, linux-rockchip, lkml
Hi, On Thu, Jul 31, 2025 at 10:52:49AM +0800, Andy Yan wrote:
Hello Sebastian, 在 2025-07-30 20:15:44,"Andy Yan" [off-list ref] 写道:quoted
Hello Sebastian, At 2025-07-30 01:09:41, "Sebastian Reichel" [off-list ref] wrote:quoted
Hi, On Mon, Jul 28, 2025 at 04:28:34PM +0800, Andy Yan wrote:quoted
From: Andy Yan <andy.yan@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.yan@rock-chips.com> Reviewed-by: Dmitry Baryshkov <redacted> ---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.Some updates: After comment out pd-version(Your previous DTS didn't include this property.) on linux 6.16[2] //pd-revision = /bits/ 8 <0x2 0x0 0x1 0x2>; The USB-C Alt Mode output can work as before。 I still have relatively limited knowledge about USB-C, so I hope to hear more of your opinions.
I got a bit distracted by some regressions introduced during the merge window. It does not really make sense, that limiting the pd-revision breaks DP AltMode. I did get it working once, but I think there is some race condition involved in the USB-PD area. I'm pretty sure this is in the USB-C PD/AltMode handling and thus more or less independent of this series. Also my question regarding the proper DT binding effectively affects the USBDP PHY binding, so I'm fine to see this series merged (It looks like all necessary Reviewed-by have been collected) and having a closer look at the USBDP PHY binding separately in the next step. Greetings, -- Sebastian
quoted
[0]https://github.com/andyshrk/linux/commit/b9f87a562d431fb59b664b7aed41869a8f184de3 [1]https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/commit/0e7e90494482cf77d5bb058a47583b6747b140f4[2]https://github.com/andyshrk/linux/tree/rk3588-dp-upstream-v6quoted
quoted
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, -- Sebastianquoted
(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_______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip
Attachments
- signature.asc [application/pgp-signature] 833 bytes