summaryrefslogtreecommitdiff
path: root/baseboard
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-07-24 10:58:47 -0600
committerCommit Bot <commit-bot@chromium.org>2020-07-24 20:59:13 +0000
commit639e946785ff12f5c77fcc66880bbd998bc1d460 (patch)
tree1be6368f571999b2716130f843f8871a55d5ab47 /baseboard
parentf863427cb86267ff4b36a91c49b2733b071da178 (diff)
downloadchrome-ec-639e946785ff12f5c77fcc66880bbd998bc1d460.tar.gz
Dedede: Restore pull-up on PG_PP1050_ST_OD after jumping
After RSMRST sets, we configure a pull-up on PG_PP1020_ST_OD. This pull-up is lost during GPIO init after a sysjump, so restore it before the chipset init. BRANCH=None BUG=b:159863180 TEST=on waddledee and waddledoo, boot to the OS and run "sysjump rw" and "sysjump ro" on the EC console Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: I1b543329de976c5f64dbfbebf8f7576e70e63084 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2314939 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r--baseboard/dedede/baseboard.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/baseboard/dedede/baseboard.c b/baseboard/dedede/baseboard.c
index 0a88006a33..6ec8b42742 100644
--- a/baseboard/dedede/baseboard.c
+++ b/baseboard/dedede/baseboard.c
@@ -136,7 +136,7 @@ static void pp3300_a_pgood_preserve(void)
}
DECLARE_HOOK(HOOK_SYSJUMP, pp3300_a_pgood_preserve, HOOK_PRIO_DEFAULT);
-static void pp3300_a_pgood_restore(void)
+static void baseboard_prepare_power_signals(void)
{
const int *stored;
int version, size;
@@ -147,8 +147,13 @@ static void pp3300_a_pgood_restore(void)
(size == sizeof(pp3300_a_pgood)))
/* Valid PP3300 status found, restore before CHIPSET init */
pp3300_a_pgood = *stored;
+
+ /* Restore pull-up on PG_PP1050_ST_OD */
+ if (system_jumped_to_this_image() &&
+ gpio_get_level(GPIO_RSMRST_L_PGOOD))
+ board_after_rsmrst(1);
}
-DECLARE_HOOK(HOOK_INIT, pp3300_a_pgood_restore, HOOK_PRIO_FIRST);
+DECLARE_HOOK(HOOK_INIT, baseboard_prepare_power_signals, HOOK_PRIO_FIRST);
__override int intel_x86_get_pg_ec_all_sys_pwrgd(void)
{