14#ifndef T32CM11_WDOG_H_
15#define T32CM11_WDOG_H_
35#define CHIP_MEMORY_MAP_WDOG_BASE (0xA0900000UL)
74#define TR_HAL_WDOG_MINIMUM_INITIAL_VALUE 40000
81#define TR_HAL_WDOG_CTRL_LOCKOUT 0x01
83#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1 0x00
84#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_16 0x04
85#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_256 0x08
86#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_32 0x0C
87#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_128 0x10
88#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1024 0x14
89#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_4096 0x18
91#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_ALSO_4096 0x1C
93#define TR_HAL_WDOG_CTRL_RESET_ENABLED 0x20
94#define TR_HAL_WDOG_CTRL_RESET_DISABLED 0x00
96#define TR_HAL_WDOG_CTRL_INTERRUPT_ENABLED 0x40
97#define TR_HAL_WDOG_CTRL_INTERRUPT_DISABLED 0x00
99#define TR_HAL_WDOG_CTRL_TIMER_ENABLED 0x80
100#define TR_HAL_WDOG_CTRL_TIMER_DISABLED 0x00
105#define TR_HAL_WDOG_RESET_WATCHDOG_VALUE 0xA5A5
109#define TR_HAL_WDOG_CLEAR_RESET_COUNTER 0x01
113#define TR_HAL_WDOG_CLEAR_INTERRUPT 0x01
117#define TR_HAL_WDOG_DEFAULT_MIN_TIME_BEFORE_RESET 0
124#define WDOG_REGISTERS ((WDOG_REGISTERS_T *) CHIP_MEMORY_MAP_WDOG_BASE)
150#define TR_HAL_WDOG_1_SECOND_TIMER_VALUE 40000
154#define TR_HAL_WDOG_1_SECOND_PRESCALAR_VALUE TR_HAL_WDOG_CLK_PRESCALAR_1024
168#define TR_HAL_WDOG_EVENT_INT_TRIGGERED 0x00000001
232#define DEFAULT_WDOG_CONFIG \
234 .watchdog_enabled = true, \
235 .reset_enabled = true, \
236 .clock_prescalar = TR_HAL_WDOG_1_SECOND_PRESCALAR_VALUE, \
237 .initial_value = (6 * TR_HAL_WDOG_1_SECOND_TIMER_VALUE), \
238 .clear_reset_counter_on_init = false, \
239 .lockout_enabled = false, \
240 .min_time_before_reset = TR_HAL_WDOG_DEFAULT_MIN_TIME_BEFORE_RESET,\
241 .interrupt_enabled = false, \
242 .interrupt_time_value = 0, \
243 .interrupt_priority = TR_HAL_INTERRUPT_PRIORITY_5, \
244 .event_handler_fx = NULL, \
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_32
Definition T32CM11_wdog.h:86
tr_hal_wdog_prescalar_t
this enum is used for setting the clock prescalar in the settings struct
Definition T32CM11_wdog.h:132
void(* tr_hal_wdog_event_callback_t)(uint32_t event_bitmask)
Definition T32CM11_wdog.h:173
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_128
Definition T32CM11_wdog.h:87
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_4096
Definition T32CM11_wdog.h:89
WDOG_REGISTERS_T * tr_hal_wdog_get_register_address(void)
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1
Definition T32CM11_wdog.h:83
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_256
Definition T32CM11_wdog.h:85
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_16
Definition T32CM11_wdog.h:84
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1024
Definition T32CM11_wdog.h:88
@ TR_HAL_WDOG_CLK_PRESCALAR_128
Definition T32CM11_wdog.h:137
@ TR_HAL_WDOG_CLK_PRESCALAR_4096
Definition T32CM11_wdog.h:139
@ TR_HAL_WDOG_CLK_PRESCALAR_32
Definition T32CM11_wdog.h:136
@ TR_HAL_WDOG_CLK_PRESCALAR_256
Definition T32CM11_wdog.h:135
@ TR_HAL_WDOG_CLK_PRESCALAR_1024
Definition T32CM11_wdog.h:138
@ TR_HAL_WDOG_CLK_PRESCALAR_16
Definition T32CM11_wdog.h:134
@ TR_HAL_WDOG_CLK_PRESCALAR_1
Definition T32CM11_wdog.h:133
tr_hal_wdog_prescalar_t
this enum is used for setting the clock prescalar in the settings struct
Definition T32CZ20_wdog.h:145
the struct we use so we can address registers using field names
Definition T32CM11_wdog.h:42
__IO uint32_t initial_value
Definition T32CM11_wdog.h:44
__IO uint32_t interrupt_clear
Definition T32CM11_wdog.h:59
__IO uint32_t min_time_before_reset
Definition T32CM11_wdog.h:65
__IO uint32_t current_value
Definition T32CM11_wdog.h:47
__IO uint32_t reset_watchdog
Definition T32CM11_wdog.h:53
__IO uint32_t reset_counter
Definition T32CM11_wdog.h:56
__IO uint32_t control
Definition T32CM11_wdog.h:50
__IO uint32_t interrupt_on_value
Definition T32CM11_wdog.h:62
Definition T32CM11_wdog.h:180
bool watchdog_enabled
Definition T32CM11_wdog.h:184
bool interrupt_enabled
Definition T32CM11_wdog.h:210
bool lockout_enabled
Definition T32CM11_wdog.h:200
tr_hal_wdog_event_callback_t event_handler_fx
Definition T32CM11_wdog.h:218
bool clear_reset_counter_on_init
Definition T32CM11_wdog.h:197
tr_hal_wdog_prescalar_t clock_prescalar
Definition T32CM11_wdog.h:190
bool reset_enabled
Definition T32CM11_wdog.h:187
uint32_t initial_value
Definition T32CM11_wdog.h:191
uint32_t interrupt_time_value
Definition T32CM11_wdog.h:211
tr_hal_int_pri_t interrupt_priority
Definition T32CM11_wdog.h:214
uint32_t min_time_before_reset
Definition T32CM11_wdog.h:203