falco: drive WLAN_DISABLE_L low in S3 and S5
When the board is in S3 and S5 the WLAN_DISABLE_L signal
can leak power into the WLAN power well since the GPIO
controlling WLAN_DISABLE_L is in the suspend well. Therefore,
drive WLAN_DISABLE_L low to avoid the power leak.
BUG=chrome-os-partner:20793
BRANCH=None
TEST=Manual. Checked the WLAN_DISABLE_L signal on wlan connector in both S3 and
S5. It is driven to ground. WLAN continues to work in S0.
Change-Id: I1a0df80dd47fdbd535aca7a9d49253794c480606
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/61421
This commit is contained in:
parent
6c5a4f9b5f
commit
eed7631a9d
1 changed files with 9 additions and 0 deletions
|
|
@ -32,6 +32,9 @@
|
|||
#include <ec/google/chromeec/ec.h>
|
||||
#include "ec.h"
|
||||
|
||||
/* GPIO46 controls the WLAN_DISABLE_L signal. */
|
||||
#define GPIO_WLAN_DISABLE_L 46
|
||||
|
||||
int mainboard_io_trap_handler(int smif)
|
||||
{
|
||||
switch (smif) {
|
||||
|
|
@ -98,6 +101,9 @@ void mainboard_smi_sleep(u8 slp_typ)
|
|||
if (smm_get_gnvs()->s3u1 == 0)
|
||||
google_chromeec_set_usb_charge_mode(
|
||||
1, USB_CHARGE_MODE_DISABLED);
|
||||
|
||||
/* Prevent leak from standby rail to WLAN rail in S3. */
|
||||
set_gpio(GPIO_WLAN_DISABLE_L, 0);
|
||||
break;
|
||||
case 5:
|
||||
if (smm_get_gnvs()->s5u0 == 0)
|
||||
|
|
@ -106,6 +112,9 @@ void mainboard_smi_sleep(u8 slp_typ)
|
|||
if (smm_get_gnvs()->s5u1 == 0)
|
||||
google_chromeec_set_usb_charge_mode(
|
||||
1, USB_CHARGE_MODE_DISABLED);
|
||||
|
||||
/* Prevent leak from standby rail to WLAN rail in S5. */
|
||||
set_gpio(GPIO_WLAN_DISABLE_L, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue