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.
[in] |
Returns
sl_efuse_version_t type structure
85
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
sl_si91x_efuse_enable_clock#
sl_status_t sl_si91x_efuse_enable_clock (void )
This API is used to enable peripheral clock for efuse.
[in] |
Returns
returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success
95
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
sl_si91x_efuse_disable_clock#
sl_status_t sl_si91x_efuse_disable_clock (void )
This API is used to disable peripheral clock for efuse.
[in] |
Returns
returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success
113
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
sl_si91x_efuse_init#
sl_status_t sl_si91x_efuse_init (void )
This API is used to Initialize the eFUSE.
[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
124
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
sl_si91x_efuse_deinit#
sl_status_t sl_si91x_efuse_deinit (void )
This API is used to un-initialize the eFUSE.
[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
143
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
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.
[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
159
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
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.
[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
177
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
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.
[in] | address | - Holds the address at which the data has to be written in the efuse |
[in] | bit_pos | - Variable that holds the position of bit on which the data will be placed |
[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
198
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
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.
[in] | address | - Holds the address from where we are reading the 1 word of data |
[out] | read_word | - Pointer that points to the data which is stored in the efuse |
[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
223
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
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.
[in] | address | - Holds the address from where we are reading the 1 byte of data |
[out] | read_byte | - Pointer that points to the 8 bit data which is stored in the efuse |
[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
248
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
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.
[in] | address | - Holds the address from where we are reading the 1 byte of data |
[out] | read_byte | - Pointer that points to the 8 bit data which is stored in the efuse |
[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
273
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
sl_si91x_efuse_enable#
__STATIC_INLINE void sl_si91x_efuse_enable (void )
This API is used to enable the EFUSE.
[in] |
Returns
none
282
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h
sl_si91x_efuse_disable#
__STATIC_INLINE void sl_si91x_efuse_disable (void )
This API is used to Disable the EFUSE.
[in] |
Returns
none
300
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h