IPC SDIO wifi
1. 概述¶
平台:SSC336Q + RTL8821cs
sdk版本:stable01_i6e_i6b0_ipc release_0813
问题:rtl8821cs 在Pudding 平台点不起来,sd clk 不输出。
2. debug过程¶
-
编译wifi driver。
修改wifi src code 的makfile。
CONFIG_PLATFORM_MSTAR=y ARCH=arm CROSS_COMPILE:=arm-linux-gnueabihf-9.1.0- KVER:=4.9.4 KSRC:=/xxx/kernel make clean;make;make strip
-
修改padmux,
arch/arm/boot/dts/infinity6e-padmux.dtsi
-
修改dts,
arch/arm/boot/dts/infinity6e-ssc012b-s01a.dts
-
操作rtl8821cs 的使能脚,使wifi 使能。
-
重新build kernel。在uboot上手动引导kernel。(sdio1 clk 有输出,但cmd不对) 用LA 抓波形,发现clk输出,但是cmd 不对。第一个cmd应该使cmd52,但解析器解出来使cmd0。
-
对比公版的原理图,发现sdio1 中的cmd/dat0/½/3 这五个管脚有上拉电阻,如果把公版的上拉去掉,用LA 抓的波形跟上一步一样。
在用的板子对应的pad 上增加上拉电阻。再用LA量测波形。
此时发出来的cmd 是正确的。但wifi模组依然没有回应。此时应该找wifi模组厂商进行确认。
3. 注意事项¶
经硬件确认,Pudding有两组SDIO , SDIO0 是内部带上拉。SDIO1 内部没带上拉。
早期提供的checklist存在误差,请注意,如果用户在sdio 1上接外设,请使用上拉。