RK3368 默认支持的WiFi芯片为AP6XXX系列,此芯片还默认支持BT。
可以先看看原理图里面的的情况,方便我们理解其在代码里面的配置情况
WiFi 设备配置:
./rockchip/rk3368/*/rk3368-p9.dts
此配置为WiFi kernel驱动在初始化时使用,包括芯片类型,ref voltage为1800mv, wake up irq为GPIO_ACTIVE_HIGH
device/rockchip/rk3368/*/rockchip_defconfig
此文件有kernel相关的WiFi相关配置,只有打开这些配置,真正WiFi驱动才能初始化。
打开配置:CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP
表示WiFi驱动是built in的,而且是在内核启动之后才开始加载驱动。
接下来来看看代码里面WiFi驱动加载的地方:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux.c
int
rockchip_wifi_init_module_rkwifi(
void
)
{
struct task_struct *kthread = NULL;
kthread = kthread_run(wifi_init_thread, NULL,
"wifi_init_thread"
);
if
(IS_ERR(kthread))
pr_err(
"create wifi_init_thread failed.\n"
);
return
0
;
}
void
rockchip_wifi_exit_module_rkwifi(
void
)
{
dhd_module_exit();
}
#ifdef CONFIG_WIFI_BUILD_MODULE
module_init(rockchip_wifi_init_module_rkwifi);
module_exit(rockchip_wifi_exit_module_rkwifi);
#
else
#ifdef CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP
late_initcall(rockchip_wifi_init_module_rkwifi);
<