![]() |
xilnvm
Vitis Drivers API Documentation
|
This file contains NVM library BBRAM API's declaration.
MODIFICATION HISTORY:
Ver Who Date Changes
1.0 mmd 04/01/2019 Initial release 2.1 am 08/19/2020 Resolved MISRA C violations am 10/13/2020 Resolved MISRA C violations ana 10/15/2020 Updated doxygen comments 2.3 am 11/23/2020 Resolved MISRA C violation 3.1 skg 10/23/2022 Added In body comments for APIs kal 03/08/2023 Added new error code XNVM_BBRAM_ERROR_IN_DMA_XFER 3.3 ng 11/22/2023 Fixed doxygen grouping 3.5 hj 03/26/2025 Added new error code XNVM_BBRAM_ERROR_GP_WRITE_IN_SB
| #define | XNVM_BBRAM_AES_KEY_SIZE XNVM_256_BITS_AES_KEY_LEN_IN_BYTES |
| AES Key size. More... | |
| #define | XNVM_EFUSE_BBRAM_TAG (u32)(0x8100U) |
| BBRAM error codes. More... | |
| #define | XNVM_BBRAM_ERROR_PGM_MODE_ENABLE_TIMEOUT (XNVM_EFUSE_BBRAM_TAG | 0x00U) |
| Error in enabling BBRAM Program mode. More... | |
| #define | XNVM_BBRAM_ERROR_AES_CRC_DONE_TIMEOUT (XNVM_EFUSE_BBRAM_TAG | 0x02U) |
| Error in AES CRC Done. More... | |
| #define | XNVM_BBRAM_ERROR_AES_CRC_MISMATCH (XNVM_EFUSE_BBRAM_TAG | 0x03U) |
| Error in AES CRC verification. More... | |
| #define | XNVM_BBRAM_ERROR_LOCK_USR_DATA_WRITE (XNVM_EFUSE_BBRAM_TAG | 0x04U) |
| Error in BBRAM user data locking. More... | |
| #define | XNVM_BBRAM_ERROR_USR_DATA_WRITE_LOCKED (XNVM_EFUSE_BBRAM_TAG | 0x05U) |
| Error in BBRAM user data write, as BBRAM_8 reg is locked. More... | |
| #define | XNVM_BBRAM_ERROR_ZEROIZE_TIMEOUT (XNVM_EFUSE_BBRAM_TAG | 0x10U) |
| Error in BBRAM_ZEROIZE. More... | |
| #define | XNVM_BBRAM_ERROR_IN_DMA_XFER (XNVM_EFUSE_BBRAM_TAG | 0x20U) |
| Error in copying user key to PMC memory using DMA. More... | |
| #define | XNVM_BBRAM_INVALID_PARAM (XNVM_EFUSE_BBRAM_TAG | 0x30U) |
| Error, invalid parameter. More... | |
| #define | XNVM_BBRAM_ERROR_AES_INVALID_KEY_SIZE (XNVM_EFUSE_BBRAM_TAG | 0x40U) |
| Error, invalid AES key size. More... | |
| int | XNvm_BbramWriteAesKey (const u8 *Key, u16 KeyLen) |
| This function does programming of key provided into BBRAM and validates CRC of the key stored in BBRAM with CRC of input key. More... | |
| int | XNvm_BbramLockUsrDataWrite (void) |
| This function locks the user data written in BBRAM_8 that is making user data written in BBRAM as read only. More... | |
| int | XNvm_BbramWriteUsrData (u32 GeneralPurposeData) |
| Writes user provided 32-bit data to BBRAM. More... | |
| u32 | XNvm_BbramReadUsrData (void) |
| This function reads 32-bit user data from BBRAM_8 register. More... | |
| int | XNvm_BbramZeroize (void) |
| This function zeroizes the BBRAM. More... | |
| #define XNVM_BBRAM_AES_KEY_SIZE XNVM_256_BITS_AES_KEY_LEN_IN_BYTES |
AES Key size.
< AES Key size in bytes
| #define XNVM_BBRAM_ERROR_AES_CRC_DONE_TIMEOUT (XNVM_EFUSE_BBRAM_TAG | 0x02U) |
Error in AES CRC Done.
| #define XNVM_BBRAM_ERROR_AES_CRC_MISMATCH (XNVM_EFUSE_BBRAM_TAG | 0x03U) |
Error in AES CRC verification.
| #define XNVM_BBRAM_ERROR_AES_INVALID_KEY_SIZE (XNVM_EFUSE_BBRAM_TAG | 0x40U) |
Error, invalid AES key size.
| #define XNVM_BBRAM_ERROR_IN_DMA_XFER (XNVM_EFUSE_BBRAM_TAG | 0x20U) |
Error in copying user key to PMC memory using DMA.
| #define XNVM_BBRAM_ERROR_LOCK_USR_DATA_WRITE (XNVM_EFUSE_BBRAM_TAG | 0x04U) |
Error in BBRAM user data locking.
Referenced by XNvm_BbramLockUsrDataWrite().
| #define XNVM_BBRAM_ERROR_PGM_MODE_ENABLE_TIMEOUT (XNVM_EFUSE_BBRAM_TAG | 0x00U) |
Error in enabling BBRAM Program mode.
| #define XNVM_BBRAM_ERROR_USR_DATA_WRITE_LOCKED (XNVM_EFUSE_BBRAM_TAG | 0x05U) |
Error in BBRAM user data write, as BBRAM_8 reg is locked.
| #define XNVM_BBRAM_ERROR_ZEROIZE_TIMEOUT (XNVM_EFUSE_BBRAM_TAG | 0x10U) |
Error in BBRAM_ZEROIZE.
Referenced by XNvm_BbramZeroize().
| #define XNVM_BBRAM_INVALID_PARAM (XNVM_EFUSE_BBRAM_TAG | 0x30U) |
Error, invalid parameter.
| #define XNVM_EFUSE_BBRAM_TAG (u32)(0x8100U) |
BBRAM error codes.
< BBRAM API error codes BBRAM ERRORs Offset