From: Andy Yan <andy.yan@rock-chips.com>
The HDMI Port next to Headphone Jack is drived by
DP1 on rk3588 via a dp2hdmi converter.
Add related dt nodes to enable it.
Note: ROCKCHIP_VOP2_EP_DP1 is defined as 11 in dt-binding header,
but it will trigger a dtc warning like "graph node unit address
error, expected "b"" if we use it directly after endpoint, so we
use "b" instead here.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---
(no changes since v1)
.../boot/dts/rockchip/rk3588-rock-5-itx.dts | 37 +++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
index 67b886329248..29f10ec9f0c1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
@@ -57,6 +57,18 @@ analog-sound {
"Headphone", "Headphones";
};
+ dp-con {
+ compatible = "dp-connector";
+ label = "DP OUT";
+ type = "full-size";
+
+ port {
+ dp_con_in: endpoint {
+ remote-endpoint = <&dp1_out_con>;
+ };
+ };
+ };
+
gpio-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -268,6 +280,24 @@ &cpu_l3 {
cpu-supply = <&vdd_cpu_lit_s0>;
};
+&dp1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&dp1m0_pins>;
+};
+
+&dp1_in {
+ dp1_in_vp2: endpoint {
+ remote-endpoint = <&vp2_out_dp1>;
+ };
+};
+
+&dp1_out {
+ dp1_out_con: endpoint {
+ remote-endpoint = <&dp_con_in>;
+ };
+};
+
&gpu {
mali-supply = <&vdd_gpu_s0>;
status = "okay";
@@ -1262,3 +1292,10 @@ vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
remote-endpoint = <&hdmi1_in_vp1>;
};
};
+
+&vp2 {
+ vp2_out_dp1: endpoint@b {
+ reg = <ROCKCHIP_VOP2_EP_DP1>;
+ remote-endpoint = <&dp1_in_vp2>;
+ };
+};
--
2.34.1
On Wed, Mar 12, 2025 at 06:42:08PM +0800, Andy Yan wrote:
> From: Andy Yan <andy.yan@rock-chips.com>
>
> The HDMI Port next to Headphone Jack is drived by
> DP1 on rk3588 via a dp2hdmi converter.
>
> Add related dt nodes to enable it.
>
> Note: ROCKCHIP_VOP2_EP_DP1 is defined as 11 in dt-binding header,
> but it will trigger a dtc warning like "graph node unit address
> error, expected "b"" if we use it directly after endpoint, so we
> use "b" instead here.
>
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> ---
>
> (no changes since v1)
>
> .../boot/dts/rockchip/rk3588-rock-5-itx.dts | 37 +++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
> index 67b886329248..29f10ec9f0c1 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
> @@ -57,6 +57,18 @@ analog-sound {
> "Headphone", "Headphones";
> };
>
> + dp-con {
> + compatible = "dp-connector";
You've written that it is an HDMI connector. Could you possibly clarify,
why is it being registered as a DP connector? Is there any kind of
a bridge between the DP controller and the HDMI connector?
> + label = "DP OUT";
> + type = "full-size";
> +
> + port {
> + dp_con_in: endpoint {
> + remote-endpoint = <&dp1_out_con>;
> + };
> + };
> + };
> +
> gpio-leds {
> compatible = "gpio-leds";
> pinctrl-names = "default";
> @@ -268,6 +280,24 @@ &cpu_l3 {
> cpu-supply = <&vdd_cpu_lit_s0>;
> };
>
> +&dp1 {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&dp1m0_pins>;
> +};
> +
> +&dp1_in {
> + dp1_in_vp2: endpoint {
> + remote-endpoint = <&vp2_out_dp1>;
> + };
> +};
> +
> +&dp1_out {
> + dp1_out_con: endpoint {
> + remote-endpoint = <&dp_con_in>;
> + };
> +};
> +
> &gpu {
> mali-supply = <&vdd_gpu_s0>;
> status = "okay";
> @@ -1262,3 +1292,10 @@ vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
> remote-endpoint = <&hdmi1_in_vp1>;
> };
> };
> +
> +&vp2 {
> + vp2_out_dp1: endpoint@b {
> + reg = <ROCKCHIP_VOP2_EP_DP1>;
> + remote-endpoint = <&dp1_in_vp2>;
> + };
> +};
> --
> 2.34.1
>
--
With best wishes
Dmitry
Hi Dmitry,
At 2025-03-12 20:39:17, "Dmitry Baryshkov" <lumag@kernel.org> wrote:
>On Wed, Mar 12, 2025 at 06:42:08PM +0800, Andy Yan wrote:
>> From: Andy Yan <andy.yan@rock-chips.com>
>>
>> The HDMI Port next to Headphone Jack is drived by
>> DP1 on rk3588 via a dp2hdmi converter.
>>
>> Add related dt nodes to enable it.
>>
>> Note: ROCKCHIP_VOP2_EP_DP1 is defined as 11 in dt-binding header,
>> but it will trigger a dtc warning like "graph node unit address
>> error, expected "b"" if we use it directly after endpoint, so we
>> use "b" instead here.
>>
>> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
>> ---
>>
>> (no changes since v1)
>>
>> .../boot/dts/rockchip/rk3588-rock-5-itx.dts | 37 +++++++++++++++++++
>> 1 file changed, 37 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
>> index 67b886329248..29f10ec9f0c1 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
>> @@ -57,6 +57,18 @@ analog-sound {
>> "Headphone", "Headphones";
>> };
>>
>> + dp-con {
>> + compatible = "dp-connector";
>
>You've written that it is an HDMI connector. Could you possibly clarify,
>why is it being registered as a DP connector? Is there any kind of
>a bridge between the DP controller and the HDMI connector?
When I was preparing this patch at that time, I also had some doubts.
Whether it should be registered as a DP connector or an HDMI connector.
There is a DP2HDMI conversion chip between the DP of RK3588 and this hdmi
interface, but this conversion chip does not require a software driver.
If the current writing is incorrect, I will change it to hdmi-connector in the next version.
Thanks
>
>> + label = "DP OUT";
>> + type = "full-size";
>> +
>> + port {
>> + dp_con_in: endpoint {
>> + remote-endpoint = <&dp1_out_con>;
>> + };
>> + };
>> + };
>> +
>> gpio-leds {
>> compatible = "gpio-leds";
>> pinctrl-names = "default";
>> @@ -268,6 +280,24 @@ &cpu_l3 {
>> cpu-supply = <&vdd_cpu_lit_s0>;
>> };
>>
>> +&dp1 {
>> + status = "okay";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&dp1m0_pins>;
>> +};
>> +
>> +&dp1_in {
>> + dp1_in_vp2: endpoint {
>> + remote-endpoint = <&vp2_out_dp1>;
>> + };
>> +};
>> +
>> +&dp1_out {
>> + dp1_out_con: endpoint {
>> + remote-endpoint = <&dp_con_in>;
>> + };
>> +};
>> +
>> &gpu {
>> mali-supply = <&vdd_gpu_s0>;
>> status = "okay";
>> @@ -1262,3 +1292,10 @@ vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
>> remote-endpoint = <&hdmi1_in_vp1>;
>> };
>> };
>> +
>> +&vp2 {
>> + vp2_out_dp1: endpoint@b {
>> + reg = <ROCKCHIP_VOP2_EP_DP1>;
>> + remote-endpoint = <&dp1_in_vp2>;
>> + };
>> +};
>> --
>> 2.34.1
>>
>
>--
>With best wishes
>Dmitry
On Thu, Mar 13, 2025 at 08:32:55AM +0800, Andy Yan wrote:
>
> Hi Dmitry,
>
> At 2025-03-12 20:39:17, "Dmitry Baryshkov" <lumag@kernel.org> wrote:
> >On Wed, Mar 12, 2025 at 06:42:08PM +0800, Andy Yan wrote:
> >> From: Andy Yan <andy.yan@rock-chips.com>
> >>
> >> The HDMI Port next to Headphone Jack is drived by
> >> DP1 on rk3588 via a dp2hdmi converter.
> >>
> >> Add related dt nodes to enable it.
> >>
> >> Note: ROCKCHIP_VOP2_EP_DP1 is defined as 11 in dt-binding header,
> >> but it will trigger a dtc warning like "graph node unit address
> >> error, expected "b"" if we use it directly after endpoint, so we
> >> use "b" instead here.
> >>
> >> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> >> ---
> >>
> >> (no changes since v1)
> >>
> >> .../boot/dts/rockchip/rk3588-rock-5-itx.dts | 37 +++++++++++++++++++
> >> 1 file changed, 37 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
> >> index 67b886329248..29f10ec9f0c1 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
> >> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
> >> @@ -57,6 +57,18 @@ analog-sound {
> >> "Headphone", "Headphones";
> >> };
> >>
> >> + dp-con {
> >> + compatible = "dp-connector";
> >
> >You've written that it is an HDMI connector. Could you possibly clarify,
> >why is it being registered as a DP connector? Is there any kind of
> >a bridge between the DP controller and the HDMI connector?
>
> When I was preparing this patch at that time, I also had some doubts.
> Whether it should be registered as a DP connector or an HDMI connector.
> There is a DP2HDMI conversion chip between the DP of RK3588 and this hdmi
> interface, but this conversion chip does not require a software driver.
> If the current writing is incorrect, I will change it to hdmi-connector in the next version.
Yes. Please add the RA620 chip to simple-bridge.c and simple-bridge.yaml
and use HDMI connector here.
>
> Thanks
> >
> >> + label = "DP OUT";
> >> + type = "full-size";
> >> +
> >> + port {
> >> + dp_con_in: endpoint {
> >> + remote-endpoint = <&dp1_out_con>;
> >> + };
> >> + };
> >> + };
> >> +
> >> gpio-leds {
> >> compatible = "gpio-leds";
> >> pinctrl-names = "default";
> >> @@ -268,6 +280,24 @@ &cpu_l3 {
> >> cpu-supply = <&vdd_cpu_lit_s0>;
> >> };
> >>
> >> +&dp1 {
> >> + status = "okay";
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&dp1m0_pins>;
> >> +};
> >> +
> >> +&dp1_in {
> >> + dp1_in_vp2: endpoint {
> >> + remote-endpoint = <&vp2_out_dp1>;
> >> + };
> >> +};
> >> +
> >> +&dp1_out {
> >> + dp1_out_con: endpoint {
> >> + remote-endpoint = <&dp_con_in>;
> >> + };
> >> +};
> >> +
> >> &gpu {
> >> mali-supply = <&vdd_gpu_s0>;
> >> status = "okay";
> >> @@ -1262,3 +1292,10 @@ vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
> >> remote-endpoint = <&hdmi1_in_vp1>;
> >> };
> >> };
> >> +
> >> +&vp2 {
> >> + vp2_out_dp1: endpoint@b {
> >> + reg = <ROCKCHIP_VOP2_EP_DP1>;
> >> + remote-endpoint = <&dp1_in_vp2>;
> >> + };
> >> +};
> >> --
> >> 2.34.1
> >>
> >
> >--
> >With best wishes
> >Dmitry
--
With best wishes
Dmitry
© 2016 - 2025 Red Hat, Inc.