aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-11-26 18:58:20 -0500
committerKevin O'Connor <kevin@koconnor.net>2018-11-30 11:50:50 -0500
commit0af0bc946e174e2726218aa2ec81a75331aa2644 (patch)
tree33a2c5dc0fcf5017004ff24107ab345f21f5abd5
parentafa58de01469733cc632fd1e3daf803c32c11d2e (diff)
downloadkutter-0af0bc946e174e2726218aa2ec81a75331aa2644.tar.gz
kutter-0af0bc946e174e2726218aa2ec81a75331aa2644.tar.xz
kutter-0af0bc946e174e2726218aa2ec81a75331aa2644.zip
samd21: Enable watchdog
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/samd21/main.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/samd21/main.c b/src/samd21/main.c
index a9da6324..4687fc34 100644
--- a/src/samd21/main.c
+++ b/src/samd21/main.c
@@ -12,6 +12,26 @@ DECL_CONSTANT(MCU, "samd21g");
/****************************************************************
+ * watchdog handler
+ ****************************************************************/
+
+void
+watchdog_reset(void)
+{
+ WDT->CLEAR.reg = 0xa5;
+}
+DECL_TASK(watchdog_reset);
+
+void
+watchdog_init(void)
+{
+ WDT->CONFIG.reg = WDT_CONFIG_PER_16K; // 500ms timeout
+ WDT->CTRL.reg = WDT_CTRL_ENABLE;
+}
+DECL_INIT(watchdog_init);
+
+
+/****************************************************************
* misc functions
****************************************************************/