WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_efuse_v151_reg_op.h
浏览该文件的文档.
1
9#ifndef HAL_EFUSE_V151_REGS_OP_H
10#define HAL_EFUSE_V151_REGS_OP_H
11
12#include <stdint.h>
14
15#define EFUSE_REGION_INDEX0 0
16#define EFUSE_REGION_INDEX1 1
17#define EFUSE_REGION_INDEX2 2
18
19#ifdef __cplusplus
20#if __cplusplus
21extern "C" {
22#endif /* __cplusplus */
23#endif /* __cplusplus */
24
31extern efuse_regs_t *g_efuse_regs[CONFIG_EFUSE_REGION_NUM];
33#if defined(CONFIG_EFUSE_SWITCH_EN)
34extern efuse_switch_en_regs_t *g_efuse_switch_en_regs;
35#endif
36
42int32_t hal_efuse_regs_init(int32_t i);
43
48void hal_efuse_regs_deinit(void);
49
50
51static inline uint32_t hal_efuse_sts_get(uint8_t region)
52{
55 if (region == 0) { return efuse_sts.b.efuse_boot0_done; }
56#if CONFIG_EFUSE_REGION_NUM > EFUSE_REGION_INDEX1
57 if (region == EFUSE_REGION_INDEX1) { return efuse_sts.b.efuse_boot1_done; }
58#endif
59#if CONFIG_EFUSE_REGION_NUM > EFUSE_REGION_INDEX2
60 if (region == EFUSE_REGION_INDEX2) { return efuse_sts.b.efuse_boot2_done; }
61#endif
62 return 0;
63}
64
65static inline void hal_efuse_ctl_set(uint8_t region, uint32_t val)
66{
71}
72
73static inline void hal_efuse_clock_period_set(uint8_t region, uint32_t val)
74{
79}
80
81static inline void hal_efuse_avdd_ctl_set(uint8_t region, uint32_t val)
82{
87}
88
89#if defined(CONFIG_EFUSE_SWITCH_EN)
90static inline void hal_efuse_switch_en_set(uint32_t val)
91{
92 efuse_switch_en_ctl_t efuse_switch_en;
93 efuse_switch_en.d32 = g_efuse_switch_en_regs->efuse_switch_en.d32;
94 efuse_switch_en.b.efuse_switch_enable = val;
95 g_efuse_switch_en_regs->efuse_switch_en.d32 = efuse_switch_en.d32;
96}
97#endif
98
103#ifdef __cplusplus
104#if __cplusplus
105}
106#endif /* __cplusplus */
107#endif /* __cplusplus */
108
109#endif
int32_t hal_efuse_regs_init(int32_t i)
Init the efuse which will set the base address of registers.
Definition hal_efuse_v151_reg_op.c:20
void hal_efuse_regs_deinit(void)
Deinit the hal_efuse which will clear the base address of registers has been set by hal_efuse_regs_in...
Definition hal_efuse_v151_reg_op.c:33
efuse_boot_done_regs_t * g_efuse_boot_done_regs
Definition hal_efuse_v151_reg_op.c:15
efuse_regs_t * g_efuse_regs[1]
Definition hal_efuse_v151_reg_op.c:14
#define EFUSE_REGION_INDEX1
Definition hal_efuse_v151_reg_op.h:16
#define EFUSE_REGION_INDEX2
Definition hal_efuse_v151_reg_op.h:17
Registers associated with Efuse boot done.
Definition hal_efuse_v151_reg_def.h:79
volatile efuse_sts_t efuse_sts_data
Definition hal_efuse_v151_reg_def.h:80
Registers associated with Efuse.
Definition hal_efuse_v151_reg_def.h:69
volatile clock_period_t efuse_clk_period_data
Definition hal_efuse_v151_reg_def.h:71
volatile efuse_ctl_t efuse_ctl_data
Definition hal_efuse_v151_reg_def.h:70
volatile efuse_avdd_ctl_t efuse_avdd_ctl_data
Definition hal_efuse_v151_reg_def.h:73
Definition hal_efuse_v151_reg_def.h:43
struct clock_period::@97 b
uint32_t d32
Definition hal_efuse_v151_reg_def.h:44
uint32_t clock_period
Definition hal_efuse_v151_reg_def.h:46
Definition hal_efuse_v151_reg_def.h:50
uint32_t d32
Definition hal_efuse_v151_reg_def.h:51
struct efuse_avdd_ctl::@98 b
uint32_t efuse_avdd_sw
Definition hal_efuse_v151_reg_def.h:53
Definition hal_efuse_v151_reg_def.h:36
uint32_t d32
Definition hal_efuse_v151_reg_def.h:37
struct efuse_ctl::@96 b
uint32_t efuse_wr_rd
Definition hal_efuse_v151_reg_def.h:39
Definition hal_efuse_v151_reg_def.h:26
struct efuse_sts::@95 b
uint32_t efuse_boot2_done
Definition hal_efuse_v151_reg_def.h:32
uint32_t efuse_boot1_done
Definition hal_efuse_v151_reg_def.h:31
uint32_t efuse_boot0_done
Definition hal_efuse_v151_reg_def.h:30
uint32_t d32
Definition hal_efuse_v151_reg_def.h:27