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
34#include "../../__device.h"
46#if defined(__VSF_HAL_${WDT_IP}_WDT_CLASS_IMPLEMENT)
47# define __VSF_CLASS_IMPLEMENT__
48#elif defined(__VSF_HAL_${WDT_IP}_WDT_CLASS_INHERIT__)
49# define __VSF_CLASS_INHERIT__
66#ifndef VSF_${WDT_IP}_WDT_CFG_MULTI_CLASS
67# define VSF_${WDT_IP}_WDT_CFG_MULTI_CLASS VSF_WDT_CFG_MULTI_CLASS
83#define VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE ENABLED
84#define VSF_WDT_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
85#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CTRL ENABLED
86#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG ENABLED
87#define VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
95#if VSF_${WDT_IP}_CFG_MULTI_CLASS == ENABLED
114#if VSF_WDT_CFG_REIMPLEMENT_TYPE_MODE == ENABLED
126#if VSF_WDT_CFG_REIMPLEMENT_TYPE_IRQ_MASK == ENABLED
134#if VSF_WDT_CFG_REIMPLEMENT_TYPE_CTRL == ENABLED
142#if VSF_WDT_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
158#if VSF_WDT_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
188#undef __VSF_HAL_${WDT_IP}_WDT_CLASS_IMPLEMENT
189#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:48
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:329
uint8_t support_reset_soc
Indicates if SoC reset mode is supported.
Definition vsf_template_wdt.h:337
uint8_t support_disable
Indicates if WDT can be disabled after startup.
Definition vsf_template_wdt.h:338
uint8_t support_reset_none
Definition wdt.h:161
uint8_t support_early_wakeup
Definition wdt.h:160
uint8_t support_reset_cpu
Indicates if core reset mode is supported.
Definition vsf_template_wdt.h:336
uint32_t max_timeout_ms
Maximum timeout in milliseconds.
Definition vsf_template_wdt.h:340
uint8_t support_min_timeout
Indicates if minimum timeout is supported.
Definition vsf_template_wdt.h:339
WDT configuration structure.
Definition vsf_template_wdt.h:310
vsf_wdt_mode_t mode
WDT mode, refer to vsf_wdt_mode_t.
Definition vsf_template_wdt.h:311
uint32_t min_ms
Minimum timeout in milliseconds.
Definition vsf_template_wdt.h:313
uint32_t max_ms
Maximum timeout in milliseconds.
Definition vsf_template_wdt.h:312
vsf_wdt_isr_t isr
WDT interrupt configuration, refer to vsf_wdt_isr_t.
Definition vsf_template_wdt.h:314
WDT interrupt configuration structure.
Definition vsf_template_wdt.h:297
vsf_wdt_isr_handler_t * handler_fn
Interrupt handler function pointer.
Definition vsf_template_wdt.h:298
void * target_ptr
User-defined target pointer.
Definition vsf_template_wdt.h:299
vsf_arch_prio_t prio
Interrupt priority.
Definition vsf_template_wdt.h:300
WDT instance structure, used for WDT Multi Class support, not needed in non Multi Class mode.
Definition vsf_template_wdt.h:362
vsf_wdt_irq_mask_t
Definition wdt.h:127
@ VSF_WDT_IRQ_MASK_OVERFLOW
Definition wdt.h:128
vsf_wdt_isr_t isr
Definition wdt.h:109
void vsf_wdt_isr_handler_t(void *target_ptr, vsf_wdt_t *wdt_ptr)
Definition wdt.h:144
vsf_wdt_ctrl_t
Definition wdt.h:135
@ __VSF_WDT_CTRL_DUMMY
Definition wdt.h:136