bf0_hal_efuse.h
Defines
-
HAL_EFUSE_BANK_SIZE
EFUSE bank size in bytes
-
HAL_EFUSE_BANK_WORD_SIZE
EFUSE bank size in words, must be 2^n
-
HAL_EFUSE_BANK_BIT_SIZE
EFUSE bank size in bits, must be 2^n
-
HAL_EFUSE_BANK_NUM
EFUSE bank number
Functions
-
HAL_StatusTypeDef HAL_EFUSE_Init(void)
Init Efuse controller.
- Return values:
void –
-
void HAL_EFUSE_ConfigBypass(bool enabled)
Configure bypass.
- Parameters:
enabled – true: enable bypass, false: disable bypass
- Return values:
void –
-
int32_t HAL_EFUSE_Write(uint16_t bit_offset, uint8_t *data, int32_t size)
Write data to efuse starting from bit_offset.
- Parameters:
bit_offset – bit_offset in efuse, must be 32bits aligned, bank0: 0~255, bank1: 256~511
data – point to the data to be written
size – data size in byte, must be multiple of 4bytes and written data cannot cross bank boundary
- Return values:
size – successfully written
-
int32_t HAL_EFUSE_Read(uint16_t bit_offset, uint8_t *data, int size)
Read data to efuse starting from bit_offset.
- Parameters:
bit_offset – bit_offset in efuse, must be 32bits aligned, bank0: 0~255, bank1: 256~511
data – point to buffer to save read data
size – data size in byte, must be multiple of 4bytes and read data cannot cross bank boundary
- Return values:
size – successfully read
-
int32_t HAL_EFUSE_Read2(uint16_t bit_offset, uint8_t *data, int bit_size)
Read data from efuse starting from bit_offset, no alignment requirement for bit_offset.
- Parameters:
bit_offset – bit_offset in efuse, bank0: 0~255, bank1: 256~511
data – point to buffer to save read data
bit_size – data size in bit to be read, read data cannot cross bank boundary
- Returns:
bit size successfully read
-
int32_t HAL_EFUSE_Extract(const uint32_t *bank_data, uint16_t bit_offset_in_bank, uint8_t *data, int bit_size)
Extract data from provided bank data starting from bit_offset, no alignment requirement for bit_offset.
- Parameters:
bank_data – pointer to the whole bank data array, HAL_EFUSE_BANK_WORD_SIZE words are expected
bit_offset_in_bank – bit_offset in one bank, range: 0~255
data – point to buffer to save read data
bit_size – data size in bit to be read, read data cannot cross bank boundary
- Returns:
bit size successfully read
-
int32_t HAL_EFUSE_Write2(uint16_t bit_offset, uint8_t *data, int32_t bit_size)
Write data to efuse starting from bit_offset, no alignment requirement for bit_offset.
- Parameters:
bit_offset – bit_offset in efuse, bank0: 0~255, bank1: 256~511
data – point to the data to be written
bit_size – data size in bit to be written, written data cannot cross bank boundary
- Returns:
bit size successfully written