E-Fuse#

Modules#

sl_efuse_version_t

Functions#

To get the release, sqa and dev version of EFUSE.

sl_status_t

This API Is Used to enable efuse clock.

sl_status_t

This API Is Used to disable efuse clock.

sl_status_t

This API is used to Initialize the EFUSE.

sl_status_t

This API is used to Un-initialize the EFUSE.

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.

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.

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 eFUSE data in the specified address.

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 to EFUSE macro in memory mapped mode.

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 the data from 32x8 byte eFUSE memory(OTP) in memory mapped mode.

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 the data from 32x8 byte eFUSE memory(OTP) in fsm mode.

__STATIC_INLINE void

This API is used to enable the EFUSE.

__STATIC_INLINE void

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 )

To get the release, sqa and dev version of EFUSE.

Parameters
[in]

Returns


Definition at line 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 efuse clock.

Parameters
[in]

Returns

  • returns status 0 if successful, else error code.


Definition at line 93 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 efuse clock.

Parameters
[in]

Returns

  • returns status 0 if successful, else error code.


Definition at line 109 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.

Parameters
[in]

This API first enables the efuse clock and then efuse. Returns

  • returns status 0 if successful, else error code.


Definition at line 118 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.

Parameters
[in]

This API first disables the efuse and then efuse clock.

Returns

  • returns status 0 if successful, else error code.


Definition at line 135 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.

Parameters
[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


Definition at line 150 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.

Parameters
[in]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


Definition at line 167 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 eFUSE data in the specified address.

Parameters
[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

- hold time in write bit

Returns

  • returns status 0 if successful, else error code as follow.

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer


Definition at line 185 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 to EFUSE macro in memory mapped mode.

Parameters
[in]address

- Holds the address from where we are reading the 1 word of data

[in]read_word

- Pointer that points to the 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 invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer


Definition at line 209 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 the data from 32x8 byte eFUSE memory(OTP) in memory mapped mode.

Parameters
[in]address

- Holds the address from where we are reading the 1 byte of data

[in]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 invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer


Definition at line 233 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 the data from 32x8 byte eFUSE memory(OTP) in fsm mode.

Parameters
[in]address

- Holds the address from where we are reading the 1 byte of data

[in]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 invalid argument

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer


Definition at line 257 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.

Parameters
[in]

Returns

  • none


Definition at line 266 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.

Parameters
[in]

Returns

  • none


Definition at line 284 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_efuse.h