1、首先将参考的链接摆出来,感谢这位素昧谋面的同行:
DAYU200 OpenHarmony标准系统HDMI全屏显示_鸿蒙社区的技术博客_51CTO博客
2、接下来记录一下自己解决的过程:
2.1、根据上面博客提到的思路,先做如下的改动:
diff --git a/linux-5.10/rk3568_patch/kernel.patch b/linux-5.10/rk3568_patch/kernel.patch
index 5aae886..4aa1a2f 100644
--- a/linux-5.10/rk3568_patch/kernel.patch
+++ b/linux-5.10/rk3568_patch/kernel.patch
@@ -1706420,7 +1706420,7 @@ diff -urN test2/arch/arm64/boot/dts/rockchip/rk3568-x3568.dtsi test3/arch/arm64/
+
+
+&dsi0 {
-+ status = "okay";
++ status = "disabled";
+ //rockchip,lane-rate = <1000>;
+ dsi0_panel: panel@0 {
+ status = "okay";
@@ -1706692,12 +1706692,12 @@ diff -urN test2/arch/arm64/boot/dts/rockchip/rk3568-x3568.dtsi test3/arch/arm64/
+};
+
+&route_dsi0 {
-+ status = "okay";
++ status = "disabled";
+ connect = <&vp1_out_dsi0>;
+};
+
+&dsi0_in_vp1 {
-+ status = "okay";
++ status = "disabled";
+};
+
2.2、接着开始编译代码:
编译命令:./build.sh --product-name rk3568 --ccache
编译完成:
2.3、开始烧录,这里由于是第一次烧录鸿蒙特意参考了如下的链接:
DAYU200升级最新的OpenHarmony系统,一起来玩开源鸿蒙呀!_openharmony 全屏_坚果的博客的博客-CSDN博客
别说这镜像还挺难找的,也是看了文件夹更新时间才找到:
但是出乎意料的事情发生了,居然...它..还是这样显示了
这多少有点不合常理,但还是得想办法查原因,首先就是改动是否生效:
不看不知道真的是改动没生效(因为可以看到dsi的接口还是没有关掉),看来还是编译这里出的问题,后来Boos给了如下信息编译生效:
openharmony kernel代码构成如下:
①、SDK自带原生kernel(kernel/linux/linux-5.10/)
②、openharmony HDF驱动补丁包hdf.patch(kernel/linux/patches/linux-5.10/rk3568_patch/)
③、方案商需求的内核补丁包kernel.patch(kernel/linux/patches/linux-5.10/rk3568_patch/)
由1中kernel加上2、3中的patch,组合成最终的kernel代码(out/kernel/src_tmp/linux-5.10),该工作由device/board/hihope/rk3568/kernel/build_kernel.sh完成
脚本每次执行会时开头都会删除out/kernel/src_tmp/linux-5.10目录,重新组合生成。
若要调试驱动,可通过修改build_kernel.sh,不让其删除src_tmp/linux-5.10目录,在最终kernel下修改代码调试。
不过这样一改想一并点亮MIPI就不行了,还得再换个方法改。