xilnvm
Vitis Drivers API Documentation
xnvm_efuse_common.h File Reference

Overview

This file contains function declarations of eFUSE APIs.

MODIFICATION HISTORY:
Ver   Who  Date       Changes


3.0 kal 07/16/2022 Initial release 3.1 skg 10/25/2022 Added comments for macros and enums 3.2 kum 04/11/2023 Moved Voltage and Temp macros for LP,MP,HP ranges from versal xnvm_efuse.h vss 09/19/2023 Fixed MISRA-C Rule 8.7 violation 3.3 vss 12/31/2023 Added support for Program the eFuse protection bits only once ng 11/22/2023 Fixed doxygen grouping

 

Macros

eFuse ctrls constants
#define XNVM_EFUSE_CTRL_WR_LOCKED   (0x01U)
 < Macros for eFUSE CTRL WRITE LOCKED and UNLOCKED More...
 
#define XNVM_EFUSE_CTRL_WR_UNLOCKED   (0x00U)
 
#define XNVM_EFUSE_FULL_RANGE_TEMP_MIN   (-55.0f)
 Temaperature limits defination for versal Efuses. More...
 
#define XNVM_EFUSE_TEMP_HP_MAX   (125.0f)
 eFuse Range check definations More...
 
#define XNVM_EFUSE_HP_RANGE_CHECK   (3U)
 eFuse volatage limits definations More...
 
#define XNVM_EFUSE_PROTECTION_BIT_CLEAR   (0U)
 To check the corresponding protection eFuse is set or not. More...
 

Enumerations

Operation mode
enum  XNvm_EfuseOpMode { XNVM_EFUSE_MODE_RD, XNVM_EFUSE_MODE_PGM, XNVM_EFUSE_MODE_RD, XNVM_EFUSE_MODE_PGM }
 
Read mode
enum  XNvm_EfuseRdMode { XNVM_EFUSE_NORMAL_RD, XNVM_EFUSE_MARGIN_RD, XNVM_EFUSE_NORMAL_RD, XNVM_EFUSE_MARGIN_RD }
 
eFuse Page
enum  XNvm_EfuseType { XNVM_EFUSE_PAGE_0 = 0, XNVM_EFUSE_PAGE_1, XNVM_EFUSE_PAGE_2 }
 

Functions

int XNvm_EfuseCacheReload (void)
 This function reloads the eFUSE cache, so that eFUSE values can be directly read from cache. More...
 
void XNvm_EfuseDisablePowerDown (void)
 This function disables power down of eFUSE macros. More...
 
int XNvm_EfuseSetReadMode (XNvm_EfuseRdMode RdMode)
 This function sets read mode of eFUSE controller. More...
 
void XNvm_EfuseSetRefClk (void)
 This function sets reference clock of eFUSE controller. More...
 
void XNvm_EfuseEnableProgramming (void)
 This function enables programming mode of eFUSE controller. More...
 
int XNvm_EfuseDisableProgramming (void)
 This function disables programming mode of eFUSE controller. More...
 
int XNvm_EfuseResetReadMode (void)
 This function disables Margin Read mode of eFUSE controller. More...
 
void XNvm_EfuseInitTimers (void)
 This function initializes eFUSE controller timers. More...
 
int XNvm_EfuseSetupController (XNvm_EfuseOpMode Op, XNvm_EfuseRdMode RdMode)
 This function setups eFUSE controller for given operation and read mode. More...
 
int XNvm_EfuseCheckForTBits (void)
 This function checks whether Tbits are programmed or not. More...
 
u32 XNvm_GetSysmonSupplyRegId (UINTPTR SysmonpsvSatBaseAddr)
 This function reads root register ID where measurement is stored in Root SysMon. More...
 
int XNvm_EfuseTempAndVoltChecks (const XSysMonPsv *SysMonInstPtr)
 This function performs the Temparature and Voltage checks to ensure that they are in limits before eFuse programming. More...
 
u32 XNvm_EfuseReadProtectionBits (u32 Mask)
 This function reads the corresponding eFuse protection bits. More...