summaryrefslogtreecommitdiff
path: root/power
diff options
context:
space:
mode:
authorJacky Wang <jacky5_wang@pegatron.corp-partner.google.com>2021-02-04 18:36:33 +0800
committerCommit Bot <commit-bot@chromium.org>2021-02-08 19:29:23 +0000
commit9de7ceade2b3cbd9e520e2631e81c732c7df6dd9 (patch)
treee01bc6fc077bed3481bdd551b3e8fcce62c67f0e /power
parent3305860fcf1ddb612446f7fc44225bac79a37c95 (diff)
downloadchrome-ec-9de7ceade2b3cbd9e520e2631e81c732c7df6dd9.tar.gz
icelake : fix power sequence behavior
Remove powerok signal checking the current GPIO level step. We found the GPIO_EC_AP_PCH_PWROK_OD did not setting to low when system shutdown. The signal EC_AP_PCH_PWROK_OD is connect with signal IMVP9_VRDAY_OD. The gpio_get_level get GPIO status from the EC register GPDMR and gpio_set_level set GPIO level by EC register GPDR. If signal IMVP9_VRDAY_OD is low, the EC GPDRM will read EC_AP_PCH_PWROK_OD status is low even the GPDR is set to High. We remove the signal status check to make sure power sequence is expected. BUG=b:171450533 BRANCH=firmware-dedede-13606.B TEST=BOARD=galtic Check system can power on. Signed-off-by: Jacky Wang <jacky5_wang@pegatron.corp-partner.google.com> Change-Id: Ia8d8c096b15c09644432736df5ca5fc10d91c954 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2675322 Reviewed-by: Michael5 Chen <michael5_chen1@pegatron.corp-partner.google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'power')
-rw-r--r--power/icelake.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/power/icelake.c b/power/icelake.c
index 3d1242b9a0..c47f44c146 100644
--- a/power/icelake.c
+++ b/power/icelake.c
@@ -189,19 +189,6 @@ static void dsw_pwrok_pass_thru(void)
}
/*
- * Return 0 if PWROK signal is deasserted, non-zero if asserted
- */
-static int pwrok_signal_get(const struct intel_x86_pwrok_signal *signal)
-{
- int level = gpio_get_level(signal->gpio);
-
- if (signal->active_low)
- level = !level;
-
- return level;
-}
-
-/*
* Set the PWROK signal state
*
* &param level 0 deasserts the signal, other values assert the signal
@@ -236,10 +223,6 @@ static void all_sys_pwrgd_pass_thru(void)
* to match the current ALL_SYS_PWRGD input.
*/
for (i = 0; i < signal_count; i++, pwrok_signal++) {
- if ((!all_sys_pwrgd_in && !pwrok_signal_get(pwrok_signal))
- || (all_sys_pwrgd_in && pwrok_signal_get(pwrok_signal)))
- continue;
-
if (pwrok_signal->delay_ms > 0)
msleep(pwrok_signal->delay_ms);