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
27#include "../../__device.h"
39#if defined(__VSF_HAL_${RTC_IP}_RTC_CLASS_IMPLEMENT)
40# define __VSF_CLASS_IMPLEMENT__
41#elif defined(__VSF_HAL_${RTC_IP}_RTC_CLASS_INHERIT__)
42# define __VSF_CLASS_INHERIT__
59#ifndef VSF_${RTC_IP}_RTC_CFG_MULTI_CLASS
60# define VSF_${RTC_IP}_RTC_CFG_MULTI_CLASS VSF_RTC_CFG_MULTI_CLASS
74#define VSF_RTC_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
75#define VSF_RTC_CFG_REIMPLEMENT_TYPE_CFG 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
154#undef __VSF_HAL_${RTC_IP}_RTC_CLASS_IMPLEMENT
155#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:48
const i_spi_t vsf_spi_irq_mask_t irq_mask
Definition spi_interface.h:38
Definition vsf_template_hal_driver.h:203
RTC capability structure. Describes the features and capabilities supported by the RTC hardware.
Definition vsf_template_rtc.h:363
inherit(vsf_peripheral_capability_t) vsf_rtc_irq_mask_t irq_mask
RTC configuration structure.
Definition vsf_template_rtc.h:349
vsf_rtc_isr_t isr
Interrupt service routine configuration.
Definition vsf_template_rtc.h:350
RTC interrupt service routine configuration structure.
Definition vsf_template_rtc.h:337
vsf_arch_prio_t prio
Priority level for RTC interrupts.
Definition vsf_template_rtc.h:340
void * target_ptr
User context pointer passed to the handler.
Definition vsf_template_rtc.h:339
vsf_rtc_isr_handler_t * handler_fn
Interrupt handler function to process RTC interrupts.
Definition vsf_template_rtc.h:338
RTC instance structure, used for RTC Multi Class support, not needed in non Multi Class mode.
Definition vsf_template_rtc.h:406
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_irq_mask_t
RTC interrupt mask definition. Used to identify and manage different types of RTC interrupts.
Definition vsf_template_rtc.h:186