Android 移植之 WIFI
2010-03-16 16:36:00 来源:WEB开发网static mfp_cfg_t lin2008_wifibt_pins2[] = {
MFP_WIFI_V18_ENABLE,
};
static int wifibt_power_status;
int lin2008_poweron_wifibt_board(void)
{
if (!wifibt_power_status) {
pxa3xx_mfp_config(ARRAY_AND_SIZE(lin2008_wifibt_pins));
gpio_direction_output(WLAN_ENABLE_PIN, 1);
gpio_direction_output(WLAN_RESET_PIN, 1);
gpio_direction_output(BT_RESET_PIN,1);
mdelay(1);
gpio_direction_output(BT_RESET_PIN, 0);
gpio_direction_output(WLAN_RESET_PIN, 0);
// bt need > 5 ms to reset
mdelay(5);
gpio_direction_output(BT_RESET_PIN, 1);
gpio_direction_output(WLAN_RESET_PIN, 1);
wifibt_power_status++;
return 0;
}
wifibt_power_status++;
return 1;
}
int lin2008_poweroff_wifibt_board(void)
{
wifibt_power_status--;
if (!wifibt_power_status) {
pxa3xx_mfp_config(ARRAY_AND_SIZE(lin2008_wifibt_pins2));
gpio_direction_output(WLAN_ENABLE_PIN, 0);
return 0;
}
return 1;
}
(3)以太网接口的创建:这里在 android 平台上要做特殊的处理,也就是 firmware 的位置要放好,否则加载 firmware 始终不成功,那么以太网接口就不会被创建了;需要把 helper_sd.bin 放在 /etc/firmware/ 下面;把 sd8686.bin 放在 /etc/firmware/mrvl 下面;
(4)特殊的处理:对于 8686 模块需要做特殊的处理,在注册完以太网接口以后,需要添加下面这段话 :
{
#define BCA_CFG_NUM_OF_MODES 4
#define BCA_CFG_SINGLE_ANT_WITH_COEX 0
#define BCA_CFG_DUAL_ANT_WITH_COEX 1
#define BCA_CFG_SINGLE_ANT_FOR_BT_ONLY 2
#define BCA_CFG_MRVL_DEFAULT 3
#define BCA_CONFIG BCA_CFG_SINGLE_ANT_WITH_COEX
static u32 BCACfgTbl[BCA_CFG_NUM_OF_MODES][3] = {
//0xA5F0, 0xA58C, 0xA5A0
更多精彩
赞助商链接