一、准备工作
在开始添加新板型之前,需要确保以下几点:
- 已经获取到 RK3588 Buildroot SDK 源码,并且可以正常编译。
- 了解新板型的硬件信息,存储设备、外设接口等等。
- 查阅RK3588 Buildroot SDK 源码中doc目录,即RK开发指导文档。
二、选择参考DTS
doc目录中,找到快速开发指导文档:docs/cn/RK3588/Quick-start/Rockchip_RK3588_Quick_Start_Linux_CN.pdf。
从rk3588 推荐的dts中选择合适自己板子的dts,主要是供电PMIC的区别。
文章中选择evb7-v11作为介绍。
三、创建新板型配置文件
1. 复制现有板型配置文件
在 Buildroot 源码的 kernel/arch/arm64/boot/dts/rockchip/
目录下,拷贝 rk3588-evb7-v11.dtsi 、 rk3588-evb.dtsi 、rk3588-evb7-v11-linux.dts
分别重命名为:
arunce-rk3588-evb7-v11.dtsi
arunce-rk3588-evb.dtsi
arunce-rk3588-evb7-v11-linux.dts
你可以根据实际情况进行命名。
2. 修改配置文件
使用文本编辑器打开新上面的配置文件,根据新板型的硬件信息进行相应的修改。主要修改内容包括:
- DTS依赖相关配置:include dts的修改。
- 硬件驱动配置:根据新板型的外设情况,启用或禁用或新增加相应的驱动节点。
必须修改的部分:
arunce-rk3588-evb7-v11-linux.dts 中修改:
#include "arunce-rk3588-evb7-v11.dtsi"
arunce-rk3588-evb7-v11.dtsi中修改:
#include "arunce-rk3588-evb.dtsi"
根据自己的板子的硬件原理图,自行修改arunce-rk3588-evb7-v11.dtsi中的节点参数。
如hdmi是否开启,以及hpd gpio引脚。
&hdmi0 {enable-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;status = "okay";
};
3. 配置新板型
SDK根目录下, device/rockchip/rk3588/ 中拷贝rk3588_evb7_v11_defconfig,并重命名为:arunce_rk3588_evb7_v11_defconfig。
使用文本编辑器打开该文件,可以添加或者修改某些配置。
必须修改部分:
RK_KERNEL_DTS_NAME="arunce-rk3588-evb7-v11-linux"
其他修改:分区有变更的话,也可以重新拷贝parameter.txt并重命名:arunce-parameter.txt。然后在arunce_rk3588_evb7_v11_defconfig中修改RK_PARAMETER内容为:"arunce-parameter.txt"。
四、编译和测试
在SDK根目录,新打开终端,输入:./build.sh lunch 选择新创建的板型,即2
接着执行构建命令: ./build.sh
编译完成后,将生成的镜像文件烧录到新板型的存储设备中,然后启动设备进行测试。检查系统是否能够正常启动,各项硬件功能是否正常工作。
五、总结
通过以上步骤,你已经成功在 RK3588 Buildroot SDK 源码中添加了一个新的板型。在实际应用中,可能需要根据新板型的具体需求进行进一步的调整和优化。