marvell 88W8686 驱动分析
0赞经过对88W8686l inux下的驱动一周的学习,总算有所收获,才基本看明白了88W8686l 的驱动程序,因为88W8686l 在网上的资料不好找,开始能下载到88W8686l 的data sheet ,数据手册介绍的不是很详细,只是对每个接口和引脚功能介绍了下,对应数据手册,可以设计出电路图,但是不能了解到88W8686l 的具体控制流程和如何操作。要想明白驱动程序还需要另外两个文档,才能跟着驱动程序走,而不至于不知道所以源。分别是_marvell 88W8686 Host Interface Registers寄存器说明.pdf和WLAN Subsystem Host Driver Firmewave and interface。
好现在我们还是回到88W8686l的驱动程序中来,
一、先通过SPI接口设置88W8686l的总线方式,和控制特性,读取88W8686l的设备版本号。这个要看marvell 88W8686 Host Interface Registers寄存器说明文档,了解相关的寄存器意义。
二、下载固件到 88W8686l中,下载控制流程在WLAN Subsystem Host Driver Firmewave and interface中有详细的介绍。分SPI接口和SDIO接口。具体的程序流程在wlan_setup_station_hw函数中。
三、设置WLAN的功能,WLAN Subsystem Host Driver Firmewave and interface中详细的介绍了每个命令的功能。扫描WLAN。处理每个主机设置WLAN的命令处理函数在WLAN_CMD.c函数中。接收WLAN数据是在for循环中完成。通过检查中断源寄存器的值来区分命令和数据。
