diff options
author | Aaron Durbin <adurbin@chromium.org> | 2013-07-10 09:04:47 -0500 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-12-12 22:06:32 +0100 |
commit | 3641cb1d66e20f3d267a595945ec177c3715cdff (patch) | |
tree | df0fcc0edb089bc176f6ed233ce0316e28c6c93c /src | |
parent | c5aac958ae99bd556d077a49618e4a5daf0e65f3 (diff) |
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 <adurbin@chromium.org>
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 <rminnich@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/google/falco/smihandler.c | 9 |
1 files changed, 9 insertions, 0 deletions
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 <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; } |