summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2013-05-16 10:41:45 -0700
committerChromeBot <chrome-bot@google.com>2013-05-16 15:06:27 -0700
commit7c7928d8be2f93e44333b8546be6b95a95ec0de9 (patch)
tree5ad42e189f154c09b40a6538978179c3914ca5f4
parent3c2c1398ec993cc597903a4d4ba38546182b7053 (diff)
downloadchrome-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.c5
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