WiFi驱动移植到Linux

WiFi驱动移植到Linux


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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信