X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Fwdt_arm.h;h=cf6b480acf34092e2e01a1b4e2ae972c39de52e0;hb=4d8a6a97c6c0e15296b51d5f02674079bede1aa0;hp=2e631bd6472e837e73d7eab488dce61b436fb52e;hpb=b46f64914c62fbb0297728280478681659469654;p=bertos.git diff --git a/bertos/cpu/arm/drv/wdt_arm.h b/bertos/cpu/arm/drv/wdt_arm.h index 2e631bd6..cf6b480a 100644 --- a/bertos/cpu/arm/drv/wdt_arm.h +++ b/bertos/cpu/arm/drv/wdt_arm.h @@ -40,11 +40,19 @@ #define DRV_WDT_ARM_H #include // INLINE +#include // BV -#warning TODO: This module is not implemented for at91 CPUs +#if CPU_ARM_AT91 + #include -INLINE void wdt_start(uint32_t _timeout) { (void) _timeout; /* implement me */ } -INLINE void wdt_stop(void) { /*implement me */ } -INLINE void wdt_reset(void) { /* implement me */ } + INLINE void wdt_start(uint32_t _timeout) { (void) _timeout; /* implement me */ } + INLINE void wdt_stop(void) { WDT_MR = BV(WDT_WDDIS); } + INLINE void wdt_reset(void) + { + WDT_CR = WDT_KEY | BV(WDT_WDRSTT); + } +#else + #error "Missing watchdog support for yout CPU" +#endif -#endif //DRV_WDT_ARM_H +#endif /* DRV_WDT_ARM_H */