14#ifndef T32CM11_WDOG_H_
15#define T32CM11_WDOG_H_
35#define CHIP_MEMORY_MAP_WDOG_BASE (0xA0900000UL)
75#define TR_HAL_WDOG_MINIMUM_INITIAL_VALUE 40000000
82#define TR_HAL_WDOG_CTRL_LOCKOUT 0x01
86#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1 0x00
87#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_16 0x04
88#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_256 0x08
89#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_32 0x0C
90#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_128 0x10
91#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1024 0x14
92#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_4096 0x18
93#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_MASK 0x1C
95#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_ALSO_4096 0x1C
97#define TR_HAL_WDOG_CTRL_RESET_ENABLED 0x20
98#define TR_HAL_WDOG_CTRL_RESET_DISABLED 0x00
100#define TR_HAL_WDOG_CTRL_INTERRUPT_ENABLED 0x40
101#define TR_HAL_WDOG_CTRL_INTERRUPT_DISABLED 0x00
103#define TR_HAL_WDOG_CTRL_TIMER_ENABLED 0x80
104#define TR_HAL_WDOG_CTRL_TIMER_DISABLED 0x00
109#define TR_HAL_WDOG_RESET_WATCHDOG_VALUE 0xA5A5
113#define TR_HAL_WDOG_CLEAR_RESET_COUNTER 0x01
117#define TR_HAL_WDOG_CLEAR_INTERRUPT 0x01
121#define TR_HAL_WDOG_DEFAULT_MIN_TIME_BEFORE_RESET 0
128#define WDOG_REGISTERS ((WDOG_REGISTERS_T *) CHIP_MEMORY_MAP_WDOG_BASE)
154#define TR_HAL_WDOG_1_SECOND_TIMER_VALUE 40000
158#define TR_HAL_WDOG_1_SECOND_PRESCALAR_VALUE TR_HAL_WDOG_CLK_PRESCALAR_1024
172#define TR_HAL_WDOG_EVENT_INT_TRIGGERED 0x00000001
239#define DEFAULT_WDOG_CONFIG \
241 .watchdog_enabled = false, \
242 .reset_enabled = true, \
243 .clock_prescalar = TR_HAL_WDOG_1_SECOND_PRESCALAR_VALUE, \
244 .initial_value = (6 * TR_HAL_WDOG_1_SECOND_TIMER_VALUE), \
245 .clear_reset_counter_on_init = false, \
246 .lockout_enabled = false, \
247 .min_time_before_reset = TR_HAL_WDOG_DEFAULT_MIN_TIME_BEFORE_RESET,\
248 .interrupt_enabled = false, \
249 .interrupt_time_value = 0, \
250 .interrupt_priority = TR_HAL_INTERRUPT_PRIORITY_5, \
251 .event_handler_fx = NULL, \
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_32
Definition T32CM11_wdog.h:89
tr_hal_wdog_prescalar_t
this enum is used for setting the clock prescalar in the settings struct
Definition T32CM11_wdog.h:136
void(* tr_hal_wdog_event_callback_t)(uint32_t event_bitmask)
Definition T32CM11_wdog.h:177
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_128
Definition T32CM11_wdog.h:90
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_4096
Definition T32CM11_wdog.h:92
WDOG_REGISTERS_T * tr_hal_wdog_get_register_address(void)
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1
Definition T32CM11_wdog.h:86
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_256
Definition T32CM11_wdog.h:88
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_16
Definition T32CM11_wdog.h:87
#define TR_HAL_WDOG_CTRL_CLK_PRESCALAR_1024
Definition T32CM11_wdog.h:91
@ TR_HAL_WDOG_CLK_PRESCALAR_128
Definition T32CM11_wdog.h:141
@ TR_HAL_WDOG_CLK_PRESCALAR_4096
Definition T32CM11_wdog.h:143
@ TR_HAL_WDOG_CLK_PRESCALAR_32
Definition T32CM11_wdog.h:140
@ TR_HAL_WDOG_CLK_PRESCALAR_256
Definition T32CM11_wdog.h:139
@ TR_HAL_WDOG_CLK_PRESCALAR_1024
Definition T32CM11_wdog.h:142
@ TR_HAL_WDOG_CLK_PRESCALAR_16
Definition T32CM11_wdog.h:138
@ TR_HAL_WDOG_CLK_PRESCALAR_1
Definition T32CM11_wdog.h:137
tr_hal_wdog_prescalar_t
this enum is used for setting the clock prescalar in the settings struct
Definition T32CZ20_wdog.h:144
void(* tr_hal_wdog_event_callback_t)(uint32_t event_bitmask)
Definition T32CZ20_wdog.h:185
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:184
bool watchdog_enabled
Definition T32CM11_wdog.h:188
bool interrupt_enabled
Definition T32CM11_wdog.h:214
bool lockout_enabled
Definition T32CM11_wdog.h:204
tr_hal_wdog_event_callback_t event_handler_fx
Definition T32CM11_wdog.h:222
bool clear_reset_counter_on_init
Definition T32CM11_wdog.h:201
tr_hal_wdog_prescalar_t clock_prescalar
Definition T32CM11_wdog.h:194
bool reset_enabled
Definition T32CM11_wdog.h:191
uint32_t initial_value
Definition T32CM11_wdog.h:195
uint32_t interrupt_time_value
Definition T32CM11_wdog.h:215
tr_hal_int_pri_t interrupt_priority
Definition T32CM11_wdog.h:218
uint32_t min_time_before_reset
Definition T32CM11_wdog.h:207
uint32_t current_value
Definition T32CM11_wdog.h:225