[PATCH UNTESTED 3/4] arm64: dts: rockchip: Enable HDMI1 on Orange Pi 5 Plus
Ondřej Jirman
megi at xff.cz
Fri Feb 28 03:15:02 PST 2025
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 at xff.cz>
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 at gmail.com>
> ---
> .../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 at ROCKCHIP_VOP2_EP_HDMI0 {
> remote-endpoint = <&hdmi0_in_vp0>;
> };
> };
> +
> +&vp1 {
> + vp1_out_hdmi1: endpoint at ROCKCHIP_VOP2_EP_HDMI1 {
> + reg = <ROCKCHIP_VOP2_EP_HDMI1>;
> + remote-endpoint = <&hdmi1_in_vp1>;
> + };
> +};
> --
> 2.48.1
>
More information about the Linux-rockchip
mailing list