summaryrefslogtreecommitdiff
path: root/chip/lm4/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/lm4/system.c')
-rw-r--r--chip/lm4/system.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/chip/lm4/system.c b/chip/lm4/system.c
index d69942e85c..b998cb5e2d 100644
--- a/chip/lm4/system.c
+++ b/chip/lm4/system.c
@@ -39,15 +39,21 @@ enum hibdata_index {
*/
#define HIB_RESET_USEC 150000
+/**
+ * Wait for a write to commit to a hibernate register.
+ *
+ * @return EC_SUCCESS if successful, non-zero if error.
+ */
static int wait_for_hibctl_wc(void)
{
int i;
+
/* Wait for write-capable */
for (i = 0; i < 1000000; i++) {
if (LM4_HIBERNATE_HIBCTL & LM4_HIBCTL_WRC)
return EC_SUCCESS;
}
- return EC_ERROR_UNKNOWN;
+ return EC_ERROR_TIMEOUT;
}
/**
@@ -282,7 +288,7 @@ void system_hibernate(uint32_t seconds, uint32_t microseconds)
hibernate(seconds, microseconds, 0);
}
-int system_pre_init(void)
+void system_pre_init(void)
{
volatile uint32_t scratch __attribute__((unused));
@@ -341,8 +347,6 @@ int system_pre_init(void)
/* Brown-outs should trigger a reset */
LM4_SYSTEM_PBORCTL |= 0x02;
-
- return EC_SUCCESS;
}
void system_reset(int flags)