summaryrefslogtreecommitdiff
path: root/chip/lm4/watchdog.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/lm4/watchdog.c')
-rw-r--r--chip/lm4/watchdog.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/chip/lm4/watchdog.c b/chip/lm4/watchdog.c
index b0aa258bfd..ccc6e63b72 100644
--- a/chip/lm4/watchdog.c
+++ b/chip/lm4/watchdog.c
@@ -11,7 +11,9 @@
#include "common.h"
#include "config.h"
#include "registers.h"
+#include "gpio.h"
#include "task.h"
+#include "timer.h"
#include "uart.h"
#include "util.h"
@@ -135,3 +137,20 @@ int watchdog_init(int period_ms)
return EC_SUCCESS;
}
+
+/* Low priority task to reload the watchdog */
+void watchdog_task(void)
+{
+ while (1) {
+#ifdef BOARD_bds
+ gpio_set_level(GPIO_DEBUG_LED, 1);
+#endif
+ usleep(500000);
+ watchdog_reload();
+#ifdef BOARD_bds
+ gpio_set_level(GPIO_DEBUG_LED, 0);
+#endif
+ usleep(500000);
+ watchdog_reload();
+ }
+}