EFUSE

group EFUSE

The EFUSE driver provides support for programming and reading the fuse

Typedefs

typedef struct pi_fuser_reg pi_fuser_reg_t

Enums

enum pi_efuse_ioctl_e

Commands of efuse ioctl.

This is used to tell which command to execute through pi_efuse_ioctl

Values:

enumerator PI_EFUSE_IOCTL_PROGRAM_START = 1

Start the efuse programming.

enumerator PI_EFUSE_IOCTL_READ_START = 2

Start the efuse reading.

enumerator PI_EFUSE_IOCTL_CLOSE = 3

Close and stop the efuse for programming/reading.

Functions

uint32_t pi_efuse_value_get(uint32_t id)

Get the value of an efuse register.

Parameters:
  • id – The efuse register ID (Please check Datasheet for efuse registers)

Returns:

The efuse register value

void pi_efuse_program(uint32_t id, uint32_t val)

Program the specific efuse register.

Parameters:
  • id – The efuse register ID (Please check Datasheet for efuse registers)

  • val – The register value (Please check Datasheet for efuse registers)

int32_t pi_efuse_ioctl(uint32_t cmd, void *arg)

Dynamically control the efuse.

Parameters:
  • cmd – The efuse ioctl command. The command must be one of those defined in pi_efuse_ioctl_e

  • *arg – Not used for now, reserved for the future.

uint32_t pi_efuse_get_chip_version()

Get chip version from efuse.

Returns:

The chip version pre-fused in register

uint32_t pi_efuse_reg_val_update()
struct pi_fuser_reg
#include <efuse.h>

efuse register structure.

This structure is used to program or read the value of efuse

Public Members

uint32_t id

Id of the efuse register

uint32_t val

Val of the efuse register