From 3641cb1d66e20f3d267a595945ec177c3715cdff Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Wed, 10 Jul 2013 09:04:47 -0500 Subject: 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. Change-Id: I1a0df80dd47fdbd535aca7a9d49253794c480606 Signed-off-by: Aaron Durbin Reviewed-on: https://gerrit.chromium.org/gerrit/61421 Reviewed-on: http://review.coreboot.org/4358 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich Reviewed-by: Paul Menzel --- src/mainboard/google/falco/smihandler.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/mainboard') diff --git a/src/mainboard/google/falco/smihandler.c b/src/mainboard/google/falco/smihandler.c index 7b7dd69beb..52dd77654a 100644 --- a/src/mainboard/google/falco/smihandler.c +++ b/src/mainboard/google/falco/smihandler.c @@ -32,6 +32,9 @@ #include #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; } -- cgit v1.2.3