From: Chris Morgan <[email protected]>

Add support for the HDMI port for the Gameforce Ace. The HDMI port
has no HPD pin present (the manufacturer's devicetree states the pin
is reused for an additional face button) so add the attribute of
no_hpd to poll for connected devices.

Signed-off-by: Chris Morgan <[email protected]>
---
 .../dts/rockchip/rk3588s-gameforce-ace.dts    | 63 +++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts 
b/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
index f5894672fcbd..b98e1a3369dc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
@@ -300,6 +300,20 @@ amp_headphone: headphone-amplifier {
                sound-name-prefix = "Headphones Amplifier";
        };
 
+       hdmi0-con {
+               compatible = "hdmi-connector";
+               ddc-en-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&hdmi0_en>;
+               pinctrl-names = "default";
+               type = "d";
+
+               port {
+                       hdmi0_con_in: endpoint {
+                               remote-endpoint = <&hdmi0_out_con>;
+                       };
+               };
+       };
+
        pwm_fan: pwm-fan {
                compatible = "pwm-fan";
                #cooling-cells = <2>;
@@ -498,6 +512,34 @@ &gpu {
        status = "okay";
 };
 
+&hdmi0 {
+       no-hpd;
+       pinctrl-0 = <&hdmim0_tx0_cec>, <&hdmim0_tx0_scl>,
+                   <&hdmim0_tx0_sda>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&hdmi0_in {
+       hdmi0_in_vp0: endpoint {
+               remote-endpoint = <&vp0_out_hdmi0>;
+       };
+};
+
+&hdmi0_out {
+       hdmi0_out_con: endpoint {
+               remote-endpoint = <&hdmi0_con_in>;
+       };
+};
+
+&hdmi0_sound {
+       status = "okay";
+};
+
+&hdptxphy0 {
+       status = "okay";
+};
+
 &i2c0 {
        pinctrl-0 = <&i2c0m2_xfer>;
        pinctrl-names = "default";
@@ -746,6 +788,10 @@ &i2s0_sdi0
        status = "okay";
 };
 
+&i2s5_8ch {
+       status = "okay";
+};
+
 &mipidcphy0 {
        status = "okay";
 };
@@ -842,6 +888,13 @@ charger_int_h: charger-int-h {
                };
        };
 
+       hdmi {
+               hdmi0_en: hdmi0-en {
+                       rockchip,pins =
+                               <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                hym8563_int: hym8563-int {
                        rockchip,pins =
@@ -1416,6 +1469,16 @@ &vop_mmu {
        status = "okay";
 };
 
+&vp0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
+               reg = <ROCKCHIP_VOP2_EP_HDMI0>;
+               remote-endpoint = <&hdmi0_in_vp0>;
+       };
+};
+
 &vp3 {
        #address-cells = <1>;
        #size-cells = <0>;
-- 
2.43.0

Reply via email to