Re: [PATCH UNTESTED 3/4] arm64: dts: rockchip: Enable HDMI1 on Orange Pi 5 Plus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Jimmy,

On Thu, Feb 27, 2025 at 05:56:22PM -0600, Jimmy Hon wrote:
> Enable the second HDMI output port on the Orange Pi 5 Plus

RK3588 hardware design guide states that:

  - When working in HDMI2.1 mode, HDMI0_TX_ON_H is configured as low level,
    Q1700, Q1701, Q1702, and Q1703 are not turned on.
  
  - When working in HDMI2.0 and below modes, HDMI0_TX_ON_H is configured as high
    level, Q5007, Q5004, Q5005, and Q5006 are turned on, and the 499ohm resistor
    to ground and the 50ohm pull-up resistor at the Sink end form a DC bias of
    about 3V.
  
  If you only need to support HDMI2.0 and below modes, Q5007, Q5004, Q5005, and
  Q5006 cannot be omitted. It is necessary to ensure that the tube is not turned
  on when the machine is not turned on, because the HDMI CTS Test ID 7-3 TMDS
  Voff test item requires that the Voff voltage must be within AVcc+-10mV when
  the DUT is not powered on, otherwise this test item cannot pass. 2: The Coss
  of the control MOS tube cannot be too large, otherwise it will affect the
  signal quality. It is recommended to follow the reference figure model or the
  corresponding Coss value.

And Orange Pi 5 schematic (which has almost the same circuit as Plus variant)
states this explicitely too:

  https://megous.com/dl/tmp/5dc98e91dfee3b5a.png

The same applies to HDMI1.

Maybe it would be better to pull up HDMI1_TX_ON_H more explicitely for now via:

&hdmi1 {
+ pinctrl-0 = <&hdmim2_tx1_cec &hdmim0_tx1_hpd
+              &hdmim1_tx1_scl &hdmim1_tx1_sda
+              &hdmi1_tx_on_h>;
};

&pinctrl {
...
+ hdmi {
+         hdmi1_tx_on_h: hdmi1-tx-on-h {
+                 rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
+         };
+ };
...
};

AFAIK FRL is not supported, yet, so this may be a better default for HDMI1_TX_ON_H.

In any case,

Reviewed-by: Ondrej Jirman <megi@xxxxxx>


And I've also tested and used identical patch for a few weeks already on my
Orange Pi 5+. :)

Kind regards,
	o.

> Signed-off-by: Jimmy Hon <honyuenkwun@xxxxxxxxx>
> ---
>  .../dts/rockchip/rk3588-orangepi-5-plus.dts   | 38 +++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
> index 0f874b87b47e..53797f633d3a 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts
> @@ -26,6 +26,17 @@ hdmi0_con_in: endpoint {
>  		};
>  	};
>  
> +	hdmi1-con {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi1_con_in: endpoint {
> +				remote-endpoint = <&hdmi1_out_con>;
> +			};
> +		};
> +	};
> +
>  	ir-receiver {
>  		compatible = "gpio-ir-receiver";
>  		gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
> @@ -125,10 +136,30 @@ hdmi0_out_con: endpoint {
>  	};
>  };
>  
> +&hdmi1 {
> +	status = "okay";
> +};
> +
> +&hdmi1_in {
> +	hdmi1_in_vp1: endpoint {
> +		remote-endpoint = <&vp1_out_hdmi1>;
> +	};
> +};
> +
> +&hdmi1_out {
> +	hdmi1_out_con: endpoint {
> +		remote-endpoint = <&hdmi1_con_in>;
> +	};
> +};
> +
>  &hdptxphy0 {
>  	status = "okay";
>  };
>  
> +&hdptxphy1 {
> +	status = "okay";
> +};
> +
>  &hym8563 {
>  	interrupt-parent = <&gpio0>;
>  	interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
> @@ -342,3 +373,10 @@ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
>  		remote-endpoint = <&hdmi0_in_vp0>;
>  	};
>  };
> +
> +&vp1 {
> +	vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
> +		reg = <ROCKCHIP_VOP2_EP_HDMI1>;
> +		remote-endpoint = <&hdmi1_in_vp1>;
> +	};
> +};
> -- 
> 2.48.1
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux