VSF Documented
Data Structures | Macros | Typedefs | Functions
wdt.c File Reference
#include "../driver.h"
#include "hal/vsf_hal.h"
#include "../vendor/plf/aic8800/src/driver/sysctrl/sysctrl_api.h"
#include "../vendor/plf/aic8800/src/driver/wdt/reg_wdt.h"
#include "hal/driver/common/wdt/wdt_template.inc"

Data Structures

struct  vsf_hw_wdt_const_t
 
struct  vsf_hw_wdt_t
 

Macros

#define VSF_HW_WDT_CFG_MULTI_CLASS   VSF_WDT_CFG_MULTI_CLASS
 
#define VSF_WDT_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#define VSF_WDT_CFG_IMP_PREFIX   vsf_hw
 
#define VSF_WDT_CFG_IMP_UPCASE_PREFIX   VSF_HW
 
#define VSF_WDT_CFG_IMP_LV0(__IDX, __HAL_OP)
 

Typedefs

typedef struct vsf_hw_wdt_const_t vsf_hw_wdt_const_t
 
typedef struct vsf_hw_wdt_t vsf_hw_wdt_t
 

Functions

vsf_err_t vsf_hw_wdt_init (vsf_hw_wdt_t *wdt_ptr, vsf_wdt_cfg_t *cfg_ptr)
 
void vsf_hw_wdt_fini (vsf_hw_wdt_t *wdt_ptr)
 
fsm_rt_t vsf_hw_wdt_enable (vsf_hw_wdt_t *wdt_ptr)
 
fsm_rt_t vsf_hw_wdt_disable (vsf_hw_wdt_t *wdt_ptr)
 
vsf_wdt_capability_t vsf_hw_wdt_capability (vsf_hw_wdt_t *wdt_ptr)
 
void vsf_hw_wdt_feed (vsf_hw_wdt_t *wdt_ptr)
 
void __vsf_hw_wdt_irq_handler (vsf_hw_wdt_t *wdt_ptr)
 

Macro Definition Documentation

◆ VSF_HW_WDT_CFG_MULTI_CLASS

#define VSF_HW_WDT_CFG_MULTI_CLASS   VSF_WDT_CFG_MULTI_CLASS

◆ VSF_WDT_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_WDT_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ VSF_WDT_CFG_IMP_PREFIX

#define VSF_WDT_CFG_IMP_PREFIX   vsf_hw

◆ VSF_WDT_CFG_IMP_UPCASE_PREFIX

#define VSF_WDT_CFG_IMP_UPCASE_PREFIX   VSF_HW

◆ VSF_WDT_CFG_IMP_LV0

#define VSF_WDT_CFG_IMP_LV0 (   __IDX,
  __HAL_OP 
)
Value:
static const vsf_hw_wdt_const_t __vsf_hw_wdt ## __IDX ## _const = { \
.reg = (AIC_WDT_TypeDef *)VSF_HW_WDT ## __IDX ## _BASE_ADDRESS, \
.irqn = VSF_HW_WDT ## __IDX ## _IRQN, \
.pclk = VSF_HW_WDT ## __IDX ## _PCLK_EN_BIT, \
.oclk = VSF_HW_WDT ## __IDX ## _OCLK_EN_BIT, \
}; \
vsf_hw_wdt_t vsf_hw_wdt ## __IDX = { \
.wdt_const = &__vsf_hw_wdt ## __IDX ## _const, \
__HAL_OP \
}; \
void VSF_HW_WDT ## __IDX ## _IRQHandler(void) \
{ \
__vsf_hw_wdt_irq_handler(&vsf_hw_wdt ## __IDX); \
vsf_hal_irq_leave(ctx); \
}
uint32_t uintptr_t
Definition stdint.h:38
Definition wdt.c:36
AIC_WDT_TypeDef * reg
Definition wdt.c:37
Definition wdt.c:45
const vsf_hw_wdt_const_t * wdt_const
Definition wdt.c:50
uintptr_t vsf_hal_irq_enter(void)
Definition vsf_hal.c:59

Typedef Documentation

◆ vsf_hw_wdt_const_t

◆ vsf_hw_wdt_t

typedef struct vsf_hw_wdt_t vsf_hw_wdt_t

Function Documentation

◆ vsf_hw_wdt_init()

vsf_err_t vsf_hw_wdt_init ( vsf_hw_wdt_t wdt_ptr,
vsf_wdt_cfg_t cfg_ptr 
)

◆ vsf_hw_wdt_fini()

void vsf_hw_wdt_fini ( vsf_hw_wdt_t wdt_ptr)

◆ vsf_hw_wdt_enable()

fsm_rt_t vsf_hw_wdt_enable ( vsf_hw_wdt_t wdt_ptr)

◆ vsf_hw_wdt_disable()

fsm_rt_t vsf_hw_wdt_disable ( vsf_hw_wdt_t wdt_ptr)

◆ vsf_hw_wdt_capability()

vsf_wdt_capability_t vsf_hw_wdt_capability ( vsf_hw_wdt_t wdt_ptr)

◆ vsf_hw_wdt_feed()

void vsf_hw_wdt_feed ( vsf_hw_wdt_t wdt_ptr)

◆ __vsf_hw_wdt_irq_handler()

void __vsf_hw_wdt_irq_handler ( vsf_hw_wdt_t wdt_ptr)