18#ifndef __HAL_DRIVER_${SERIES/RTC_IP}_RTC_H__
19#define __HAL_DRIVER_${SERIES/RTC_IP}_RTC_H__
25#if VSF_HAL_USE_RTC == ENABLED
37#if defined(__VSF_HAL_${RTC_IP}_RTC_CLASS_IMPLEMENT)
38# define __VSF_CLASS_IMPLEMENT__
39#elif defined(__VSF_HAL_${RTC_IP}_RTC_CLASS_INHERIT__)
40# define __VSF_CLASS_INHERIT__
57#ifndef VSF_${RTC_IP}_RTC_CFG_MULTI_CLASS
58# define VSF_${RTC_IP}_RTC_CFG_MULTI_CLASS VSF_RTC_CFG_MULTI_CLASS
73#define VSF_RTC_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
74#define VSF_RTC_CFG_REIMPLEMENT_TYPE_CFG ENABLED
75#define VSF_RTC_CFG_REIMPLEMENT_TYPE_CTRL ENABLED
76#define VSF_RTC_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
81#define VSF_RTC_CFG_TIME_TYPE uint64_t
89#if VSF_${RTC_IP}_CFG_MULTI_CLASS == ENABLED
108#if VSF_RTC_CFG_REIMPLEMENT_TYPE_IRQ_MASK == ENABLED
116#if VSF_RTC_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
129#if VSF_RTC_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
131#if VSF_RTC_CFG_INHERIT_HAL_CAPABILITY == ENABLED
138#if VSF_RTC_CFG_REIMPLEMENT_TYPE_CTRL == ENABLED
160#undef __VSF_HAL_${RTC_IP}_RTC_CLASS_IMPLEMENT
161#undef __VSF_HAL_${RTC_IP}_RTC_CLASS_INHERIT__
vsf_arch_prio_t
Definition cortex_a_generic.h:88
#define vsf_class(__name)
Definition ooc_class.h:52
const i_spi_t vsf_spi_irq_mask_t irq_mask
Definition spi_interface.h:38
Definition vsf_template_hal_driver.h:204
RTC capability structure. Describes the features and capabilities supported by the RTC hardware.
Definition vsf_template_rtc.h:379
inherit(vsf_peripheral_capability_t) vsf_rtc_irq_mask_t irq_mask
RTC configuration structure.
Definition vsf_template_rtc.h:365
vsf_rtc_isr_t isr
Interrupt service routine configuration.
Definition vsf_template_rtc.h:366
RTC interrupt service routine configuration structure.
Definition vsf_template_rtc.h:353
vsf_arch_prio_t prio
Priority level for RTC interrupts.
Definition vsf_template_rtc.h:356
void * target_ptr
User context pointer passed to the handler.
Definition vsf_template_rtc.h:355
vsf_rtc_isr_handler_t * handler_fn
Interrupt handler function to process RTC interrupts.
Definition vsf_template_rtc.h:354
RTC instance structure, used for RTC Multi Class support, not needed in non Multi Class mode.
Definition vsf_template_rtc.h:453
vsf_rtc_ctrl_t
Definition rtc.h:139
@ __VSF_RTC_CTRL_DUMMY
Definition rtc.h:140
vsf_rtc_isr_t isr
Definition rtc.h:103
vsf_rtc_irq_mask_t
Definition rtc.h:109
@ VSF_RTC_IRQ_MASK_ALARM
Definition rtc.h:110
void vsf_rtc_isr_handler_t(void *target_ptr, vsf_rtc_t *rtc_ptr, vsf_rtc_irq_mask_t irq_mask)
Definition rtc.h:118
vsf_rtc_ctrl_t
RTC control commands for hardware-specific operations.
Definition vsf_template_rtc.h:413
vsf_rtc_irq_mask_t
RTC interrupt mask definition. Used to identify and manage different types of RTC interrupts.
Definition vsf_template_rtc.h:202