xilnvm
Vitis Drivers API Documentation
common/xnvm_defs.h File Reference

Overview

This file contains the xilnvm API IDs.

MODIFICATION HISTORY:
Ver   Who  Date     Changes


1.0 kal 07/05/21 Initial release kal 07/25/21 Added eFUSE IPI API_IDs and common structures between client and server kpt 08/27/21 Added client-server support for puf helper data efuse programming 1.1 kpt 11/29/21 Added macro XNvm_DCacheFlushRange har 01/03/22 Renamed NumOfPufFuses as NumOfPufFusesRows am 02/28/22 Fixed MISRA C violation rule 4.5 kpt 03/03/22 Fixed alignment issue in XNvm_EfusePufFuseAddr by rearranging the structure elements 3.1 skg 10/28/22 Added comments 3.3 vss 02/23/24 Added IPI support for eFuse read and write vss 05/20/24 Added IPI support for AES key write ng 11/22/24 Fixed doxygen grouping

 

Data Structures

struct  XNvm_EfusePufHdAddr
 < Puf helper data More...
 

Macros

#define XNVM_DEBUG   (0U)
 < Enable client printfs by setting XNVM_DEBUG to 1 More...
 
#define XNvm_DCacheFlushRange(SrcAddr, Len)   Xil_DCacheFlushRange((INTPTR)SrcAddr, Len)
 Cache Invalidate function. More...
 
#define XNVM_API(ApiId)   ((u32)ApiId)
 Macro to extract the API_ID from CmdId. More...
 

Enumerations

enum  XNvm_ApiId {
  XNVM_API_FEATURES = 0, XNVM_API_ID_BBRAM_WRITE_AES_KEY, XNVM_API_ID_BBRAM_ZEROIZE, XNVM_API_ID_BBRAM_WRITE_USER_DATA,
  XNVM_API_ID_BBRAM_READ_USER_DATA, XNVM_API_ID_BBRAM_LOCK_WRITE_USER_DATA, XNVM_API_ID_EFUSE_WRITE, XNVM_API_ID_EFUSE_WRITE_PUF,
  XNVM_API_ID_EFUSE_PUF_USER_FUSE_WRITE, XNVM_API_ID_EFUSE_READ_IV, XNVM_API_ID_EFUSE_READ_REVOCATION_ID, XNVM_API_ID_EFUSE_READ_OFFCHIP_REVOCATION_ID,
  XNVM_API_ID_EFUSE_READ_USER_FUSES, XNVM_API_ID_EFUSE_READ_MISC_CTRL_BITS, XNVM_API_ID_EFUSE_READ_SEC_CTRL_BITS, XNVM_API_ID_EFUSE_READ_SEC_MISC1_BITS,
  XNVM_API_ID_EFUSE_READ_BOOT_ENV_CTRL_BITS, XNVM_API_ID_EFUSE_READ_PUF_SEC_CTRL_BITS, XNVM_API_ID_EFUSE_READ_PPK_HASH, XNVM_API_ID_EFUSE_READ_DEC_EFUSE_ONLY,
  XNVM_API_ID_EFUSE_READ_DNA, XNVM_API_ID_EFUSE_READ_PUF_USER_FUSE, XNVM_API_ID_EFUSE_READ_PUF, XNVM_API_ID_EFUSE_READ_CACHE,
  XNVM_API_ID_EFUSE_WRITE_IV, XNVM_API_ID_EFUSE_WRITE_SECURITY_MISC1, XNVM_API_ID_EFUSE_WRITE_PUF_DATA, XNVM_API_ID_EFUSE_WRITE_OFF_CHIP_ID,
  XNVM_API_ID_EFUSE_WRITE_USER_EFUSE, XNVM_API_ID_EFUSE_WRITE_REVOCATION_ID, XNVM_API_ID_EFUSE_WRITE_PPK_HASH, XNVM_API_ID_EFUSE_WRITE_ANLG_TRIM,
  XNVM_API_ID_EFUSE_WRITE_BOOT_ENV_CTRL, XNVM_API_ID_EFUSE_WRITE_MISC_CTRL, XNVM_API_ID_EFUSE_WRITE_SECURITY_CTRL, XNVM_API_ID_EFUSE_WRITE_SECURITY_MISC0_CTRL,
  XNVM_API_ID_EFUSE_WRITE_AES_KEYS, XNVM_API_MAX
}
 

Macro Definition Documentation

#define XNVM_API (   ApiId)    ((u32)ApiId)

Macro to extract the API_ID from CmdId.

#define XNvm_DCacheFlushRange (   SrcAddr,
  Len 
)    Xil_DCacheFlushRange((INTPTR)SrcAddr, Len)

Cache Invalidate function.

Macro to typecast XILSECURE API ID

Referenced by XNvm_EfuseRevokePpk(), XNvm_EfuseWriteIVs(), XNvm_EfuseWritePuf(), XNvm_EfuseWriteRevocationId(), and XNvm_EfuseWriteUserFuses().

#define XNVM_DEBUG   (0U)

< Enable client printfs by setting XNVM_DEBUG to 1

Enumeration Type Documentation

enum XNvm_ApiId
Enumerator
XNVM_API_FEATURES 

0U

XNVM_API_ID_BBRAM_WRITE_AES_KEY 

1U

XNVM_API_ID_BBRAM_ZEROIZE 

2U

XNVM_API_ID_BBRAM_WRITE_USER_DATA 

3U

XNVM_API_ID_BBRAM_READ_USER_DATA 

4U

XNVM_API_ID_BBRAM_LOCK_WRITE_USER_DATA 

5U

XNVM_API_ID_EFUSE_WRITE 

6U

XNVM_API_ID_EFUSE_WRITE_PUF 

7U

XNVM_API_ID_EFUSE_PUF_USER_FUSE_WRITE 

8U

XNVM_API_ID_EFUSE_READ_IV 

9U

XNVM_API_ID_EFUSE_READ_REVOCATION_ID 

10U

XNVM_API_ID_EFUSE_READ_OFFCHIP_REVOCATION_ID 

11U

XNVM_API_ID_EFUSE_READ_USER_FUSES 

12U

XNVM_API_ID_EFUSE_READ_MISC_CTRL_BITS 

13U

XNVM_API_ID_EFUSE_READ_SEC_CTRL_BITS 

14U

XNVM_API_ID_EFUSE_READ_SEC_MISC1_BITS 

15U

XNVM_API_ID_EFUSE_READ_BOOT_ENV_CTRL_BITS 

16U

XNVM_API_ID_EFUSE_READ_PUF_SEC_CTRL_BITS 

17U

XNVM_API_ID_EFUSE_READ_PPK_HASH 

18U

XNVM_API_ID_EFUSE_READ_DEC_EFUSE_ONLY 

19U

XNVM_API_ID_EFUSE_READ_DNA 

20U

XNVM_API_ID_EFUSE_READ_PUF_USER_FUSE 

21U

XNVM_API_ID_EFUSE_READ_PUF 

22U

XNVM_API_ID_EFUSE_READ_CACHE 

23U

XNVM_API_ID_EFUSE_WRITE_IV 

24U

XNVM_API_ID_EFUSE_WRITE_SECURITY_MISC1 

25U

XNVM_API_ID_EFUSE_WRITE_PUF_DATA 

26U

XNVM_API_ID_EFUSE_WRITE_OFF_CHIP_ID 

27U

XNVM_API_ID_EFUSE_WRITE_USER_EFUSE 

28U

XNVM_API_ID_EFUSE_WRITE_REVOCATION_ID 

29U

XNVM_API_ID_EFUSE_WRITE_PPK_HASH 

30U

XNVM_API_ID_EFUSE_WRITE_ANLG_TRIM 

31U

XNVM_API_ID_EFUSE_WRITE_BOOT_ENV_CTRL 

32U

XNVM_API_ID_EFUSE_WRITE_MISC_CTRL 

33U

XNVM_API_ID_EFUSE_WRITE_SECURITY_CTRL 

34U

XNVM_API_ID_EFUSE_WRITE_SECURITY_MISC0_CTRL 

35U

XNVM_API_ID_EFUSE_WRITE_AES_KEYS 

36U

XNVM_API_MAX 

37U