diff options
author | Aaron Durbin <adurbin@chromium.org> | 2013-05-16 10:41:45 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-05-16 15:06:27 -0700 |
commit | 7c7928d8be2f93e44333b8546be6b95a95ec0de9 (patch) | |
tree | 5ad42e189f154c09b40a6538978179c3914ca5f4 | |
parent | 3c2c1398ec993cc597903a4d4ba38546182b7053 (diff) | |
download | chrome-ec-7c7928d8be2f93e44333b8546be6b95a95ec0de9.tar.gz |
haswell: bring up/down WLAN rail properly
The PP3300_WLAN rail was not being controlled. Fix this by bringing
up the rail in S3->S0 transition and bring it down in S0->S3
transition. This current sequencing will not allow the WLAN to
wake from suspend at the moment. To do that we'd need to move this
sequencing to the S5<->S3 transitions.
BUG=chrome-os-partner:19507
BRANCH=none
TEST=Brought up board. Noted WLAN card in lsusb and lspci.
Change-Id: I48e7610fa4f0471a2869933f2df5d2c7c525b155
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/51483
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
-rw-r--r-- | common/x86_power_haswell.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/common/x86_power_haswell.c b/common/x86_power_haswell.c index 9e7d973db9..692b455a39 100644 --- a/common/x86_power_haswell.c +++ b/common/x86_power_haswell.c @@ -357,6 +357,7 @@ static void x86_power_init(void) gpio_set_level(GPIO_SUSP_VR_EN, 0); gpio_set_level(GPIO_PP1350_EN, 0); gpio_set_level(GPIO_PP3300_DX_EN, 0); + gpio_set_level(GPIO_PP3300_WLAN_EN, 0); gpio_set_level(GPIO_PP5000_EN, 0); gpio_set_level(GPIO_PCH_RSMRST_L, 0); gpio_set_level(GPIO_PCH_DPWROK, 0); @@ -568,12 +569,15 @@ void chipset_task(void) gpio_set_level(GPIO_PP3300_DX_EN, 1); /* Enable WLAN */ + gpio_set_level(GPIO_PP3300_WLAN_EN, 1); gpio_set_level(GPIO_WLAN_OFF_L, 1); /* Wait for non-core power rails good */ if (wait_in_signals(IN_PGOOD_S0)) { chipset_force_shutdown(); gpio_set_level(GPIO_WLAN_OFF_L, 0); + gpio_set_level(GPIO_PP3300_WLAN_EN, 0); + gpio_set_level(GPIO_PP3300_DX_EN, 0); state = X86_S3; } @@ -618,6 +622,7 @@ void chipset_task(void) /* Disable WLAN */ gpio_set_level(GPIO_WLAN_OFF_L, 0); + gpio_set_level(GPIO_PP3300_WLAN_EN, 0); /* * Deassert prochot since CPU is off and we're about |