E-Fuse#

Modules#

sl_efuse_version_t

Functions#

This API is used to get the release, sqa and dev version of EFUSE.

sl_status_t

This API is used to enable peripheral clock for efuse.

sl_status_t

This API is used to disable peripheral clock for efuse.

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 bit in the position of an 8-bit location in eFUSE 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 from 32x8 byte eFUSE memory (OTP) 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 a 1 byte of 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 a 1 byte of 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 )

This API is used 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 peripheral clock for efuse.

Parameters
[in]

Returns

  • returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success


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

Parameters
[in]

Returns

  • returns status 0 if successful, else error code. SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument SL_STATUS _OK - Success


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

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


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

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


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

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

    • SL_STATUS _OK - Success


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

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


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

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

- 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


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

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


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

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


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

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


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

Parameters
[in]

Returns

  • none


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

Parameters
[in]

Returns

  • none


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