[PATCH v6 09/10] arm64: dts: rockchip: Enable DisplayPort for rk3588s Cool Pi 4B
Sebastian Reichel
sebastian.reichel at collabora.com
Fri Aug 15 11:00:35 PDT 2025
Hi,
On Thu, Jul 31, 2025 at 10:52:49AM +0800, Andy Yan wrote:
>
> Hello Sebastian,
>
> 在 2025-07-30 20:15:44,"Andy Yan" <andyshrk at 163.com> 写道:
> >
> >
> >Hello Sebastian,
> >
> >At 2025-07-30 01:09:41, "Sebastian Reichel" <sebastian.reichel at collabora.com> wrote:
> >>Hi,
> >>
> >>On Mon, Jul 28, 2025 at 04:28:34PM +0800, Andy Yan wrote:
> >>> From: Andy Yan <andy.yan at 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 at rock-chips.com>
> >>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at 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.
>
> 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
>
>
> >
> >
> >
> >[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-v6
>
> >>
> >>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 at ROCKCHIP_VOP2_EP_HDMI0 {
> >>> remote-endpoint = <&hdmi0_in_vp0>;
> >>> };
> >>> };
> >>> +
> >>> +&vp2 {
> >>> + vp2_out_dp0: endpoint at a {
> >>> + reg = <ROCKCHIP_VOP2_EP_DP0>;
> >>> + remote-endpoint = <&dp0_in_vp2>;
> >>> + };
> >>> +};
> >>> --
> >>> 2.43.0
> >>>
> >_______________________________________________
> >Linux-rockchip mailing list
> >Linux-rockchip at lists.infradead.org
> >http://lists.infradead.org/mailman/listinfo/linux-rockchip
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20250815/a71befca/attachment.sig>
More information about the linux-arm-kernel
mailing list