diff options
author | Jacky Wang <jacky5_wang@pegatron.corp-partner.google.com> | 2021-02-04 18:36:33 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-02-08 19:29:23 +0000 |
commit | 9de7ceade2b3cbd9e520e2631e81c732c7df6dd9 (patch) | |
tree | e01bc6fc077bed3481bdd551b3e8fcce62c67f0e /power | |
parent | 3305860fcf1ddb612446f7fc44225bac79a37c95 (diff) | |
download | chrome-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.c | 17 |
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 * * ¶m 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); |