18#ifndef __HAL_DRIVER_${SERIES/WDT_IP}_WDT_H__
19#define __HAL_DRIVER_${SERIES/WDT_IP}_WDT_H__
25#if VSF_HAL_USE_WDT == ENABLED
44#if defined(__VSF_HAL_${WDT_IP}_WDT_CLASS_IMPLEMENT)
45# define __VSF_CLASS_IMPLEMENT__
46#elif defined(__VSF_HAL_${WDT_IP}_WDT_CLASS_INHERIT__)
47# define __VSF_CLASS_INHERIT__
64#ifndef VSF_${WDT_IP}_WDT_CFG_MULTI_CLASS
65# define VSF_${WDT_IP}_WDT_CFG_MULTI_CLASS VSF_WDT_CFG_MULTI_CLASS
80#define VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE ENABLED
81#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG ENABLED
82#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CTRL ENABLED
83#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
91#if VSF_${WDT_IP}_CFG_MULTI_CLASS == ENABLED
110#if VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE == ENABLED
122#if VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
138#if VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
152#if VSF_WDT_CFG_REIMPLEMENT_TYPE_CTRL == ENABLED
174#undef __VSF_HAL_${WDT_IP}_WDT_CLASS_IMPLEMENT
175#undef __VSF_HAL_${WDT_IP}_WDT_CLASS_INHERIT__
vsf_wdt_mode_t
Definition wdt.h:31
@ VSF_WDT_MODE_RESET_SOC
Definition wdt.h:36
@ VSF_WDT_MODE_NO_EARLY_WAKEUP
Definition wdt.h:32
@ VSF_WDT_MODE_RESET_CPU
Definition wdt.h:37
@ VSF_WDT_MODE_RESET_NONE
Definition wdt.h:38
@ VSF_WDT_MODE_EARLY_WAKEUP
Definition wdt.h:33
vsf_arch_prio_t
Definition cortex_a_generic.h:88
#define vsf_class(__name)
Definition ooc_class.h:52
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Predefined VSF WDT capability that can be reimplemented in specific hal drivers. The vsf_wdt_capabili...
Definition vsf_template_wdt.h:395
uint8_t support_reset_soc
Indicates if SoC reset mode is supported.
Definition vsf_template_wdt.h:403
uint8_t support_disable
Indicates if WDT can be disabled after startup.
Definition vsf_template_wdt.h:404
uint8_t support_reset_none
Definition wdt.h:141
uint8_t support_early_wakeup
Definition wdt.h:140
uint8_t support_reset_cpu
Indicates if core reset mode is supported.
Definition vsf_template_wdt.h:402
uint32_t max_timeout_ms
Maximum timeout in milliseconds.
Definition vsf_template_wdt.h:406
uint8_t support_min_timeout
Indicates if minimum timeout is supported.
Definition vsf_template_wdt.h:405
WDT configuration structure.
Definition vsf_template_wdt.h:325
vsf_wdt_mode_t mode
WDT mode, refer to vsf_wdt_mode_t.
Definition vsf_template_wdt.h:326
uint32_t min_ms
Minimum timeout in milliseconds.
Definition vsf_template_wdt.h:328
uint32_t max_ms
Maximum timeout in milliseconds.
Definition vsf_template_wdt.h:327
vsf_wdt_isr_t isr
WDT interrupt configuration, refer to vsf_wdt_isr_t.
Definition vsf_template_wdt.h:329
WDT interrupt configuration structure.
Definition vsf_template_wdt.h:312
vsf_wdt_isr_handler_t * handler_fn
Interrupt handler function pointer.
Definition vsf_template_wdt.h:313
void * target_ptr
User-defined target pointer.
Definition vsf_template_wdt.h:314
vsf_arch_prio_t prio
Interrupt priority.
Definition vsf_template_wdt.h:315
WDT instance structure, used for WDT Multi Class support, not needed in non Multi Class mode.
Definition vsf_template_wdt.h:428
vsf_wdt_isr_t isr
Definition wdt.h:105
void vsf_wdt_isr_handler_t(void *target_ptr, vsf_wdt_t *wdt_ptr)
Definition wdt.h:124
vsf_wdt_ctrl_t
Definition wdt.h:153
@ __VSF_WDT_CTRL_DUMMY
Definition wdt.h:154
vsf_wdt_ctrl_t
Predefined VSF WDT control commands that can be reimplemented in specific HAL drivers.
Definition vsf_template_wdt.h:362