Skip to contentSkip to conversation

Enable HDMI Receiver on NanoPC-T6

PATCH Applied Marcin Juszkiewicz 3 participants 4 messages Sep 5, 2025 – Sep 7, 2025

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover Enable HDMI Receiver on NanoPC-T6

For quite a while I had this patch in my local tree but never made it work. Kernel generates the following messages all the time:

fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock, tmds_clk_ratio:0 fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x2, scdc_st:0x0, dma_st10:0x10

"v4l2-ctrl --all" reports that HDMI In is detected, /dev/video[0-4] exist.

I tried two signal sources:
- AMD Radeon WX2100 (via passive DisplayPort -> HDMI adapter)
- AMD Radeon RX6700XT (HDMI port)

Same situation with both - kernel messages as above on RK3588 system, no connected monitor on host side.

Usually I used MPlayer or MPV to check v4l2 devices but here it fails too:

$ mpv av://v4l2:/dev/video3
[ffmpeg/demuxer] video4linux2,v4l2: Not a video capture device.
[lavf] avformat_open_input() failed
Failed to recognize file format.
Exiting... (Errors when loading file)

Checked SBC schematics again and HDMIIRX_DET_L line is GPIO1_D5 like it my patch.

What I go wrong?

Marcin Juszkiewicz (1):
arm64: dts: rockchip: enable HDMI Receiver on NanoPC T6

 .../boot/dts/rockchip/rk3588-nanopc-t6.dtsi     | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
Signature · 1 line
2.51.0
#1 lore raw

PATCH 1/1 arm64: dts: rockchip: enable HDMI Receiver on NanoPC T6

Let enable HDMI input port.

---
 .../boot/dts/rockchip/rk3588-nanopc-t6.dtsi     | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi +17 -0
index e359d74f20885..6fe151d2cdb45 100644
@@ -391,6 +391,17 @@ &hdmi1_sound {
 	status = "okay";
 };
 
+&hdmi_receiver_cma {
+	status = "okay";
+};
+
+&hdmi_receiver {
+	hpd-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
+	pinctrl-0 = <&hdmim1_rx_cec &hdmim1_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda &hdmirx_hpd>;
+	pinctrl-names = "default";
+	status = "okay";
+};
+
 &hdptxphy0 {
 	status = "okay";
 };
@@ -629,6 +640,12 @@ usr_led_pin: usr-led-pin {
 		};
 	};
 
+	hdmirx {
+		hdmirx_hpd: hdmirx-5v-detection {
+			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
 	headphone {
 		hp_det: hp-det {
 			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
Signature · 1 line
2.51.0
maintainer Applied
#2 lore raw
In reply to Marcin Juszkiewicz
Quoted 10 lines · Marcin Juszkiewicz

For quite a while I had this patch in my local tree but never made it work. Kernel generates the following messages all the time:

fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock, tmds_clk_ratio:0 fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x2, scdc_st:0x0, dma_st10:0x10

"v4l2-ctrl --all" reports that HDMI In is detected, /dev/video[0-4] exist.

[...]

Applied, thanks!

[1/1] arm64: dts: rockchip: enable HDMI Receiver on NanoPC T6

      commit: fdab01864390db7ef0bea28804c7a3147dc0a386

Best regards,

Signature · 1 line
Heiko Stuebner <[email protected]>
#3 lore raw
In reply to Marcin Juszkiewicz
Quoted 26 lines · Marcin Juszkiewicz

For quite a while I had this patch in my local tree but never made it work. Kernel generates the following messages all the time:

fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock, tmds_clk_ratio:0 fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x2, scdc_st:0x0, dma_st10:0x10

"v4l2-ctrl --all" reports that HDMI In is detected, /dev/video[0-4] exist.

I tried two signal sources:
- AMD Radeon WX2100 (via passive DisplayPort -> HDMI adapter)
- AMD Radeon RX6700XT (HDMI port)

Same situation with both - kernel messages as above on RK3588 system, no connected monitor on host side.

Usually I used MPlayer or MPV to check v4l2 devices but here it fails too:

$ mpv av://v4l2:/dev/video3
[ffmpeg/demuxer] video4linux2,v4l2: Not a video capture device.
[lavf] avformat_open_input() failed
Failed to recognize file format.
Exiting... (Errors when loading file)
Quoted 4 lines

Checked SBC schematics again and HDMIIRX_DET_L line is GPIO1_D5 like it my patch.

What I go wrong?

Hi, your trouble with HDMI capture sounds very similar to [1]. Make sure you're using opensource ATF and check whether capture works using v4l2-ctl tool, see replies to [1]. Post a full kernel driver log if problem will persist.

[1]
https://lore.kernel.org/linux-media/[email protected]/

Signature · 2 lines
Best regards,
Dmitry