RK3588 芯片最高支持的输出分辨率可以到8K,由于Android12 SDK要支持多个显示接口,所以默认最高只配置了4K的分辨率支持,下面以RK3588-EVB1的
开发板上配置HDMI输出8K输出为例进行说明如何让RK3588支持8K分辨率。 本文配置RK3588-EVB1开发HDMI0接口输出8K分辨率。
提供VOP CLK以支持8K分辨率
提cru ACLK_VOP的频率到800MHz
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
index 2704255b0ca23..1fcb10641dc3e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
cru: clock-controller@fd7c0000 {
compa
tible = "rockchip,rk3588-cru";
rockchip,grf = <&php_grf>;
reg = <0x0 0xfd7c0000 0x0 0x5c000>;
#clock-cells = <1>;
#reset-cells = <1>;
assigned-clocks =
<&cru PLL_PPLL>, <&cru PLL_AUPLL>,
<&cru PLL_NPLL>, <&cru PLL_GPLL>,
<&cru ACLK_CENTER_ROOT>,
<&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>,
<&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>,
<&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>,
<&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>,
<&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>,
<&cru CLK_GPU>;
assigned-clock-rates =
<100000000>, <786432000>,
<850000000>, <1188000000>,
<702000000>,
<400000000>, <500000000>,
<800000000>, <100000000>,
<400000000>, <100000000>,
- <200000000>, <500000000>,
+ <200000000>, <800000000>,
<375000000>, <150000000>,
<200000000>;
};
修改VOP的图层分配
RK3588的有4个vop port分别支持4K+4K+4K+1080P,如果需要支持8K需要把vp0和vp1组合使用,这里只需要把HDMI0分配到vp0上,vp1不分配给其他接口即可,因为SDK中的RK3588-EVB1的dts中HMDI1配置在vp1上面,所以需要把HMDI1改为配置在vp2上面,这样即可空出vp1给HMDI0做8K显示用。
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi
index 543d78d3f182f..4f4f4b5f01eab 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-lp4.dtsi
@@ -360,8 +360,8 @@
status = "okay";
};
-&hdmi1_in_vp1 {
- status = "okay";
+&hdmi1_in_vp2 {
+ status = "dokay";
};
原作者:loitawu