xilskey
Vitis Drivers API Documentation
xilskey_utils.h File Reference

Enumerations

enum  XSKEfusePl_ErrorCodes {
  XSK_EFUSEPL_ERROR_NONE = 0, XSK_EFUSEPL_ERROR_ROW_NOT_ZERO = 0x10, XSK_EFUSEPL_ERROR_READ_ROW_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_READ_MARGIN_OUT_OF_RANGE,
  XSK_EFUSEPL_ERROR_READ_BUFFER_NULL, XSK_EFUSEPL_ERROR_READ_BIT_VALUE_NOT_SET, XSK_EFUSEPL_ERROR_READ_BIT_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_READ_TMEPERATURE_OUT_OF_RANGE,
  XSK_EFUSEPL_ERROR_READ_VCCAUX_VOLTAGE_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_READ_VCCINT_VOLTAGE_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_WRITE_ROW_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_WRITE_BIT_OUT_OF_RANGE,
  XSK_EFUSEPL_ERROR_WRITE_TMEPERATURE_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_WRITE_VCCAUX_VOLTAGE_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_WRITE_VCCINT_VOLTAGE_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_FUSE_CNTRL_WRITE_DISABLED,
  XSK_EFUSEPL_ERROR_CNTRL_WRITE_BUFFER_NULL, XSK_EFUSEPL_ERROR_NOT_VALID_KEY_LENGTH, XSK_EFUSEPL_ERROR_ZERO_KEY_LENGTH, XSK_EFUSEPL_ERROR_NOT_VALID_KEY_CHAR,
  XSK_EFUSEPL_ERROR_NULL_KEY, XSK_EFUSEPL_ERROR_FUSE_SEC_WRITE_DISABLED, XSK_EFUSEPL_ERROR_FUSE_SEC_READ_DISABLED, XSK_EFUSEPL_ERROR_SEC_WRITE_BUFFER_NULL,
  XSK_EFUSEPL_ERROR_READ_PAGE_OUT_OF_RANGE, XSK_EFUSEPL_ERROR_FUSE_ROW_RANGE, XSK_EFUSEPL_ERROR_IN_PROGRAMMING_ROW, XSK_EFUSEPL_ERROR_PRGRMG_ROWS_NOT_EMPTY,
  XSK_EFUSEPL_ERROR_HWM_TIMEOUT = 0x80, XSK_EFUSEPL_ERROR_USER_FUSE_REVERT = 0x90, XSK_EFUSEPL_ERROR_KEY_VALIDATION = 0xF000, XSK_EFUSEPL_ERROR_PL_STRUCT_NULL = 0x1000,
  XSK_EFUSEPL_ERROR_JTAG_SERVER_INIT = 0x1100, XSK_EFUSEPL_ERROR_READING_FUSE_CNTRL = 0x1200, XSK_EFUSEPL_ERROR_DATA_PROGRAMMING_NOT_ALLOWED = 0x1300, XSK_EFUSEPL_ERROR_FUSE_CTRL_WRITE_NOT_ALLOWED = 0x1400,
  XSK_EFUSEPL_ERROR_READING_FUSE_AES_ROW = 0x1500, XSK_EFUSEPL_ERROR_AES_ROW_NOT_EMPTY = 0x1600, XSK_EFUSEPL_ERROR_PROGRAMMING_FUSE_AES_ROW = 0x1700, XSK_EFUSEPL_ERROR_READING_FUSE_USER_DATA_ROW = 0x1800,
  XSK_EFUSEPL_ERROR_USER_DATA_ROW_NOT_EMPTY = 0x1900, XSK_EFUSEPL_ERROR_PROGRAMMING_FUSE_DATA_ROW = 0x1A00, XSK_EFUSEPL_ERROR_PROGRAMMING_FUSE_CNTRL_ROW = 0x1B00, XSK_EFUSEPL_ERROR_XADC = 0x1C00,
  XSK_EFUSEPL_ERROR_INVALID_REF_CLK = 0x3000U, XSK_EFUSEPL_ERROR_FUSE_SEC_WRITE_NOT_ALLOWED = 0x1D00, XSK_EFUSEPL_ERROR_READING_FUSE_STATUS = 0x1E00, XSK_EFUSEPL_ERROR_FUSE_BUSY = 0x1F00,
  XSK_EFUSEPL_ERROR_READING_FUSE_RSA_ROW = 0x2000, XSK_EFUSEPL_ERROR_TIMER_INTIALISE_ULTRA = 0x2200, XSK_EFUSEPL_ERROR_READING_FUSE_SEC = 0x2300, XSK_EFUSEPL_ERROR_PRGRMG_FUSE_SEC_ROW = 0x2500,
  XSK_EFUSEPL_ERROR_PRGRMG_USER_KEY = 0x4000, XSK_EFUSEPL_ERROR_PRGRMG_128BIT_USER_KEY = 0x5000, XSK_EFUSEPL_ERROR_PRGRMG_RSA_HASH = 0x8000
}
 
enum  XSKEfusePs_ErrorCodes {
  XSK_EFUSEPS_ERROR_NONE = 0, XSK_EFUSEPS_ERROR_ADDRESS_XIL_RESTRICTED = 0x01, XSK_EFUSEPS_ERROR_READ_TMEPERATURE_OUT_OF_RANGE, XSK_EFUSEPS_ERROR_READ_VCCPAUX_VOLTAGE_OUT_OF_RANGE,
  XSK_EFUSEPS_ERROR_READ_VCCPINT_VOLTAGE_OUT_OF_RANGE, XSK_EFUSEPS_ERROR_WRITE_TEMPERATURE_OUT_OF_RANGE, XSK_EFUSEPS_ERROR_WRITE_VCCPAUX_VOLTAGE_OUT_OF_RANGE, XSK_EFUSEPS_ERROR_WRITE_VCCPINT_VOLTAGE_OUT_OF_RANGE,
  XSK_EFUSEPS_ERROR_VERIFICATION, XSK_EFUSEPS_ERROR_RSA_HASH_ALREADY_PROGRAMMED, XSK_EFUSEPS_ERROR_CONTROLLER_MODE, XSK_EFUSEPS_ERROR_REF_CLOCK,
  XSK_EFUSEPS_ERROR_READ_MODE, XSK_EFUSEPS_ERROR_XADC_CONFIG, XSK_EFUSEPS_ERROR_XADC_INITIALIZE, XSK_EFUSEPS_ERROR_XADC_SELF_TEST,
  XSK_EFUSEPS_ERROR_PARAMETER_NULL, XSK_EFUSEPS_ERROR_STRING_INVALID, XSK_EFUSEPS_ERROR_AES_ALREADY_PROGRAMMED, XSK_EFUSEPS_ERROR_SPKID_ALREADY_PROGRAMMED,
  XSK_EFUSEPS_ERROR_PPK0_HASH_ALREADY_PROGRAMMED, XSK_EFUSEPS_ERROR_PPK1_HASH_ALREADY_PROGRAMMED, XSK_EFUSEPS_ERROR_IN_TBIT_PATTERN, XSK_EFUSEPS_ERROR_INVALID_PARAM,
  XSK_EFUSEPS_ERROR_PROGRAMMING = 0x00A0U, XSK_EFUSEPS_ERROR_PGM_NOT_DONE = 0X00A1, XSK_EFUSEPS_ERROR_READ = 0x00B0U, XSK_EFUSEPS_ERROR_BYTES_REQUEST = 0x00C0U,
  XSK_EFUSEPS_PUF_CANT_BE_USED_FOR_USER_DATA = 0x00C1U, XSK_EFUSEPS_ERROR_PUF_USER_DATA = 0x00C2U, XSK_EFUSEPS_ERROR_RESRVD_BITS_PRGRMG = 0x00D0U, XSK_EFUSEPS_ERROR_ADDR_ACCESS = 0x00E0U,
  XSK_EFUSEPS_ERROR_READ_NOT_DONE = 0x00F0U, XSK_EFUSEPS_ERROR_PS_STRUCT_NULL =0x8100U, XSK_EFUSEPS_ERROR_XADC_INIT =0x8200U, XSK_EFUSEPS_ERROR_CONTROLLER_LOCK =0x8300U,
  XSK_EFUSEPS_ERROR_EFUSE_WRITE_PROTECTED =0x8400U, XSK_EFUSEPS_ERROR_CONTROLLER_CONFIG =0x8500U, XSK_EFUSEPS_ERROR_PS_PARAMETER_WRONG =0x8600U, XSK_EFUSEPS_ERROR_WRITE_128K_CRC_BIT =0x9100U,
  XSK_EFUSEPS_ERROR_WRITE_NONSECURE_INITB_BIT =0x9200U, XSK_EFUSEPS_ERROR_WRITE_UART_STATUS_BIT =0x9300U, XSK_EFUSEPS_ERROR_WRITE_RSA_HASH =0x9400U, XSK_EFUSEPS_ERROR_WRITE_RSA_AUTH_BIT =0x9500U,
  XSK_EFUSEPS_ERROR_WRITE_WRITE_PROTECT_BIT =0x9600U, XSK_EFUSEPS_ERROR_READ_HASH_BEFORE_PROGRAMMING =0x9700U, XSK_EFUSEPS_ERROR_WRTIE_DFT_JTAG_DIS_BIT = 0x9800U, XSK_EFUSEPS_ERROR_WRTIE_DFT_MODE_DIS_BIT = 0x9900U,
  XSK_EFUSEPS_ERROR_WRTIE_AES_CRC_LK_BIT = 0x9A00U, XSK_EFUSEPS_ERROR_WRTIE_AES_WR_LK_BIT = 0x9B00U, XSK_EFUSEPS_ERROR_WRTIE_USE_AESONLY_EN_BIT = 0x9C00U, XSK_EFUSEPS_ERROR_WRTIE_BBRAM_DIS_BIT = 0x9D00U,
  XSK_EFUSEPS_ERROR_WRTIE_PMU_ERR_DIS_BIT = 0x9E00U, XSK_EFUSEPS_ERROR_WRTIE_JTAG_DIS_BIT = 0x9F00U, XSK_EFUSEPS_ERROR_READ_RSA_HASH =0xA100U, XSK_EFUSEPS_ERROR_WRONG_TBIT_PATTERN = 0xA200U,
  XSK_EFUSEPS_ERROR_WRITE_AES_KEY = 0xA300U, XSK_EFUSEPS_ERROR_WRITE_SPK_ID = 0xA400U, XSK_EFUSEPS_ERROR_WRITE_USER_KEY = 0xA500U, XSK_EFUSEPS_ERROR_WRITE_PPK0_HASH = 0xA600U,
  XSK_EFUSEPS_ERROR_WRITE_PPK1_HASH = 0xA700U, XSK_EFUSEPS_ERROR_WRITE_USER0_FUSE = 0xC000U, XSK_EFUSEPS_ERROR_WRITE_USER1_FUSE = 0xC100U, XSK_EFUSEPS_ERROR_WRITE_USER2_FUSE = 0xC200U,
  XSK_EFUSEPS_ERROR_WRITE_USER3_FUSE = 0xC300U, XSK_EFUSEPS_ERROR_WRITE_USER4_FUSE = 0xC400U, XSK_EFUSEPS_ERROR_WRITE_USER5_FUSE = 0xC500U, XSK_EFUSEPS_ERROR_WRITE_USER6_FUSE = 0xC600U,
  XSK_EFUSEPS_ERROR_WRITE_USER7_FUSE = 0xC700U, XSK_EFUSEPS_ERROR_WRTIE_USER0_LK_BIT = 0xC800U, XSK_EFUSEPS_ERROR_WRTIE_USER1_LK_BIT = 0xC900U, XSK_EFUSEPS_ERROR_WRTIE_USER2_LK_BIT = 0xCA00U,
  XSK_EFUSEPS_ERROR_WRTIE_USER3_LK_BIT = 0xCB00U, XSK_EFUSEPS_ERROR_WRTIE_USER4_LK_BIT = 0xCC00U, XSK_EFUSEPS_ERROR_WRTIE_USER5_LK_BIT = 0xCD00U, XSK_EFUSEPS_ERROR_WRTIE_USER6_LK_BIT = 0xCE00U,
  XSK_EFUSEPS_ERROR_WRTIE_USER7_LK_BIT = 0xCF00U, XSK_EFUSEPS_ERROR_WRTIE_PROG_GATE0_DIS_BIT = 0xD000U, XSK_EFUSEPS_ERROR_WRTIE_PROG_GATE1_DIS_BIT = 0xD100U, XSK_EFUSEPS_ERROR_WRTIE_PROG_GATE2_DIS_BIT = 0xD200U,
  XSK_EFUSEPS_ERROR_WRTIE_SEC_LOCK_BIT = 0xD300U, XSK_EFUSEPS_ERROR_WRTIE_PPK0_WR_LK_BIT = 0xD400U, XSK_EFUSEPS_ERROR_WRTIE_PPK0_RVK_BIT = 0xD500U, XSK_EFUSEPS_ERROR_WRTIE_PPK1_WR_LK_BIT = 0xD600U,
  XSK_EFUSEPS_ERROR_WRTIE_PPK1_RVK_BIT = 0xD700U, XSK_EFUSEPS_ERROR_WRITE_PUF_SYN_INVLD = 0xD800U, XSK_EFUSEPS_ERROR_WRITE_PUF_SYN_WRLK = 0xD900U, XSK_EFUSEPS_ERROR_WRITE_PUF_SYN_REG_DIS = 0xDA00U,
  XSK_EFUSEPS_ERROR_WRITE_PUF_RESERVED_BIT = 0xDB00U, XSK_EFUSEPS_ERROR_WRITE_LBIST_EN_BIT = 0xDC00U, XSK_EFUSEPS_ERROR_WRITE_LPD_SC_EN_BIT = 0xDD00U, XSK_EFUSEPS_ERROR_WRITE_FPD_SC_EN_BIT = 0xDE00U,
  XSK_EFUSEPS_ERROR_WRITE_PBR_BOOT_ERR_BIT = 0xDF00U, XSK_EFUSEPS_ERROR_PUF_INVALID_REG_MODE = 0xE000U, XSK_EFUSEPS_ERROR_PUF_REG_WO_AUTH = 0xE100U, XSK_EFUSEPS_ERROR_PUF_REG_DISABLED = 0xE200U,
  XSK_EFUSEPS_ERROR_PUF_INVALID_REQUEST = 0xE300U, XSK_EFUSEPS_ERROR_PUF_DATA_ALREADY_PROGRAMMED = 0xE400U, XSK_EFUSEPS_ERROR_PUF_DATA_OVERFLOW = 0xE500U, XSK_EFUSEPS_ERROR_SPKID_BIT_CANT_REVERT = 0xE600U,
  XSK_EFUSEPS_ERROR_PUF_DATA_UNDERFLOW = 0xE700U, XSK_EFUSEPS_ERROR_PUF_TIMEOUT = 0xE800U, XSK_EFUSEPS_ERROR_PUF_ACCESS = 0xE900, XSK_EFUSEPS_ERROR_PUF_CHASH_ALREADY_PROGRAMMED = 0XEA00,
  XSK_EFUSEPS_ERROR_PUF_AUX_ALREADY_PROGRAMMED = 0XEB00, XSK_EFUSEPS_ERROR_PPK0_BIT_CANT_REVERT = 0xEC00U, XSK_EFUSEPS_ERROR_PPK1_BIT_CANT_REVERT = 0xED00U, XSK_EFUSEPS_ERROR_CMPLTD_EFUSE_PRGRM_WITH_ERR = 0x10000U,
  XSK_EFUSEPS_ERROR_CACHE_LOAD = 0x20000U, XSK_EFUSEPS_RD_FROM_EFUSE_NOT_ALLOWED = 0x30000U, XSK_EFUSEPS_ERROR_FUSE_PROTECTED = 0x00080000U, XSK_EFUSEPS_ERROR_USER_BIT_CANT_REVERT = 0x00800000U,
  XSK_EFUSEPS_ERROR_BEFORE_PROGRAMMING = 0x08000000U
}
 
enum  XskZynqMp_Ps_Bbram_ErrorCodes {
  XSK_ZYNQMP_BBRAMPS_ERROR_NONE = 0U, XSK_ZYNQMP_BBRAMPS_ERROR_IN_PRGRMG_ENABLE = 0x010U, XSK_ZYNQMP_BBRAMPS_ERROR_IN_ZEROISE = 0x20U, XSK_ZYNQMP_BBRAMPS_ERROR_IN_CRC_CHECK = 0xB000U,
  XSK_ZYNQMP_BBRAMPS_ERROR_IN_PRGRMG = 0xC000U, XSK_ZYNQMP_BBRAMPS_ERROR_IN_WRITE_CRC = 0xE800U
}
 

Functions

u32 XilSKey_CrcCalculation (const u8 *Key)
 This function Calculates CRC value based on hexadecimal string passed. More...
 
u32 XilSkey_CrcCalculation_AesKey (const u8 *Key)
 Calculates CRC value of the provided key. More...