wifi:bcm4329: change bcm4329 power on and off sequence
authorlbt <lbt@rock-chip.com>
Fri, 25 Mar 2011 09:14:24 +0000 (17:14 +0800)
committerlbt <lbt@rock-chip.com>
Fri, 25 Mar 2011 09:14:24 +0000 (17:14 +0800)
arch/arm/mach-rk29/board-rk29sdk.c
drivers/net/wireless/bcm4329/dhd_linux.c

index 36f533f89adb50f9dd36604733abe318072929a1..3ed2784a978e5d860e6fc45f247e594355e9f2ce 100755 (executable)
@@ -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);
 
         }
 
index f35ed9cd834c193092a11b953933d619fa0eb848..52ec34fcb3571eb8db3cdaf6dea4f91beef1c3de 100644 (file)
@@ -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);