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
>> 

Reply via email to