WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_rtc_v100_regs_op.h
浏览该文件的文档.
1
9#ifndef HAL_RTC_V100_REGS_OP_H
10#define HAL_RTC_V100_REGS_OP_H
11
12#include <stdint.h>
13#include "errcode.h"
14#include "rtc_porting.h"
16#include "soc_osal.h"
17#include "debug/osal_debug.h"
18
19#ifdef __cplusplus
20#if __cplusplus
21extern "C" {
22#endif /* __cplusplus */
23#endif /* __cplusplus */
24
32extern uintptr_t g_rtc_regs[CONFIG_RTC_MAX_NUM];
33
39static inline uint32_t hal_rtc_control_reg_get_enable(rtc_index_t index)
40{
41 rtc_control_reg_data_t rtc_control_reg;
42 rtc_control_reg.d32 = ((rtc_regs_info_t *)g_rtc_regs[index])->control_reg;
43 return rtc_control_reg.b.enable;
44}
45
51static inline void hal_rtc_control_reg_set_enable(rtc_index_t index, uint32_t val)
52{
53 rtc_control_reg_data_t rtc_control_reg;
54 rtc_control_reg.d32 = ((rtc_regs_info_t *)g_rtc_regs[index])->control_reg;
55 rtc_control_reg.b.enable = val;
56 ((rtc_regs_info_t *)g_rtc_regs[index])->control_reg = rtc_control_reg.d32;
57}
58
64static inline uint32_t hal_rtc_control_reg_get_mode(rtc_index_t index)
65{
66 rtc_control_reg_data_t rtc_control_reg;
67 rtc_control_reg.d32 = ((rtc_regs_info_t *)g_rtc_regs[index])->control_reg;
68 return rtc_control_reg.b.mode;
69}
70
76static inline void hal_rtc_control_reg_set_mode(rtc_index_t index, uint32_t val)
77{
78 rtc_control_reg_data_t rtc_control_reg;
79 rtc_control_reg.d32 = ((rtc_regs_info_t *)g_rtc_regs[index])->control_reg;
80 rtc_control_reg.b.mode = val;
81 ((rtc_regs_info_t *)g_rtc_regs[index])->control_reg = rtc_control_reg.d32;
82}
83
89static inline uint32_t hal_rtc_load_count_get(rtc_index_t index)
90{
91 return ((rtc_regs_info_t *)g_rtc_regs[index])->load_count;
92}
93
99static inline void hal_rtc_load_count_set(rtc_index_t index, uint32_t val)
100{
101 ((rtc_regs_info_t *)g_rtc_regs[index])->load_count = val;
102}
103
109static inline uint32_t hal_rtc_get_current_load(rtc_index_t index)
110{
111 return ((rtc_regs_info_t *)g_rtc_regs[index])->current_value;
112}
113
119static inline uint32_t hal_rtc_get_eoi(rtc_index_t index)
120{
121 return ((rtc_regs_info_t *)g_rtc_regs[index])->eoi;
122}
123
124#if defined(CONFIG_RTC_SUPPORT_LPM)
130static inline uint32_t hal_rtc_v100_get_int_sts(rtc_index_t index)
131{
132 return ((rtc_regs_info_t *)g_rtc_regs[index])->int_status;
133}
134#endif /* CONFIG_RTC_SUPPORT_LPM */
139#ifdef __cplusplus
140#if __cplusplus
141}
142#endif /* __cplusplus */
143#endif /* __cplusplus */
144
145#endif
uintptr_t g_rtc_comm_regs
Definition hal_rtc.c:13
uintptr_t g_rtc_regs[5]
Definition hal_rtc.c:14
rtc_index_t
rtc索引的定义.
Definition rtc_porting.h:45
Definition hal_rtc_v100_regs_def.h:57
unsigned int uintptr_t
Definition td_type.h:65
This union represents the bit fields in the Control. Read the register into the d32 member then set...
Definition hal_rtc_v100_regs_def.h:33
uint32_t enable
Definition hal_rtc_v100_regs_def.h:36
struct rtc_control_reg_data::@115 b
uint32_t d32
Definition hal_rtc_v100_regs_def.h:34
uint32_t mode
Definition hal_rtc_v100_regs_def.h:37