说明
本文档将以RTL8852BE模块为例,介绍如何通过修改 SDK 中的文件来启用 PCIe WiFi 模块的功能。
设备树说明
在泰山派3m的主设备树文件是:
kernel-6.1/arch/arm64/boot/dts/rockchip/tspi-3m-rk3576.dts
在这个文件中包含了很多的 .dtsi 文件,这些 .dtsi 文件是为大家预定义好的一些硬件配置文件,而且为了方便大家使用和修改,将每个功能的接口都单独拆分成了一个 .dtsi 文件。
设备树修改
打开 kernel-6.1/arch/arm64/boot/dts/rockchip/tspi-3m-rk3576.dts 文件,找到如下的代码片段:
// #include "tspi-3m-rk3576-pcie.dtsi"将其取消注释,即可启用 PCIe WiFi 模块的硬件设置:
#include "tspi-3m-rk3576-pcie.dtsi"注意事项
在这里种类中启用 tspi-3m-rk3576-pcie.dtsi 后要确保:
tspi-3m-rk3576-sata.dtsi被注释掉。tspi-3m-rk3576-ec20-4g.dtsi被注释掉。
驱动添加
修改完成设备树后,还需要在 Buildroot 的配置文件中添加对应的驱动支持,打开 device/rockchip/.chips/rk3576/tspi_3m_rk3576_buildroot_defconfig 文件,找到如下的代码片段:
############################################################
# Using SDIO Broadcom (AP6XXX) Modules
############################################################
RK_WIFIBT_MODULES="ALL_AP"
############################################################
# Using PCIe WiFi/Bluetooth (RTL8852BE) Modules
############################################################
# RK_WIFIBT_MODULES="RTL8852BE"
# RK_WIFIBT_CHIP="RTL8852BE"2
3
4
5
6
7
8
9
10
将 RK_WIFIBT_MODULES="ALL_AP" 这个 AP6256 模块的驱动注释掉,并将 RK_WIFIBT_MODULES="RTL8852BE" 和 RK_WIFIBT_CHIP="RTL8852BE" 取消注释,修改后如下所示:
############################################################
# Using SDIO Broadcom (AP6XXX) Modules
############################################################
# RK_WIFIBT_MODULES="ALL_AP"
############################################################
# Using PCIe WiFi/Bluetooth (RTL8852BE) Modules
############################################################
RK_WIFIBT_MODULES="RTL8852BE"
RK_WIFIBT_CHIP="RTL8852BE"2
3
4
5
6
7
8
9
10
编译SDK与烧录
需要重新编译整个SDK后生成 Buildroot 镜像,然后烧录镜像到开发板中即可使用 PCIe WiFi 模块。
编译镜像参考: Buildroot镜像编译🚀 章节。
烧录镜像参考: 成品镜像烧录🚀 章节。
PCIe WiFi模块使用参考: Buildroot PCIe WiFi模块使用🚀 章节。
如何添加其他型号的PCIe WiFi模块
如果需要添加其他型号的 PCIe WiFi 模块,需要找到对应模块的驱动源码,一般可以在 external/rkwifibt/drivers 源码中找到。
如果找到对应模块的驱动源码,可以参考 RTL8852BE 模块的添加方式,进行添加到配置文件中。
提示
RK_WIFIBT_MODULES 和 RK_WIFIBT_CHIP 变量的值可以从 device/rockchip/common/scripts/post-wifibt.sh 这个脚本中找到对应的支持列表。