summaryrefslogtreecommitdiff
path: root/include/board_config.h
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-10-20 18:05:36 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-10-26 01:44:06 -0700
commitb142b05465052511b837ac71ab079081ff9430ae (patch)
tree4f5553577513da9908c30a8ef262d6f76bd21e85 /include/board_config.h
parentb1ac9d3c6eb2469e2ce9ad059d774ffd99cc2bae (diff)
downloadchrome-ec-b142b05465052511b837ac71ab079081ff9430ae.tar.gz
power: Add board callback before RSMRST# state change
This board function allows workarounds to be applied to a board after all power rails are up but before the AP is out of reset. Most workarounds for power sequencing can go in board init hooks, but for devices where the power sequencing is driven by external PMIC the EC may not get interrupts in time to handle workarounds. For x86 platforms and boards which support RSMRST# passthrough this board callback will allow workarounds to be applied despite the PMIC sequencing by ensuring that the function is executed before RSMRST# deassertion. BUG=chrome-os-partner:58666 BRANCH=none TEST=test IMVP8 workaround on multiple eve boards Change-Id: I0569494084000a4b1738ee18aafce5c96900dc4b Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/402591 Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'include/board_config.h')
-rw-r--r--include/board_config.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/board_config.h b/include/board_config.h
index 0a97b8a181..6742573bc2 100644
--- a/include/board_config.h
+++ b/include/board_config.h
@@ -32,4 +32,20 @@ void board_config_pre_init(void);
void board_config_post_gpio_init(void);
#endif
+#ifdef CONFIG_BOARD_HAS_BEFORE_RSMRST
+/**
+ * Configure board before RSMRST# state change
+ *
+ * This board function allows workarounds to be applied to a board after all
+ * power rails are up but before the AP is out of reset.
+ *
+ * Most workarounds for power sequencing can go in board init hooks, but for
+ * devices where the power sequencing is driven by external PMIC the EC may
+ * not get interrupts in time to handle workarounds. For x86 platforms and
+ * boards which support RSMRST# passthrough this hook will allow the board
+ * to apply workarounds despite the PMIC sequencing.
+ */
+void board_before_rsmrst(int rsmrst);
+#endif
+
#endif /* __CROS_EC_BOARD_CONFIG_H */