lib/sw_services/xilnvm/examples/xilnvm_efuse_versal_client_example.c
static int XilNvm_EfuseShowSecMisc1Bits(void)
{
	int Status = XST_FAILURE;
	XNvm_EfuseSecMisc1Bits *SecMisc1Bits =
		(XNvm_EfuseSecMisc1Bits *)CacheAlignedArr;

	Xil_DCacheInvalidateRange((UINTPTR)&CacheAlignedArr,
		sizeof(CacheAlignedArr));

	Status = XNvm_EfuseReadSecMisc1Bits((UINTPTR)SecMisc1Bits);
	if (Status != XST_SUCCESS) {
		goto END;
	}

	Xil_DCacheInvalidateRange((UINTPTR)&CacheAlignedArr,
		sizeof(CacheAlignedArr));

	xil_printf("\r\nSecurity Misc1 eFuses:\n\r");

	if (SecMisc1Bits->LpdMbistEn != FALSE) {
		xil_printf("LpdMbistEn efuse is programmed\n\r");
	}
	else {
		xil_printf("LpdMbistEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->PmcMbistEn != FALSE) {
		xil_printf("PmcMbistEn efuse is programmed\n\r");
	}
	else {
		xil_printf("PmcMbistEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->LpdNocScEn != FALSE) {
		xil_printf("LpdNocScEn efuse is programmed\n\r");
	}
	else {
		xil_printf("LpdNocScEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->SysmonVoltMonEn != FALSE) {
		xil_printf("SysmonVoltMonEn efuse is programmed\n\r");
	}
	else {
		xil_printf("SysmonVoltMonEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->SysmonTempMonEn != FALSE) {
		xil_printf("SysmonTempMonEn efuse is programmed\n\r");
	}
	else {
		xil_printf("SysmonTempMonEn efuse is not programmed\n\r");
	}
	Status = XST_SUCCESS;

END:
	return Status;
}
/****************************************************************************/
/**
 * This API reads Security Misc1 control bits from efuse cache and displays.
 *
 * @return
 * 		- XST_SUCCESS - If read is successful
 * 		- ErrorCode - On failure
 *
 ******************************************************************************/
This API reads Security Misc1 control bits from efuse cache and displays.
@return
- XST_SUCCESS - If read is successful
- ErrorCode - On failure
This API reads Security Misc1 control bits from efuse cache and displays . @return - XST_SUCCESS - If read is successful - ErrorCode - On failure
static int XilNvm_EfuseShowSecMisc1Bits(void)
{
	int Status = XST_FAILURE;
	XNvm_EfuseSecMisc1Bits *SecMisc1Bits =
		(XNvm_EfuseSecMisc1Bits *)CacheAlignedArr;
	Xil_DCacheInvalidateRange((UINTPTR)&CacheAlignedArr,
		sizeof(CacheAlignedArr));
	Status = XNvm_EfuseReadSecMisc1Bits((UINTPTR)SecMisc1Bits);
	if (Status != XST_SUCCESS) {
		goto END;
	}
	Xil_DCacheInvalidateRange((UINTPTR)&CacheAlignedArr,
		sizeof(CacheAlignedArr));
	xil_printf("\r\nSecurity Misc1 eFuses:\n\r");
	if (SecMisc1Bits->LpdMbistEn != FALSE) {
		xil_printf("LpdMbistEn efuse is programmed\n\r");
	}
	else {
		xil_printf("LpdMbistEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->PmcMbistEn != FALSE) {
		xil_printf("PmcMbistEn efuse is programmed\n\r");
	}
	else {
		xil_printf("PmcMbistEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->LpdNocScEn != FALSE) {
		xil_printf("LpdNocScEn efuse is programmed\n\r");
	}
	else {
		xil_printf("LpdNocScEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->SysmonVoltMonEn != FALSE) {
		xil_printf("SysmonVoltMonEn efuse is programmed\n\r");
	}
	else {
		xil_printf("SysmonVoltMonEn efuse is not programmed\n\r");
	}
	if (SecMisc1Bits->SysmonTempMonEn != FALSE) {
		xil_printf("SysmonTempMonEn efuse is programmed\n\r");
	}
	else {
		xil_printf("SysmonTempMonEn efuse is not programmed\n\r");
	}
	Status = XST_SUCCESS;
END:
	return Status;
}
static int XilNvm_EfuseShowSecMisc1Bits ( void ) { int Status = XST_FAILURE ; XNvm_EfuseSecMisc1Bits * SecMisc1Bits = ( XNvm_EfuseSecMisc1Bits * ) CacheAlignedArr ; Xil_DCacheInvalidateRange ( ( UINTPTR ) & CacheAlignedArr , sizeof ( CacheAlignedArr ) ) ; Status = XNvm_EfuseReadSecMisc1Bits ( ( UINTPTR ) SecMisc1Bits ) ; if ( Status != XST_SUCCESS ) { goto END ; } Xil_DCacheInvalidateRange ( ( UINTPTR ) & CacheAlignedArr , sizeof ( CacheAlignedArr ) ) ; xil_printf ( " \r \n \n \r " ) ; if ( SecMisc1Bits -> LpdMbistEn != FALSE ) { xil_printf ( " \n \r " ) ; } else { xil_printf ( " \n \r " ) ; } if ( SecMisc1Bits -> PmcMbistEn != FALSE ) { xil_printf ( " \n \r " ) ; } else { xil_printf ( " \n \r " ) ; } if ( SecMisc1Bits -> LpdNocScEn != FALSE ) { xil_printf ( " \n \r " ) ; } else { xil_printf ( " \n \r " ) ; } if ( SecMisc1Bits -> SysmonVoltMonEn != FALSE ) { xil_printf ( " \n \r " ) ; } else { xil_printf ( " \n \r " ) ; } if ( SecMisc1Bits -> SysmonTempMonEn != FALSE ) { xil_printf ( " \n \r " ) ; } else { xil_printf ( " \n \r " ) ; } Status = XST_SUCCESS ; END : return Status ; }
This API reads Security Misc1 control bits from efuse cache and displays.
This API reads Security Misc1 control bits from efuse cache and displays .