eFuse (Electronic Fuses)

group group_efuse

Electronic Fuses (eFuses) are non-volatile memory where each bit is one-time programmable (OTP).

The functions and other declarations used in this driver are in cy_efuse.h. You can include cy_pdl.h to get access to all functions and declarations in the PDL.

The eFuse driver enables reading the state of any bit.

  • CAT1A devices does not support writing to eFuse memory. Writing an eFuse bit is typically done by a production programmer. Fuses are programmed via the PSoC Programmer tool that parses the hex file and extracts the necessary information; the fuse data must be located at the dedicated section in the hex file. For more details see PSoC 6 Programming Specifications

  • CAT1B devices support writing to eFuse memory.

One eFuse macro consists of 256 bits (32 * 8). Consult the device-specific datasheet to determine how many macros a device has. These are implemented as a regular Advanced High-performance Bus (AHB) peripheral with the following characteristics:

  • eFuses are used to control the device life-cycle stage (NORMAL, SECURE, and SECURE_WITH_DEBUG) and the protection settings;

  • eFuse memory can be programmed (eFuse bit value changed from ‘0’ to ‘1’) only once; if an eFuse bit is blown, it cannot be cleared again;

Configuration Considerations

The eFuse driver provides the simplest way to read and write eFuse memory. No configuration is needed.

More Information

Refer to the technical reference manual (TRM) and the device datasheet.

Changelog

Version

Changes

Reason for Change

2.0

Added the following functions: Cy_EFUSE_Init,
Cy_EFUSE_DeInit,
Cy_EFUSE_Enable,
Cy_EFUSE_Disable,
Cy_EFUSE_WriteBit,
Cy_EFUSE_WriteByte,
Cy_EFUSE_WriteWord,
Cy_EFUSE_WriteWordArray,
Cy_EFUSE_ReadByte,
Cy_EFUSE_ReadWord,
Cy_EFUSE_ReadWordArray,
Cy_EFUSE_WriteBootRow,
Cy_EFUSE_ReadBootRow.

New driver APIs support for CAT1B devices.

1.10.4

Minor documentation updates.

Removed MISRA 2004 compliance details and verified MISRA 2012 complaince.

1.10.3

Minor documentation updates.

Documentation enhancement.

1.10.2

Fix driver header path.

Folder structure changed.

1.10.1

Added header guard CY_IP_MXEFUSE.

To enable the PDL compilation with wounded out IP blocks.

1.10

Flattened the organization of the driver source code into the single source directory and the single include directory.

Driver library directory-structure simplification.

1.0

Initial version