]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: rockchip: Add frl-enable-gpios to rk3576 boards
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Mon, 27 Apr 2026 21:57:19 +0000 (00:57 +0300)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 5 May 2026 18:28:39 +0000 (20:28 +0200)
The following RK3576 boards expose a GPIO pin to control the voltage
bias on the HDMI data lines:

- rk3576-100ask-dshanpi-a1
- rk3576-armsom-sige5
- rk3576-evb1-v10
- rk3576-evb2-v10
- rk3576-nanopi-m5
- rk3576-roc-pc
- rk3576-rock-4d

The pin must be asserted when operating in HDMI 2.1 FRL mode and
deasserted for HDMI 1.4/2.0 TMDS mode.

Wire up the hdmi node to its dedicated GPIO via frl-enable-gpios to
allow adjusting the bias when transitioning between TMDS and FRL modes.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://patch.msgid.link/20260428-dts-rk-frl-enable-gpios-v2-1-924df9db884a@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts
arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts
arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
arch/arm64/boot/dts/rockchip/rk3576-evb2-v10.dts
arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts
arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts
arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts

index b19f9b6be6bf8a7da52a5674cf2b718f4296dcdf..a9e3beb3ee5ee6d65cb318a2583059f9839d2419 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
                };
        };
 
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        pcie {
                pcie_reset: pcie-reset {
                        rockchip,pins = <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
index 1c100ffd151869563e9dc3b3396c5e758327962b..c3e8966c09c4007521addd7e6072d95121479823 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
                };
        };
 
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                hym8563_int: hym8563-int {
                        rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
index fb0dd1bc51482c737dabde27c17f2f5225254c6e..4c82980a9f63ae886a0234c970c49712d7ea5c98 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
                };
        };
 
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                rtc_int: rtc-int {
                        rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
index 98d5d00d63b5771cd6d244c0cbb12928cf812557..dfc756d5ec5e18a41bd81ca136814a5248201823 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
                };
        };
 
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                rtc_int: rtc-int {
                        rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
index 7406a4adf8105a85b9b6f6a874ac3daadbbbd452..227fe6f3ec7c7dbc0355ed0928586a6a6662a400 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
                };
        };
 
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                hym8563_int: hym8563-int {
                        rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
index d0ab1d1e0e119551e16b24f0c7d05aa1e376c13f..54de3a50571f0adc74b7fc643e9cc646540fe1f8 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
 };
 
 &pinctrl {
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                rtc_int_l: rtc-int-l {
                        rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
index 899a84b1fbf9e8ad852c1f90be7ef593a62cdd73..cc054c8373174957502eeb44ed7589b1d797bb30 100644 (file)
 };
 
 &hdmi {
+       frl-enable-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
+       pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda &hdmi_tx_on_h>;
+       pinctrl-names = "default";
        status = "okay";
 };
 
 };
 
 &pinctrl {
+       hdmi {
+               hdmi_tx_on_h: hdmi-tx-on-h {
+                       rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        hym8563 {
                hym8563_int: hym8563-int {
                        rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;