[PATCH 00/40] arm64: dts: rockchip: Wire up frl-enable-gpios for RK3576/RK3588 boards

Cristian Ciocaltea
2026-04-17T09:25:09Z

Several boards based on the RK3576 and RK3588(S) SoCs use a
GPIO-controlled voltage bias circuit on the HDMI data lines that must be
switched according to the active link mode: asserted for HDMI 2.1 FRL
and deasserted for HDMI 1.4/2.0 TMDS.

This series adds the frl-enable-gpios property to the HDMI nodes of all
boards for which the GPIO configuration could be identified from vendor
BSP kernel sources and/or schematics where available. In a small number
of cases it was necessary to extract and disassemble the DTB from the
vendor firmware image.

One board remains unhandled (rk3588-edgeble-neu6a-io), pending
clarification from the vendor.

For each affected board the patches:
- set frl-enable-gpios with the appropriate GPIO reference and
GPIO_ACTIVE_LOW polarity (inverted relative to the BSP enable-gpios /
GPIO_ACTIVE_HIGH convention, which effectively acts as
tmds-enable-gpios)
- extend pinctrl-0 of the HDMI node to include the new pin group
- add the corresponding pinctrl definition under &pinctrl

It's worth noting the Rockchip platform glue driver for the DesignWare
HDMI QP TX controller already drives the frl-enable GPIO, but since FRL
is not yet supported, TMDS mode is unconditionally selected. This
ensures a consistent setup independent of hardware reset defaults and
bootloader state.

Furthermore, this allows removing a few DT quirks hardcoding the active
link mode and paves the way for a follow-up series enabling HDMI 2.1 FRL
support.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
Cristian Ciocaltea (40):
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-100ask-dshanpi-a1
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-armsom-sige5
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-evb1-v10
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-evb2-v10
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-luckfox-core3576
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-nanopi-m5
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-nanopi-r76s
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-roc-pc
arm64: dts: rockchip: Add frl-enable-gpios to rk3576-rock-4d
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-armsom-sige7
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-armsom-w3
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-coolpi-cm5-evb
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-coolpi-cm5-genbook
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-evb1-v10
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-evb2-v10
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-firefly-itx-3588j
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-friendlyelec-cm3588-nas
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-h96-max-v58
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-jaguar
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-mnt-reform2
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-nanopc-t6
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-orangepi-5-max
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-orangepi-5-plus
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-orangepi-5-ultra
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-roc-rt
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-rock-5-itx
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-rock-5b-5bp-5t
arm64: dts: rockchip: Add frl-enable-gpios to rk3588-tiger
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-coolpi-4b
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-gameforce-ace
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-indiedroid-nova
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-khadas-edge2
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-nanopi-r6
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-odroid-m2
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-orangepi-5
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-orangepi-cm5-base
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-radxa-cm5-io
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-roc-pc
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-rock-5a
arm64: dts: rockchip: Add frl-enable-gpios to rk3588s-rock-5c

.../boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts | 8 ++++++++
.../boot/dts/rockchip/rk3576-luckfox-core3576.dtsi | 9 ++++-----
arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts | 9 ++++-----
arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts | 16 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5-evb.dts | 17 ++++++++++++++++-
.../boot/dts/rockchip/rk3588-coolpi-cm5-genbook.dts | 10 +++++++++-
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 16 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-evb2-v10.dts | 9 +++++++++
.../boot/dts/rockchip/rk3588-firefly-itx-3588j.dts | 9 +++++++++
.../dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts | 16 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 10 +++++++++-
arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 16 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-max.dts | 15 ++++++++++++++-
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 16 ++++++++++++++++
.../arm64/boot/dts/rockchip/rk3588-orangepi-5-ultra.dts | 9 ++++++++-
arch/arm64/boot/dts/rockchip/rk3588-roc-rt.dts | 16 ++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts | 9 ++++++++-
arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi | 16 +++++++++++++++-
arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou.dts | 3 ++-
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 9 ++++++++-
arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts | 8 +++-----
.../arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts | 10 +++++++++-
arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts | 13 +++++++++----
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 9 +++++++++
.../boot/dts/rockchip/rk3588s-orangepi-cm5-base.dts | 3 ++-
arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5-io.dts | 9 +++++++++
arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts | 15 ++++++++++++---
arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 10 +++++++++-
arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts | 10 +++++++++-
41 files changed, 392 insertions(+), 35 deletions(-)
---
base-commit: 452c3b1ea875276105ac90ba474f72b4cd9b77a2
change-id: 20260417-dts-rk-frl-enable-gpios-ce9930dbf5ca