53 #ifndef ti_dl_dl_wwdt__include 54 #define ti_dl_dl_wwdt__include 59 #include <ti/devices/msp/msp.h> 61 #ifdef __MSPM0_HAS_WWDT__ 200 DL_WWDT_SLEEP_MODE sleepMode, DL_WWDT_WINDOW_PERIOD window0ClosedPeriod,
201 DL_WWDT_WINDOW_PERIOD window1ClosedPeriod)
206 (WWDT_WWDTCTL0_KEY_UNLOCK_W | (uint32_t) divider | (uint32_t) period |
207 (uint32_t) sleepMode | (uint32_t) window0ClosedPeriod |
208 ((uint32_t) window1ClosedPeriod << 4));
234 DL_WWDT_SLEEP_MODE sleepMode)
237 (WWDT_WWDTCTL0_KEY_UNLOCK_W | (uint32_t) divider | (uint32_t) period |
238 (uint32_t) sleepMode | WWDT_WWDTCTL0_MODE_INTERVAL);
248 wwdt->GPRCM.PWREN = (WWDT_PWREN_KEY_UNLOCK_W | WWDT_PWREN_ENABLE_ENABLE);
258 wwdt->GPRCM.PWREN = (WWDT_PWREN_KEY_UNLOCK_W | WWDT_PWREN_ENABLE_DISABLE);
271 return ((wwdt->GPRCM.PWREN & WWDT_PWREN_ENABLE_MASK) ==
272 WWDT_PWREN_ENABLE_ENABLE);
283 (WWDT_RSTCTL_KEY_UNLOCK_W | WWDT_RSTCTL_RESETSTKYCLR_CLR |
284 WWDT_RSTCTL_RESETASSERT_ASSERT);
298 return ((wwdt->GPRCM.STAT & WWDT_STAT_RESETSTKY_MASK) ==
299 WWDT_STAT_RESETSTKY_RESET);
314 wwdt->WWDTCNTRST = 0x00A7;
329 return (wwdt->WWDTSTAT == WWDT_WWDTSTAT_RUN_ON);
345 WWDT_Regs *wwdt, DL_WWDT_WINDOW window)
347 wwdt->WWDTCTL1 = (WWDT_WWDTCTL1_KEY_UNLOCK_W | (uint32_t) window);
361 uint32_t window = (wwdt->WWDTCTL1 & WWDT_WWDTCTL1_WINSEL_MASK);
363 return (DL_WWDT_WINDOW)(window);
377 uint32_t mode = (wwdt->WWDTCTL0 & WWDT_WWDTCTL0_STISM_MASK);
379 return (DL_WWDT_SLEEP_MODE)(mode);
393 uint32_t mode = (wwdt->WWDTCTL0 & WWDT_WWDTCTL0_MODE_MASK);
395 return (DL_WWDT_MODE)(mode);
410 WWDT_Regs *wwdt, DL_WWDT_WINDOW window)
415 period = (wwdt->WWDTCTL0 & WWDT_WWDTCTL0_WINDOW0_MASK);
417 period = ((wwdt->WWDTCTL0 & WWDT_WWDTCTL0_WINDOW1_MASK) >> 4);
420 return (DL_WWDT_WINDOW_PERIOD)(period);
434 uint32_t period = (wwdt->WWDTCTL0 & WWDT_WWDTCTL0_PER_MASK);
436 return (DL_WWDT_TIMER_PERIOD)(period);
450 uint32_t clockDivider = (wwdt->WWDTCTL0 & WWDT_WWDTCTL0_CLKDIV_MASK);
462 wwdt->CPU_INT.IMASK = WWDT_IMASK_INTTIM_SET;
472 wwdt->CPU_INT.IMASK = WWDT_IMASK_INTTIM_CLR;
487 return ((wwdt->CPU_INT.IMASK & WWDT_IMASK_INTTIM_SET) ==
488 WWDT_IMASK_INTTIM_SET);
507 return ((wwdt->CPU_INT.MIS & WWDT_MIS_INTTIM_SET) == WWDT_MIS_INTTIM_SET);
525 return (wwdt->CPU_INT.RIS & WWDT_RIS_INTTIM_SET);
542 return (DL_WWDT_IIDX)(wwdt->CPU_INT.IIDX);
552 wwdt->CPU_INT.ICLR = WWDT_ICLR_INTTIM_CLR;
Definition: dl_wwdt.h:126
__STATIC_INLINE void DL_WWDT_disablePower(WWDT_Regs *wwdt)
Disables power on wwdt module.
Definition: dl_wwdt.h:256
__STATIC_INLINE bool DL_WWDT_getEnabledInterruptStatus(WWDT_Regs *wwdt)
Check interrupt flag of enabled WWDT interrupt.
Definition: dl_wwdt.h:505
__STATIC_INLINE bool DL_WWDT_isInterruptEnabled(WWDT_Regs *wwdt)
Check if WWDT interrupt is enabled.
Definition: dl_wwdt.h:485
Definition: dl_wwdt.h:108
DL_WWDT_WINDOW_PERIOD
Definition: dl_wwdt.h:98
DL_WWDT_MODE
Definition: dl_wwdt.h:146
Definition: dl_wwdt.h:150
Definition: dl_wwdt.h:130
__STATIC_INLINE void DL_WWDT_initWatchdogMode(WWDT_Regs *wwdt, DL_WWDT_CLOCK_DIVIDE divider, DL_WWDT_TIMER_PERIOD period, DL_WWDT_SLEEP_MODE sleepMode, DL_WWDT_WINDOW_PERIOD window0ClosedPeriod, DL_WWDT_WINDOW_PERIOD window1ClosedPeriod)
Initializes the Window Watchdog Timer in watchdog mode.
Definition: dl_wwdt.h:198
__STATIC_INLINE void DL_WWDT_setActiveWindow(WWDT_Regs *wwdt, DL_WWDT_WINDOW window)
Set the active window being used.
Definition: dl_wwdt.h:344
__STATIC_INLINE DL_WWDT_TIMER_PERIOD DL_WWDT_getTimerPeriod(WWDT_Regs *wwdt)
Get the timer period for the watchdog.
Definition: dl_wwdt.h:432
DL_WWDT_IIDX
Definition: dl_wwdt.h:154
__STATIC_INLINE void DL_WWDT_initIntervalTimerMode(WWDT_Regs *wwdt, DL_WWDT_CLOCK_DIVIDE divider, DL_WWDT_TIMER_PERIOD period, DL_WWDT_SLEEP_MODE sleepMode)
Initializes the Window Watchdog Timer in interval timer mode.
Definition: dl_wwdt.h:232
__STATIC_INLINE void DL_WWDT_enableInterrupt(WWDT_Regs *wwdt)
Enable WWDT interrupt.
Definition: dl_wwdt.h:460
Definition: dl_wwdt.h:132
Definition: dl_wwdt.h:114
__STATIC_INLINE void DL_WWDT_enablePower(WWDT_Regs *wwdt)
Enables power on WWDT module.
Definition: dl_wwdt.h:246
Definition: dl_wwdt.h:158
__STATIC_INLINE DL_WWDT_WINDOW_PERIOD DL_WWDT_getWindowPeriod(WWDT_Regs *wwdt, DL_WWDT_WINDOW window)
Get the window closed percentage for a watchdog window.
Definition: dl_wwdt.h:409
__STATIC_INLINE bool DL_WWDT_isPowerEnabled(WWDT_Regs *wwdt)
Returns if power on wwdt module.
Definition: dl_wwdt.h:269
Definition: dl_wwdt.h:122
DL_WWDT_SLEEP_MODE
Definition: dl_wwdt.h:138
__STATIC_INLINE uint32_t DL_WWDT_getRawInterruptStatus(WWDT_Regs *wwdt)
Check interrupt flag of any WWDT interrupt.
Definition: dl_wwdt.h:523
__STATIC_INLINE bool DL_WWDT_isRunning(WWDT_Regs *wwdt)
Checks if the Window Watchdog Timer is actively running.
Definition: dl_wwdt.h:327
__STATIC_INLINE DL_WWDT_IIDX DL_WWDT_getPendingInterrupt(WWDT_Regs *wwdt)
Get highest priority pending WWDT interrupt.
Definition: dl_wwdt.h:540
__STATIC_INLINE bool DL_WWDT_isReset(WWDT_Regs *wwdt)
Returns if wwdt peripheral was reset.
Definition: dl_wwdt.h:296
Definition: dl_wwdt.h:140
__STATIC_INLINE void DL_WWDT_reset(WWDT_Regs *wwdt)
Resets wwdt peripheral.
Definition: dl_wwdt.h:280
Definition: dl_wwdt.h:124
Definition: dl_wwdt.h:134
__STATIC_INLINE DL_WWDT_SLEEP_MODE DL_WWDT_getSleepMode(WWDT_Regs *wwdt)
Get the sleep mode being used.
Definition: dl_wwdt.h:375
DL_WWDT_WINDOW
Definition: dl_wwdt.h:90
__STATIC_INLINE DL_WWDT_CLOCK_DIVIDE DL_WWDT_getClockDivider(WWDT_Regs *wwdt)
Get the clock divider for the watchdog.
Definition: dl_wwdt.h:448
Definition: dl_wwdt.h:104
__STATIC_INLINE DL_WWDT_WINDOW DL_WWDT_getActiveWindow(WWDT_Regs *wwdt)
Get the active window being used.
Definition: dl_wwdt.h:359
Definition: dl_wwdt.h:106
Definition: dl_wwdt.h:120
Definition: dl_wwdt.h:112
__STATIC_INLINE void DL_WWDT_restart(WWDT_Regs *wwdt)
Restarts the Window Watchdog.
Definition: dl_wwdt.h:312
__STATIC_INLINE void DL_WWDT_clearInterruptStatus(WWDT_Regs *wwdt)
Clear pending WWDT interrupt.
Definition: dl_wwdt.h:550
Definition: dl_wwdt.h:128
Definition: dl_wwdt.h:100
Definition: dl_wwdt.h:156
__STATIC_INLINE DL_WWDT_MODE DL_WWDT_getMode(WWDT_Regs *wwdt)
Get the mode the watchdog is running in.
Definition: dl_wwdt.h:391
__STATIC_INLINE void DL_WWDT_disableInterrupt(WWDT_Regs *wwdt)
Disable WWDT interrupt.
Definition: dl_wwdt.h:470
DL_WWDT_TIMER_PERIOD
Definition: dl_wwdt.h:118
DL_WWDT_CLOCK_DIVIDE
Definition: dl_wwdt.h:70
Definition: dl_wwdt.h:142
Definition: dl_wwdt.h:110
Definition: dl_wwdt.h:102
Definition: dl_wwdt.h:148