diff --git a/patch/kernel/rockchip-rk3588-legacy/2009-OrangePi5-HDMI-Improvements.patch b/patch/kernel/rockchip-rk3588-legacy/2009-OrangePi5-HDMI-Improvements.patch new file mode 100644 index 000000000000..7cd71245dd87 --- /dev/null +++ b/patch/kernel/rockchip-rk3588-legacy/2009-OrangePi5-HDMI-Improvements.patch @@ -0,0 +1,73 @@ +diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts +index 09762fd1dcc3..da2bf4d91a69 100755 +--- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts +@@ -41,6 +41,16 @@ vcc_1v1_nldo_s3: vcc-1v1-nldo-s3 { + vin-supply = <&vcc5v0_sys>; + }; + ++ hdmi0_sound: hdmi0-sound { ++ status = "okay"; ++ compatible = "rockchip,hdmi"; ++ rockchip,mclk-fs = <128>; ++ rockchip,card-name = "rockchip-hdmi0"; ++ rockchip,cpu = <&i2s5_8ch>; ++ rockchip,codec = <&hdmi0>; ++ rockchip,jack-det; ++ }; ++ + leds: gpio-leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; +@@ -90,16 +100,13 @@ rgmii_phy1: phy@1 { + &hdmi0 { + enable-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; + status = "okay"; ++ cec-enable = "true"; + }; + + &hdmi0_in_vp0 { + status = "okay"; + }; + +-&hdmi0_sound { +- status = "okay"; +-}; +- + &hdptxphy_hdmi0 { + status = "okay"; + }; +diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi.dtsi +index 28ad1d3660aa..a6d14beafc56 100755 +--- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi.dtsi +@@ -578,19 +578,29 @@ &vepu { + &vp0 { + rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER0 | 1 << ROCKCHIP_VOP2_ESMART0)>; + rockchip,primary-plane = ; ++ cursor-win-id = ; + }; + + &vp1 { + rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER1 | 1 << ROCKCHIP_VOP2_ESMART1)>; + rockchip,primary-plane = ; ++ cursor-win-id = ; + }; + + &vp2 { + rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER2 | 1 << ROCKCHIP_VOP2_ESMART2)>; + rockchip,primary-plane = ; ++ cursor-win-id = ; + }; + + &vp3 { + rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER3 | 1 << ROCKCHIP_VOP2_ESMART3)>; + rockchip,primary-plane = ; ++ cursor-win-id = ; ++}; ++ ++/* Fix tty terminal out of screen, and most dclk of resolutions was not supported in hdmiphy clock from parent clock by default */ ++&display_subsystem { ++ clocks = <&hdptxphy_hdmi_clk0>; ++ clock-names = "hdmi0_phy_pll"; + };