Bouffalo SDK  1.0
Bouffalolab Software Development Kit
bflb_ef_ctrl.h
Go to the documentation of this file.
1 #ifndef _BFLB_EF_CTRL_H
2 #define _BFLB_EF_CTRL_H
3 
4 #include "bflb_core.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
21 typedef struct
22 {
23  char *name;
24  uint16_t en_addr;
25  uint16_t parity_addr;
26  uint16_t value_addr;
27  uint16_t value_len;
29 
33 typedef struct
34 {
35  uint8_t en;
36  uint8_t parity;
37  uint8_t empty;
38  uint8_t len;
39  uint32_t value;
41 
49 
57 
67 void bflb_ef_ctrl_write_direct(struct bflb_device_s *dev, uint32_t offset, uint32_t *pword, uint32_t count, uint8_t program);
68 
78 void bflb_ef_ctrl_read_direct(struct bflb_device_s *dev, uint32_t offset, uint32_t *pword, uint32_t count, uint8_t reload);
79 
88 void bflb_ef_ctrl_read_common_trim(struct bflb_device_s *dev, char *name, bflb_ef_ctrl_com_trim_t *trim, uint8_t reload);
89 
98 void bflb_ef_ctrl_write_common_trim(struct bflb_device_s *dev, char *name, uint32_t value, uint8_t program);
99 
108 uint8_t bflb_ef_ctrl_is_all_bits_zero(uint32_t val, uint8_t start, uint8_t len);
109 
116 uint32_t bflb_ef_ctrl_get_byte_zero_cnt(uint8_t val);
117 
125 uint8_t bflb_ef_ctrl_get_trim_parity(uint32_t val, uint8_t len);
126 
127 #ifdef __cplusplus
128 }
129 #endif
130 
139 #endif
Efuse common trim type definition.
Definition: bflb_ef_ctrl.h:33
uint8_t bflb_ef_ctrl_is_all_bits_zero(uint32_t val, uint8_t start, uint8_t len)
void bflb_ef_ctrl_read_direct(struct bflb_device_s *dev, uint32_t offset, uint32_t *pword, uint32_t count, uint8_t reload)
const char * name
Definition: bflb_core.h:94
int bflb_ef_ctrl_autoload_done(struct bflb_device_s *dev)
uint32_t bflb_ef_ctrl_get_common_trim_list(const bflb_ef_ctrl_com_trim_cfg_t **trim_list)
Get efuse control common trim list.
Efuse common trim config definition.
Definition: bflb_ef_ctrl.h:21
void bflb_ef_ctrl_write_common_trim(struct bflb_device_s *dev, char *name, uint32_t value, uint8_t program)
uint8_t bflb_ef_ctrl_get_trim_parity(uint32_t val, uint8_t len)
void bflb_ef_ctrl_write_direct(struct bflb_device_s *dev, uint32_t offset, uint32_t *pword, uint32_t count, uint8_t program)
uint32_t bflb_ef_ctrl_get_byte_zero_cnt(uint8_t val)
void bflb_ef_ctrl_read_common_trim(struct bflb_device_s *dev, char *name, bflb_ef_ctrl_com_trim_t *trim, uint8_t reload)