From 15493a9c94ee98f11ee8e70be4eb21523aa21761 Mon Sep 17 00:00:00 2001 From: lbt Date: Fri, 25 Mar 2011 17:14:24 +0800 Subject: [PATCH] wifi:bcm4329: change bcm4329 power on and off sequence --- arch/arm/mach-rk29/board-rk29sdk.c | 6 ++++-- drivers/net/wireless/bcm4329/dhd_linux.c | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-rk29/board-rk29sdk.c b/arch/arm/mach-rk29/board-rk29sdk.c index 36f533f89adb..3ed2784a978e 100755 --- a/arch/arm/mach-rk29/board-rk29sdk.c +++ b/arch/arm/mach-rk29/board-rk29sdk.c @@ -1277,18 +1277,20 @@ static int rk29sdk_wifi_power(int on) { pr_info("%s: %d\n", __func__, on); if (on){ - gpio_set_value(RK29SDK_WIFI_BT_GPIO_POWER_N, on); + gpio_set_value(RK29SDK_WIFI_BT_GPIO_POWER_N, GPIO_HIGH); + gpio_set_value(RK29SDK_WIFI_GPIO_RESET_N, GPIO_HIGH); mdelay(100); pr_info("wifi turn on power\n"); }else{ if (!rk29sdk_bt_power_state){ - gpio_set_value(RK29SDK_WIFI_BT_GPIO_POWER_N, on); + gpio_set_value(RK29SDK_WIFI_BT_GPIO_POWER_N, GPIO_LOW); mdelay(100); pr_info("wifi shut off power\n"); }else { pr_info("wifi shouldn't shut off power, bt is using it!\n"); } + gpio_set_value(RK29SDK_WIFI_GPIO_RESET_N, GPIO_LOW); } diff --git a/drivers/net/wireless/bcm4329/dhd_linux.c b/drivers/net/wireless/bcm4329/dhd_linux.c index f35ed9cd834c..52ec34fcb357 100644 --- a/drivers/net/wireless/bcm4329/dhd_linux.c +++ b/drivers/net/wireless/bcm4329/dhd_linux.c @@ -137,7 +137,6 @@ static int wifi_probe(struct platform_device *pdev) wifi_control_data = wifi_ctrl; wifi_set_power(1, 0); /* Power On */ - wifi_set_reset(1, 0); /* deactive reset */ wifi_set_carddetect(1); /* CardDetect (0->1) */ up(&wifi_control_sem); @@ -153,7 +152,6 @@ static int wifi_remove(struct platform_device *pdev) wifi_control_data = wifi_ctrl; wifi_set_power(0, 0); /* Power Off */ - wifi_set_reset(0, 0); /* active reset */ wifi_set_carddetect(0); /* CardDetect (1->0) */ up(&wifi_control_sem); -- 2.34.1