From: Andy Yan <andy....@rock-chips.com>

The HDMI0(Port next to Headphone Jack) is drived by DP1 on rk3588
via RA620(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....@rock-chips.com>

---

Changes in v3:
- Add RA620 into bridge chain.

 .../boot/dts/rockchip/rk3588-rock-5-itx.dts   | 59 +++++++++++++++++++
 1 file changed, 59 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 67b8863292487..bb61633a5b995 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,29 @@ analog-sound {
                          "Headphone", "Headphones";
        };
 
+       bridge {
+               compatible = "radxa,ra620";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       port@0 {
+                               reg = <0>;
+                               hdmi_bridge_in: endpoint {
+                                       remote-endpoint = <&dp1_out_con>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               hdmi_bridge_out: endpoint {
+                                       remote-endpoint = <&hdmi_con_in>;
+                               };
+                       };
+               };
+       };
+
        gpio-leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
@@ -73,6 +96,17 @@ hdd-led2 {
                };
        };
 
+       hdmi0-con {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_bridge_out>;
+                       };
+               };
+       };
+
        hdmi1-con {
                compatible = "hdmi-connector";
                type = "a";
@@ -268,6 +302,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 = <&hdmi_bridge_in>;
+       };
+};
+
 &gpu {
        mali-supply = <&vdd_gpu_s0>;
        status = "okay";
@@ -1262,3 +1314,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.43.0

Reply via email to