xilnvm
Vitis Drivers API Documentation
XilNvm BBRAM Client APIs

Macros

#define XNVM_SLR_INDEX_SHIFT   (6U)
 < shift constant to place slr id More...
 
#define XNVM_SLR_INDEX_0   (0U)
 SLR Index 0. More...
 
#define XNVM_SLR_INDEX_1   (1U)
 SLR Index 1. More...
 
#define XNVM_SLR_INDEX_2   (2U)
 SLR Index 2. More...
 
#define XNVM_SLR_INDEX_3   (3U)
 SLR Index 3. More...
 

Functions

int XNvm_BbramWriteAesKey (const XNvm_ClientInstance *InstancePtr, const u64 KeyAddr, const u32 KeyLen)
 This function sends IPI request to program BBRAM AES key. More...
 
int XNvm_BbramZeroize (const XNvm_ClientInstance *InstancePtr)
 This function sends IPI request to zeroize the BBRAM. More...
 
int XNvm_BbramWriteUsrData (const XNvm_ClientInstance *InstancePtr, const u32 UsrData)
 This function sends IPI request to write the user data into BBRAM user data registers. More...
 
int XNvm_BbramReadUsrData (const XNvm_ClientInstance *InstancePtr, const u64 OutDataAddr)
 This function sends IPI request to read the BBRAM user data. More...
 
int XNvm_BbramLockUsrDataWrite (const XNvm_ClientInstance *InstancePtr)
 This function sends IPI request to lock the updates to user data written to BBRAM_8 register. More...
 

Macro Definition Documentation

#define XNVM_SLR_INDEX_0   (0U)

SLR Index 0.

Referenced by main().

#define XNVM_SLR_INDEX_1   (1U)

SLR Index 1.

#define XNVM_SLR_INDEX_2   (2U)

SLR Index 2.

#define XNVM_SLR_INDEX_3   (3U)

SLR Index 3.

Function Documentation

int XNvm_BbramLockUsrDataWrite ( const XNvm_ClientInstance *  InstancePtr)

This function sends IPI request to lock the updates to user data written to BBRAM_8 register.

Parameters
InstancePtrPointer to the client instance
Returns
  • XST_SUCCESS If the Locking is successful
  • XST_INVALID_PARAM If there is a input validation failure
  • XST_FAILURE If there is a failure

Performs input parameters validation. Return XST_INVALID_PARAM, if input parameters are invalid.

Sends BBRAM LOCK USER DATA WRITE CDO command to PLM through IPI. Returns the response of BBRAM lock user data write status from the PLM.

References XNVM_API_ID_BBRAM_LOCK_WRITE_USER_DATA, XNvm_ProcessMailbox(), and XNVM_SLR_INDEX_SHIFT.

int XNvm_BbramReadUsrData ( const XNvm_ClientInstance *  InstancePtr,
const u64  OutDataAddr 
)

This function sends IPI request to read the BBRAM user data.

Parameters
InstancePtrPointer to the client instance
OutDataAddrAddress of the output buffer to store the BBRAM user data
Returns
  • XST_SUCCESS If the read is successful
  • XST_INVALID_PARAM If there is a input validation failure
  • XST_FAILURE If there is a failure

Performs input parameters validation. Return XST_INVALID_PARAM if input parameters are invalid.

Sends BBRAM READ USER DATA CDO command to PLM through IPI. Returns the response of Bbram Read user data status from the PLM.

References XNVM_API_ID_BBRAM_READ_USER_DATA, XNvm_ProcessMailbox(), and XNVM_SLR_INDEX_SHIFT.

int XNvm_BbramWriteAesKey ( const XNvm_ClientInstance *  InstancePtr,
const u64  KeyAddr,
const u32  KeyLen 
)

This function sends IPI request to program BBRAM AES key.

Parameters
InstancePtrPointer to the client instance
KeyAddrAddress of the key buffer where the key to be programmed is stored
KeyLenSize of the Aes key
Returns
  • XST_SUCCESS If the BBRAM programming is successful
  • XST_INVALID_PARAM If there is a input validation failure
  • XST_FAILURE If there is a failure

Performs input parameters validation. Return XST_INVALID_PARAM if input parameters are invalid.

Sends BBRAM Write CDO command to PLM through IPI. Waits for the response from PLM. Returns the response of BBRAM aes key write status of PLM.

References XNVM_API_ID_BBRAM_WRITE_AES_KEY, XNvm_ProcessMailbox(), and XNVM_SLR_INDEX_SHIFT.

int XNvm_BbramWriteUsrData ( const XNvm_ClientInstance *  InstancePtr,
const u32  UsrData 
)

This function sends IPI request to write the user data into BBRAM user data registers.

Parameters
InstancePtrPointer to the client instance
UsrDataUser data to be written to BBRAM
Returns
  • XST_SUCCESS If the BBRAM user data write successful
  • XST_INVALID_PARAM If there is a input validation failure.
  • XST_FAILURE If there is a failure

Performs input parameters validation. Return XST_INVALID_PARAM if input parameters are invalid.

Sends BBRAM WRITE USER DATA CDO command to PLM IPI. Returns the response of Bbram write user data status from the PLM.

References XNVM_API_ID_BBRAM_WRITE_USER_DATA, XNvm_ProcessMailbox(), and XNVM_SLR_INDEX_SHIFT.

int XNvm_BbramZeroize ( const XNvm_ClientInstance *  InstancePtr)

This function sends IPI request to zeroize the BBRAM.

Parameters
InstancePtrPointer to the client instance
Returns
  • XST_SUCCESS If the BBRAM zeroize is successful
  • XST_INVALID_PARAM If there is a input validation failure
  • XST_FAILURE If there is a failure

Performs input parameters validation. Return XST_INVALID_PARAM if input parameters are invalid.

Sends BBRAM Zeroize CDO command to PLM through IPI. Returns the response of the BBRAM Zeroize operation from the PLM

References XNVM_API_ID_BBRAM_ZEROIZE, XNvm_ProcessMailbox(), and XNVM_SLR_INDEX_SHIFT.

Referenced by XNvm_BbramWriteAesKey().