summaryrefslogtreecommitdiff
path: root/chip/lm4/watchdog.c
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2012-01-24 21:15:26 +0000
committerVincent Palatin <vpalatin@chromium.org>2012-01-24 23:17:07 +0000
commitd356dea61ee170366acddc373953dad20f6fc48e (patch)
tree5f7e408361838d08cd345c35144f2cf03a871bd9 /chip/lm4/watchdog.c
parent396a94c43f5b23d3c3535237e1ed6a1d90af3f3b (diff)
downloadchrome-ec-d356dea61ee170366acddc373953dad20f6fc48e.tar.gz
Add modularity to the build
You can now enable/disable tasks more easily. To conditionally compile a C file depending on the task FOO activation, just write something like that in the build.mk file : common-$(CONFIG_TASK_FOO)+=foo_source.o Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST=make all BOARD=link && make qemu-tests Change-Id: I760fb248e1599d13190ccd937a68ef47da17b510
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();
+ }
+}