2024年5月18日发(作者:)
linux下移植之WIFI驱动
2010-05-14 22:27
1. 前言
硬件平台: imx27+sd8686
软件平台: linux
内核: 2.6.27
2. 移植思想
1, WIFI 模块本身和 cpu 之间的接口;
我们的模块和 cpu 之间的接口是 sdio 的,也就是说必须要先保证
SDIO 本身是工作的,与SD卡,MMC属于同类型。 主要用到这几个GPIO引
脚SD3,SD2_CMD,SD2_CLK,以及复位引脚PB24.
2, WIFI 模块本身的上电时序;
模块都有它自己的规律,所以必须要根据 spec 了解它本身的上电
过程,严格遵守;
3, 以太网接口的创建;
我们的 WIFI 模块本身是建立在 SDIO 口之上的,而对上都是提供
以太网接口的,所以必须要保证这个接口以及创建;
4, 特殊处理;
不同的模块都有它特别的地方,比如我们用的是 8686 和 compo 也就是
说它和蓝牙共用天线,所以需要在初始化的时候做特殊的处理,发送特殊的命令,
才能工作;
3. 移植过程
1, sdio 本身是通过 gpio 口模拟的,所以需要对 gpio 口进行配置 ;
static mfp_cfg_t littleton_mmc3_pins[] = {
GPIO7_2_MMC3_DAT0,
GPIO8_2_MMC3_DAT1,
GPIO9_2_MMC3_DAT2,
GPIO10_2_MMC3_DAT3,
GPIO103_MMC3_CLK,
GPIO105_MMC3_CMD,
};
2, wifi 模块本身的初始化 ;
#define MFP_WIFI_V18_ENABLE (GPIO26_GPIO)
#define MFP_WLAN_RESETN (GPIO99_GPIO)
#define WIFI_WAKEUP_HOST (GPIO104_GPIO) /*error must be
changed*/
#define WLAN_ENABLE_PIN 26
#define WLAN_RESET_PIN 99
#define M200_B
#ifdef M200_B
#define BT_RESET_PIN EXT1_GPIO(1)
#define BT_RESET_GPIO (GPIO1_2_GPIO)
#else
#define BT_RESET_GPIO (GPIO6_2_GPIO)
#define BT_RESET_PIN EXT1_GPIO(6)
#endif
static mfp_cfg_t lin2008_wifibt_pins[] = {
MFP_WIFI_V18_ENABLE,
发布者:admin,转转请注明出处:http://www.yc00.com/news/1715985357a2702233.html
评论列表(0条)