E-Fuse#
Modules#
Functions#
This API is used to get the release, sqa and dev version of EFUSE.
This API is used to enable peripheral clock for efuse.
This API is used to disable peripheral clock for efuse.
This API is used to Initialize the eFUSE.
This API is used to un-initialize the eFUSE.
This API is used to set the eFUSE address for read and write operations.
This API is used to get the eFUSE address for read and write operations.
This API is used to write the bit in the position of an 8-bit location in eFUSE specified address.
This API is used to read the 1 word (16 bits) of data from 32x8 byte eFUSE memory (OTP) in memory mapped mode.
This API is used to read a 1 byte of data from 32x8 byte eFUSE memory(OTP) in memory mapped mode.
This API is used to read a 1 byte of data from 32x8 byte eFUSE memory (OTP) in fsm mode.
This API is used to enable the EFUSE.
This API is used to Disable the EFUSE.
Function Documentation#
sl_si91x_efuse_get_version#
sl_efuse_version_t sl_si91x_efuse_get_version (void )
This API is used to get the release, sqa and dev version of EFUSE.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
Returns
sl_efuse_version_t type structure
sl_si91x_efuse_enable_clock#
sl_status_t sl_si91x_efuse_enable_clock (void )
This API is used to enable peripheral clock for efuse.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
Returns
returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success
sl_si91x_efuse_disable_clock#
sl_status_t sl_si91x_efuse_disable_clock (void )
This API is used to disable peripheral clock for efuse.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
Returns
returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success
sl_si91x_efuse_init#
sl_status_t sl_si91x_efuse_init (void )
This API is used to Initialize the eFUSE.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
This API first enables the efuse clock and then efuse. Returns
returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success
sl_si91x_efuse_deinit#
sl_status_t sl_si91x_efuse_deinit (void )
This API is used to un-initialize the eFUSE.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
This API first disables the efuse and then efuse clock.
Returns
returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success
sl_si91x_efuse_set_address#
sl_status_t sl_si91x_efuse_set_address (uint16_t address)
This API is used to set the eFUSE address for read and write operations.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | address | - Holds the address at which the data has to be written in the efuse |
Returns
returns status 0 if successful, else error code.
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK - Success
sl_si91x_efuse_get_address#
sl_status_t sl_si91x_efuse_get_address (uint16_t * read_address)
This API is used to get the eFUSE address for read and write operations.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t * | [out] | read_address | - Pointer holds the address at which the data has to be written in the efuse |
Returns
returns status 0 if successful, else error code as follow:
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK - Success
sl_si91x_efuse_write_bit#
sl_status_t sl_si91x_efuse_write_bit (uint16_t address, uint8_t bit_pos, uint32_t hold_time)
This API is used to write the bit in the position of an 8-bit location in eFUSE specified address.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | address | - Holds the address at which the data has to be written in the efuse |
uint8_t | [in] | bit_pos | - Variable that holds the position of bit on which the data will be placed |
uint32_t | [in] | hold_time | - eFUSE strobe hold time, depends on clock frequency of eFUSE controller |
There is only one programming scheme, which is single bit programming.
Returns
returns status 0 if successful, else error code as follow.
SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer
SL_STATUS _OK - Success
sl_si91x_efuse_memory_mapped_read_word#
sl_status_t sl_si91x_efuse_memory_mapped_read_word (uint16_t address, uint16_t * read_word, uint32_t soc_clk)
This API is used to read the 1 word (16 bits) of data from 32x8 byte eFUSE memory (OTP) in memory mapped mode.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | address | - Holds the address from where we are reading the 1 word of data |
uint16_t * | [out] | read_word | - Pointer that points to the data which is stored in the efuse |
uint32_t | [in] | soc_clk | - It is input clock frequency of eFUSE controller |
Returns
returns status 0 if successful, else error code as follow.
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer
SL_STATUS _OK - Success
sl_si91x_efuse_memory_mapped_read_byte#
sl_status_t sl_si91x_efuse_memory_mapped_read_byte (uint16_t address, uint8_t * read_byte, uint32_t soc_clk)
This API is used to read a 1 byte of data from 32x8 byte eFUSE memory(OTP) in memory mapped mode.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | address | - Holds the address from where we are reading the 1 byte of data |
uint8_t * | [out] | read_byte | - Pointer that points to the 8 bit data which is stored in the efuse |
uint32_t | [in] | soc_clk | - It is input clock frequency |
Returns
returns status 0 if successful, else error code as follow.
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer
SL_STATUS _OK - Success
sl_si91x_efuse_fsm_read_byte#
sl_status_t sl_si91x_efuse_fsm_read_byte (uint16_t address, uint8_t * read_byte, uint32_t soc_clk)
This API is used to read a 1 byte of data from 32x8 byte eFUSE memory (OTP) in fsm mode.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint16_t | [in] | address | - Holds the address from where we are reading the 1 byte of data |
uint8_t * | [out] | read_byte | - Pointer that points to the 8 bit data which is stored in the efuse |
uint32_t | [in] | soc_clk | - It is input clock frequency |
Returns
returns status 0 if successful, else error code as follow.
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is an invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is a null pointer
SL_STATUS _OK - Success
sl_si91x_efuse_enable#
__STATIC_INLINE void sl_si91x_efuse_enable (void )
This API is used to enable the EFUSE.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
Returns
none
sl_si91x_efuse_disable#
__STATIC_INLINE void sl_si91x_efuse_disable (void )
This API is used to Disable the EFUSE.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | [in] |
Returns
none