也先测试看看 WIFI 能不能工作,
在 RK android8.1 的代码里面,wifi 的兼容做的很好了,android 和 kernel 的配置基本不用改,除非看原理图中的 管脚 有更改
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rk808 1>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
/*
* On the module itself this is one of these (depending
* on the actual card populated):
* - SDIO_RESET_L_WL_REG_ON
* - PDN (power down when low)
*/
reset-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; /*WIFI_REG_ON_H GPIO0_B2_d */
};
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
wifi_chip_type = "ap6356s"; //这个名字可有可以无
sdio_vref = <1800>;// SDIO电压 1.8v
WIFI,host_wake_irq = <&gpio0 3 GPIO_ACTIVE_HIGH>;/*WIFI_HOST_WAKE_L GPIO0_A3*/
status = "okay";
};
驱动路径
Rfkill-wlan.c (net\rfkill): { .compatible = "wlan-platdata" },
配置
Device Drivers > Network device support > Wireless LAN > Rockchip Wireless LAN support
可以看到都是编译成 ko 文件的,这样是为了更好的兼容使用!
问题排查:
- 确保电上来
- 很重要的点就是 SDIO 的 wifi 确认sdio 是否正常,sdio正常之后会有以下的 kernel 的打印
mmmc2[0m: new ultra high speed SDR104 SDIO card at address 0001
要是不通的话,就要确认硬件电是否有上,晶振时钟值是否正常,或者晶振是否正确的
- 接上串口,看打开WIFI 的时候有什么打印,8.1 的基本兼容很多 wifi 芯片
- 最后就是确认使用的 wifi 是否有 配置文件和 FW,或者有却因为设置不对,使用到其他的 配置或者 FW 了