mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-28 02:35:28 +00:00
haswell: bring down EC_EDP_VDD_EN with PP330_DX
The display rail is generated from the PP3300_DX rail, but it is enabled by the EC_EDP_VDD_EN signal. Therefore, bring down the EC_EDP_VDD_EN signal before bringing down the PP330_DX rail. Additionally, always set the EC_EDP_VDD_EN signal based on the PCH_EDP_VDD_EN in the x86 power interrupt. The reasoning is so the signal doesn't indavertently remained set. BUG=chrome-os-partner:19398 BRANCH=None TEST=booted and resumed Change-Id: I43c2306f05d144b7dea243bafb5922118be1fe39 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/51524 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
@@ -356,6 +356,7 @@ static void x86_power_init(void)
|
||||
gpio_set_level(GPIO_VCORE_EN, 0);
|
||||
gpio_set_level(GPIO_SUSP_VR_EN, 0);
|
||||
gpio_set_level(GPIO_PP1350_EN, 0);
|
||||
gpio_set_level(GPIO_EC_EDP_VDD_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);
|
||||
@@ -391,9 +392,11 @@ void x86_power_interrupt(enum gpio_signal signal)
|
||||
/* Shadow signals and compare with our desired signal state. */
|
||||
update_in_signals();
|
||||
|
||||
/* Pass through eDP VDD enable from PCH */
|
||||
/* Pass through eDP VDD enable from PCH. Put this on own interrupt? */
|
||||
if (gpio_get_level(GPIO_PCH_EDP_VDD_EN))
|
||||
gpio_set_level(GPIO_EC_EDP_VDD_EN, 1);
|
||||
else
|
||||
gpio_set_level(GPIO_EC_EDP_VDD_EN, 0);
|
||||
|
||||
/* Wake up the task */
|
||||
task_wake(TASK_ID_CHIPSET);
|
||||
@@ -577,8 +580,10 @@ void chipset_task(void)
|
||||
chipset_force_shutdown();
|
||||
gpio_set_level(GPIO_WLAN_OFF_L, 0);
|
||||
gpio_set_level(GPIO_PP3300_WLAN_EN, 0);
|
||||
gpio_set_level(GPIO_EC_EDP_VDD_EN, 0);
|
||||
gpio_set_level(GPIO_PP3300_DX_EN, 0);
|
||||
state = X86_S3;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -631,6 +636,7 @@ void chipset_task(void)
|
||||
gpio_set_level(GPIO_CPU_PROCHOT, 0);
|
||||
|
||||
/* Turn off power rails */
|
||||
gpio_set_level(GPIO_EC_EDP_VDD_EN, 0);
|
||||
gpio_set_level(GPIO_PP3300_DX_EN, 0);
|
||||
|
||||
state = X86_S3;
|
||||
|
||||
Reference in New Issue
Block a user