xilasu
Vitis Drivers API Documentation
Common Defs

Data Structures

struct  XAsu_AesKeyObject
 This structure contains AES key object information. More...
 
struct  Asu_AesParams
 This structure is common for both client and handler, which contains AES input and output parameters information. More...
 
struct  XAsu_EccParams
 This structure contains ECC params info. More...
 
struct  XAsu_EccKeyParams
 This structure contains ECC params info for public key generation. More...
 
struct  XAsu_EciesParams
 This structure contains ECIES params info. More...
 
struct  XAsu_HmacParams
 This structure contains HMAC params info. More...
 
struct  XAsu_KdfParams
 This structure contains KDF params info. More...
 
struct  XAsu_KeyWrapParams
 This structure contains Key wrap unwrap params info. More...
 
struct  XAsu_RsaPubKeyComp
 This structure contains RSA public key parameters info. More...
 
struct  XAsu_RsaPvtKeyComp
 This structure contains RSA private key parameters info. More...
 
struct  XAsu_RsaCrtKeyComp
 This structure contains RSA private key CRT parameters info. More...
 
struct  XAsu_RsaRRModN
 This structure contains RSA exponent value (R square mod N). More...
 
struct  XAsu_RsaRModN
 This structure contains RSA exponent values (R mod N,R square mod N). More...
 
struct  XAsu_RsaParams
 This structure contains RSA params info. More...
 
struct  XAsu_RsaPaddingParams
 This structure contains RSA PSS padding params info. More...
 
struct  XAsu_RsaOaepPaddingParams
 This structure contains RSA OAEP padding params info. More...
 
struct  XAsu_ShaOperationCmd
 This structure contains SHA params info. More...
 
struct  XAsu_ReqBuf
 This structure is the request buffer. More...
 
struct  XAsu_RespBuf
 This structure is the response buffer. More...
 
struct  XAsu_ChannelQueueBuf
 This structure is the channel's queue buffer. More...
 
struct  XAsu_ChannelQueue
 This structure is the channel's queue which is of 8 buffers. More...
 
struct  XAsu_ChannelMemory
 This struture is the channel's memory. More...
 
struct  XAsu_CommChannel
 This structure contains information of each communication channel. More...
 
struct  XAsu_CommChannelInfo
 This structure contains information of all communication channels. More...
 

Macros

#define XASU_AES_BLOCK_SIZE_IN_BYTES   (16U)
 AES block size in bytes. More...
 
#define XASU_AES_EVEN_MODULUS   (2U)
 Modulus to determine evenness. More...
 
#define XASU_AES_IV_SIZE_96BIT_IN_WORDS   (3U)
 AES 96bit Iv size in words. More...
 
#define XASU_AES_IV_SIZE_128BIT_IN_WORDS   (4U)
 AES 128bit Iv size in words. More...
 
#define XASU_AES_IV_SIZE_96BIT_IN_BYTES   (12U)
 AES 96bit Iv size in bytes. More...
 
#define XASU_AES_IV_SIZE_128BIT_IN_BYTES   (16U)
 AES 128bit Iv size in bytes. More...
 
#define XASU_AES_KEY_SIZE_128BIT_IN_WORDS   (4U)
 AES 128bit key size in words. More...
 
#define XASU_AES_KEY_SIZE_256BIT_IN_WORDS   (8U)
 AES 256bit key size in words. More...
 
#define XASU_AES_KEY_SIZE_128BIT_IN_BYTES   (16U)
 AES 128bit key size in bytes. More...
 
#define XASU_AES_KEY_SIZE_256BIT_IN_BYTES   (32U)
 AES 256bit key size in bytes. More...
 
#define XASU_AES_MIN_TAG_LENGTH_IN_BYTES   (4U)
 AES minimum tag length in bytes. More...
 
#define XASU_AES_RECOMMENDED_TAG_LENGTH_IN_BYTES   (8U)
 AES NIST recommended minimum tag length in bytes. More...
 
#define XASU_AES_MAX_TAG_LENGTH_IN_BYTES   (16U)
 AES maximum tag length in bytes. More...
 
#define XASU_AES_CCM_MIN_NONCE_LEN   (7U)
 AES-CCM minimum nonce length in bytes. More...
 
#define XASU_AES_CCM_MAX_NONCE_LEN   (13U)
 AES-CCM maximum nonce length in bytes. More...
 
#define XASU_AES_OPERATION_CMD_ID   (0x0U)
 Command ID for AES operation command. More...
 
#define XASU_AES_KAT_CMD_ID   (0x1U)
 Command ID for AES KAT command. More...
 
#define XASU_AES_GET_INFO_CMD_ID   (0x2U)
 Command ID for AES Get Info command. More...
 
#define XASU_AES_INIT   (0x1U)
 AES initialize operation flag. More...
 
#define XASU_AES_UPDATE   (0x2U)
 AES update operation flag. More...
 
#define XASU_AES_FINAL   (0x4U)
 AES final operation flag. More...
 
#define XASU_AES_CBC_MODE   (0x0U)
 AES CBC mode. More...
 
#define XASU_AES_CFB_MODE   (0x1U)
 AES CFB mode. More...
 
#define XASU_AES_OFB_MODE   (0x2U)
 AES OFB mode. More...
 
#define XASU_AES_CTR_MODE   (0x3U)
 AES CTR mode. More...
 
#define XASU_AES_ECB_MODE   (0x4U)
 AES ECB mode. More...
 
#define XASU_AES_CCM_MODE   (0x5U)
 AES CCM mode. More...
 
#define XASU_AES_GCM_MODE   (0x6U)
 AES GCM mode. More...
 
#define XASU_AES_CMAC_MODE   (0x8U)
 AES CMAC mode. More...
 
#define XASU_AES_GHASH_MODE   (0xEU)
 AES GHASH mode. More...
 
#define XASU_AES_USER_KEY_0   (0x0U)
 User Key 0. More...
 
#define XASU_AES_USER_KEY_1   (0x1U)
 User Key 1. More...
 
#define XASU_AES_USER_KEY_2   (0x2U)
 User Key 2. More...
 
#define XASU_AES_USER_KEY_3   (0x3U)
 User Key 3. More...
 
#define XASU_AES_USER_KEY_4   (0x4U)
 User Key 4. More...
 
#define XASU_AES_USER_KEY_5   (0x5U)
 User Key 5. More...
 
#define XASU_AES_USER_KEY_6   (0x6U)
 User Key 6. More...
 
#define XASU_AES_USER_KEY_7   (0x7U)
 User Key 7. More...
 
#define XASU_AES_EFUSE_KEY_0   (0x8U)
 Efuse key 0. More...
 
#define XASU_AES_EFUSE_KEY_1   (0x9U)
 Efuse key 1. More...
 
#define XASU_AES_PUF_KEY   (0xAU)
 PUF key. More...
 
#define XASU_AES_EFUSE_KEY_RED_0   (0xBU)
 Efuse Red key 0. More...
 
#define XASU_AES_EFUSE_KEY_RED_1   (0xCU)
 Efuse Red key 1. More...
 
#define XASU_AES_EXPANDED_KEYS   (0xDU)
 Expanded keys in AES engine. More...
 
#define XASU_AES_MAX_KEY_SOURCES   XASU_AES_EXPANDED_KEYS
 Maximum key source value. More...
 
#define XASU_AES_KEY_SIZE_128_BITS   (0x0U)
 128 bits AES key size More...
 
#define XASU_AES_KEY_SIZE_256_BITS   (0x2U)
 256 bits AES key size More...
 
#define XASU_AES_ENCRYPT_OPERATION   (0x0U)
 AES encrypt operation. More...
 
#define XASU_AES_DECRYPT_OPERATION   (0x1U)
 AES decrypt operation. More...
 
#define XASU_MODULE_TRNG_ID   (0U)
 TRNGs module ID. More...
 
#define XASU_MODULE_SHA2_ID   (1U)
 SHA2 module ID. More...
 
#define XASU_MODULE_SHA3_ID   (2U)
 SHA3 module ID. More...
 
#define XASU_MODULE_ECC_ID   (3U)
 ECC module ID. More...
 
#define XASU_MODULE_RSA_ID   (4U)
 RSA module ID. More...
 
#define XASU_MODULE_AES_ID   (5U)
 AES module ID. More...
 
#define XASU_MODULE_HMAC_ID   (6U)
 HMAC module ID. More...
 
#define XASU_MODULE_KDF_ID   (7U)
 KDF module ID. More...
 
#define XASU_MODULE_ECIES_ID   (8U)
 ECIES module ID. More...
 
#define XASU_MODULE_KEYWRAP_ID   (9U)
 Key wrap unwrap module ID. More...
 
#define XASU_DOUBLE_CURVE_LENGTH_SHIFT   (0x1U)
 Shift value to double the curve length. More...
 
#define XASU_ECC_GEN_SIGNATURE_CMD_ID   (0U)
 Command ID for ECC sign generation. More...
 
#define XASU_ECC_VERIFY_SIGNATURE_CMD_ID   (1U)
 Command ID for ECC sign verification. More...
 
#define XASU_ECC_KAT_CMD_ID   (2U)
 Command ID for ECC KAT. More...
 
#define XASU_ECC_GET_INFO_CMD_ID   (3U)
 Command ID for ECC Get Info. More...
 
#define XASU_ECDH_SHARED_SECRET_CMD_ID   (4U)
 Command ID for ECDH generate shared secret. More...
 
#define XASU_ECDH_KAT_CMD_ID   (5U)
 Command ID for ECDH KAT. More...
 
#define XASU_ECC_GEN_PUBKEY_CMD_ID   (6U)
 Command ID for ECC public key generation. More...
 
#define XASU_ECC_NIST_P192   (1U)
 NIST P-192 curve. More...
 
#define XASU_ECC_NIST_P224   (2U)
 NIST P-224 curve. More...
 
#define XASU_ECC_NIST_P256   (3U)
 NIST P-256 curve. More...
 
#define XASU_ECC_NIST_P384   (4U)
 NIST P-384 curve. More...
 
#define XASU_ECC_NIST_P521   (5U)
 NIST P-521 curve. More...
 
#define XASU_ECC_BRAINPOOL_P256   (21U)
 Brainpool P-256 curve. More...
 
#define XASU_ECC_BRAINPOOL_P320   (22U)
 Brainpool P-320 curve. More...
 
#define XASU_ECC_BRAINPOOL_P384   (23U)
 Brainpool P-384 curve. More...
 
#define XASU_ECC_BRAINPOOL_P512   (24U)
 Brainpool P-512 curve. More...
 
#define XASU_ECC_P192_SIZE_IN_BYTES   (24U)
 Size of NIST P-192 curve in bytes. More...
 
#define XASU_ECC_P224_SIZE_IN_BYTES   (28U)
 Size of NIST P-224 curve in bytes. More...
 
#define XASU_ECC_P256_SIZE_IN_BYTES   (32U)
 Size of NIST P-256 curve in bytes. More...
 
#define XASU_ECC_P320_SIZE_IN_BYTES   (40U)
 Size of NIST P-320 curve in bytes. More...
 
#define XASU_ECC_P384_SIZE_IN_BYTES   (48U)
 Size of NIST P-384 curve in bytes. More...
 
#define XASU_ECC_P512_SIZE_IN_BYTES   (64U)
 Size of Brainpool P-512 curve in bytes. More...
 
#define XASU_ECC_P521_SIZE_IN_BYTES   (66U)
 Size of NIST P-521 curve in bytes. More...
 
#define XASU_ECIES_ENCRYPT_SHA2_CMD_ID   (0U)
 Command ID for ECIES encrypt command. More...
 
#define XASU_ECIES_ENCRYPT_SHA3_CMD_ID   (1U)
 Command ID for ECIES decrypt command. More...
 
#define XASU_ECIES_DECRYPT_SHA2_CMD_ID   (2U)
 Command ID for ECIES encrypt command. More...
 
#define XASU_ECIES_DECRYPT_SHA3_CMD_ID   (3U)
 Command ID for ECIES decrypt command. More...
 
#define XASU_ECIES_KAT_CMD_ID   (4U)
 Command ID for ECIES KAT command. More...
 
#define XASU_ECIES_GET_INFO_CMD_ID   (5U)
 Command ID for ECIES Get Info command. More...
 
#define XASU_HMAC_COMPUTE_SHA2_CMD_ID   (0U)
 Command ID for HMAC compute for SHA2 command. More...
 
#define XASU_HMAC_COMPUTE_SHA3_CMD_ID   (1U)
 Command ID for HMAC compute for SHA3 command. More...
 
#define XASU_HMAC_KAT_CMD_ID   (2U)
 Command ID for HMAC KAT command. More...
 
#define XASU_HMAC_GET_INFO_CMD_ID   (3U)
 Command ID for HMAC Get Info command. More...
 
#define XASU_HMAC_INIT   (0x1U)
 HMAC init operation flag. More...
 
#define XASU_HMAC_UPDATE   (0x2U)
 HMAC update operation flag. More...
 
#define XASU_HMAC_FINAL   (0x4U)
 HMAC final operation flag. More...
 
#define XASU_HMAC_MAX_KEY_LENGTH   (0x1024U)
 Max key length for HMAC. More...
 
#define XASU_KDF_GENERATE_SHA2_CMD_ID   (0U)
 Command ID for KDF generate for SHA2 command. More...
 
#define XASU_KDF_GENERATE_SHA3_CMD_ID   (1U)
 Command ID for KDF generate for SHA3 command. More...
 
#define XASU_KDF_KAT_CMD_ID   (2U)
 Command ID for KDF KAT command. More...
 
#define XASU_KDF_GET_INFO_CMD_ID   (3U)
 Command ID for KDF Get Info command. More...
 
#define XASU_KDF_MAX_CONTEXT_LEN   (1024U)
 Maximum context length. More...
 
#define XASU_KEYWRAP_KEY_WRAP_SHA2_CMD_ID   (0U)
 Command ID for Key wrap using SHA2. More...
 
#define XASU_KEYWRAP_KEY_WRAP_SHA3_CMD_ID   (1U)
 Command ID for Key wrap using SHA3. More...
 
#define XASU_KEYWRAP_KEY_UNWRAP_SHA2_CMD_ID   (2U)
 Command ID for Key unwrap using SHA2. More...
 
#define XASU_KEYWRAP_KEY_UNWRAP_SHA3_CMD_ID   (3U)
 Command ID for Key unwrap using SHA3. More...
 
#define XASU_KEYWRAP_KAT_CMD_ID   (4U)
 Command ID for Key wrap unwrap KAT. More...
 
#define XASU_KEYWRAP_GET_INFO_CMD_ID   (5U)
 Command ID for Key wrap unwrap Get Info. More...
 
#define XASU_KEYWRAP_OUTPUT_LEN_SIZE_IN_BYTES   (4U)
 Key wrap unwrap output length size. More...
 
#define XASU_RSA_PUB_ENC_CMD_ID   (0U)
 Command ID for RSA public encryption. More...
 
#define XASU_RSA_PVT_DEC_CMD_ID   (1U)
 Command ID for RSA private decryption. More...
 
#define XASU_RSA_PVT_CRT_DEC_CMD_ID   (2U)
 Command ID for RSA private CRT decryption. More...
 
#define XASU_RSA_OAEP_ENC_SHA2_CMD_ID   (3U)
 Command ID for OAEP enc with SHA2. More...
 
#define XASU_RSA_OAEP_DEC_SHA2_CMD_ID   (4U)
 Command ID for OAEP dec with SHA2. More...
 
#define XASU_RSA_OAEP_ENC_SHA3_CMD_ID   (5U)
 Command ID for OAEP enc with SHA3. More...
 
#define XASU_RSA_OAEP_DEC_SHA3_CMD_ID   (6U)
 Command ID for OAEP dec with SHA3. More...
 
#define XASU_RSA_PSS_SIGN_GEN_SHA2_CMD_ID   (7U)
 Command ID for PSS sign gen with SHA2. More...
 
#define XASU_RSA_PSS_SIGN_VER_SHA2_CMD_ID   (8U)
 Command ID for PSS sign ver with SHA2. More...
 
#define XASU_RSA_PSS_SIGN_GEN_SHA3_CMD_ID   (9U)
 Command ID for PSS sign gen with SHA3. More...
 
#define XASU_RSA_PSS_SIGN_VER_SHA3_CMD_ID   (10U)
 Command ID for PSS sign ver with SHA3. More...
 
#define XASU_RSA_KAT_CMD_ID   (11U)
 Command ID for RSA KAT command. More...
 
#define XASU_RSA_GET_INFO_CMD_ID   (12U)
 Command ID for RSA Get Info command. More...
 
#define XRSA_2048_KEY_SIZE   (256U)
 2048 bit key size in bytes More...
 
#define XRSA_3072_KEY_SIZE   (384U)
 3072 bit key size in bytes More...
 
#define XRSA_4096_KEY_SIZE   (512U)
 4096 bit key size in bytes More...
 
#define XRSA_MAX_KEY_SIZE_IN_WORDS   (XRSA_4096_KEY_SIZE / 4U)
 RSA max key size in words. More...
 
#define XRSA_MAX_PRIME_SIZE_IN_WORDS   (64U)
 RSA max prime size in words. More...
 
#define XASU_RSA_HASHED_INPUT_DATA   (1U)
 Input data hash is already calculated. More...
 
#define XASU_RSA_ENCRYPTION   (1U)
 Encryption operation. More...
 
#define XASU_RSA_EXPONENTIATION_DECRYPTION   (2U)
 Exponentiation Decryption operation. More...
 
#define XASU_RSA_SIGN_GENERATION   (3U)
 Sign Generation operation. More...
 
#define XASU_RSA_SIGN_VERIFICATION   (4U)
 Sign Verification operation. More...
 
#define XASU_SHA_OPERATION_CMD_ID   (0U)
 Command ID for SHA3 operation command. More...
 
#define XASU_SHA_KAT_CMD_ID   (1U)
 Command ID for SHA3 KAT command. More...
 
#define XASU_SHA_GET_INFO_CMD_ID   (2U)
 Command ID for SHA3 Get Info command. More...
 
#define XASU_SHA_MODE_SHA256   (0U)
 SHA mode 256. More...
 
#define XASU_SHA_MODE_SHA384   (1U)
 SHA mode 384. More...
 
#define XASU_SHA_MODE_SHA512   (2U)
 SHA mode 512. More...
 
#define XASU_SHA_MODE_SHAKE256   (4U)
 SHA mode SHAKE. More...
 
#define XASU_SHA_START   (0x1U)
 SHA start operation flag. More...
 
#define XASU_SHA_UPDATE   (0x2U)
 SHA update operation flag. More...
 
#define XASU_SHA_FINISH   (0x4U)
 SHA finish operation flag. More...
 
#define XASU_SHA2_TYPE   (0x02U)
 SHA2 type. More...
 
#define XASU_SHA3_TYPE   (0x03U)
 SHA3 type. More...
 
#define XASU_SHA_256_HASH_LEN   (32U)
 SHA2/3 256 hash length. More...
 
#define XASU_SHA_384_HASH_LEN   (48U)
 SHA2/3 384 hash length. More...
 
#define XASU_SHA_512_HASH_LEN   (64U)
 SHA2/3 512 hash length. More...
 
#define XASU_SHAKE_256_HASH_LEN   (32U)
 SHAKE 256 hash length. More...
 
#define XASU_SHAKE_256_MAX_HASH_LEN   (136U)
 SHAKE 256 maximum hash length. More...
 
#define XASU_MAX_BUFFERS   (8U)
 Maximum request and response buffers. More...
 
#define XASU_CHANNEL_RESERVED_MEM   (1188U)
 Reserved memory in channel. More...
 
#define XASU_COMMAND_IS_PRESENT   (0x1U)
 Command is written by client. More...
 
#define XASU_COMMAND_IN_PROGRESS   (0x2U)
 Command is in progress by ASUFW. More...
 
#define XASU_COMMAND_WAITING_FOR_RESOURCE   (0x3U)
 Command is waiting for required resources. More...
 
#define XASU_COMMAND_DMA_WAIT_COMPLETE   (0x4U)
 Command DMA wait operation is complete. More...
 
#define XASU_COMMAND_EXECUTION_COMPLETE   (0x5U)
 Command execution is complete by ASUFW. More...
 
#define XASU_RESPONSE_IS_PRESENT   (0x1U)
 Response is written by ASUFW. More...
 
#define XASU_RESPONSE_STATUS_INDEX   (0U)
 Response status index in response buffer. More...
 
#define XASU_RESPONSE_BUFF_ADDR_INDEX   (1U)
 Response buffer address index in response buffer. More...
 
#define XASU_COMMAND_ID_MASK   (0x0000003FU)
 Mask for command ID in header. More...
 
#define XASU_UNIQUE_REQ_ID_MASK   (0x00000FC0U)
 Mask for command unique reqest ID. More...
 
#define XASU_UNIQUE_REQ_ID_SHIFT   (6U)
 Shift value for unique request ID. More...
 
#define XASU_UNIQUE_ID_MAX   (XASU_MAX_BUFFERS << 1U)
 Maximum unique IDs generated by ASU. More...
 
#define XASU_MODULE_ID_MASK   (0x0003F000U)
 Mask for module ID. More...
 
#define XASU_MODULE_ID_SHIFT   (12U)
 Shift value for module ID. More...
 
#define XASU_COMMAND_LENGTH_MASK   (0x00FC0000U)
 Mask for command length in header. More...
 
#define XASU_COMMAND_LENGTH_SHIFT   (18U)
 Shift for command length. More...
 
#define XASU_COMMAND_REQ_ARGS   (22U)
 Command arguments count. More...
 
#define XASU_COMMAND_RESP_ARGS   (17U)
 Response arguments count. More...
 
#define XASU_RTCA_BASEADDR   (0xEBE40000U)
 ASUFW run time configuration area base address. More...
 
#define XASU_RTCA_COMM_CHANNEL_INFO_ADDR   (XASU_RTCA_BASEADDR + 0x10U)
 Communication channel info register address. More...
 
#define XASU_MAX_IPI_CHANNELS   (8U)
 Maximum IPI channels supported by ASUFW. More...
 
#define XASU_CHANNEL_MEMORY_OFFSET   (0x1000U)
 Channel memory offset. More...
 
#define XASU_TRNG_GET_RANDOM_BYTES_CMD_ID   0U
 Command ID for TRNG Get Random Bytes cmd. More...
 
#define XASU_TRNG_KAT_CMD_ID   1U
 Command ID for TRNG KAT command. More...
 
#define XASU_TRNG_GET_INFO_CMD_ID   2U
 Command ID for TRNG Get Info command. More...
 
#define XASU_TRNG_DRBG_INSTANTIATE_CMD_ID   3U
 Command ID for TRNG DRBG instantiate cmd. More...
 
#define XASU_TRNG_DRBG_RESEED_CMD_ID   4U
 Command ID for TRNG DRBG reseed cmd. More...
 
#define XASU_TRNG_DRBG_GENERATE_CMD_ID   5U
 Command ID for TRNG DRBG generate cmd. More...
 

Macro Definition Documentation

#define XASU_AES_BLOCK_SIZE_IN_BYTES   (16U)

AES block size in bytes.

Referenced by XAsu_AesOperation().

#define XASU_AES_CBC_MODE   (0x0U)
#define XASU_AES_CCM_MAX_NONCE_LEN   (13U)

AES-CCM maximum nonce length in bytes.

Referenced by XAsu_AesValidateIvParams().

#define XASU_AES_CCM_MIN_NONCE_LEN   (7U)

AES-CCM minimum nonce length in bytes.

Referenced by XAsu_AesValidateIvParams().

#define XASU_AES_CCM_MODE   (0x5U)
#define XASU_AES_CFB_MODE   (0x1U)
#define XASU_AES_CMAC_MODE   (0x8U)
#define XASU_AES_CTR_MODE   (0x3U)

AES CTR mode.

Referenced by XAsu_AesValidateIvParams(), and XAsu_AesValidateTagParams().

#define XASU_AES_DECRYPT_OPERATION   (0x1U)

AES decrypt operation.

Referenced by XAsu_AesOperation().

#define XASU_AES_ECB_MODE   (0x4U)
#define XASU_AES_EFUSE_KEY_0   (0x8U)

Efuse key 0.

#define XASU_AES_EFUSE_KEY_1   (0x9U)

Efuse key 1.

#define XASU_AES_EFUSE_KEY_RED_0   (0xBU)

Efuse Red key 0.

#define XASU_AES_EFUSE_KEY_RED_1   (0xCU)

Efuse Red key 1.

#define XASU_AES_ENCRYPT_OPERATION   (0x0U)

AES encrypt operation.

Referenced by XAsu_AesOperation().

#define XASU_AES_EVEN_MODULUS   (2U)

Modulus to determine evenness.

Referenced by XAsu_AesValidateTagParams().

#define XASU_AES_EXPANDED_KEYS   (0xDU)

Expanded keys in AES engine.

#define XASU_AES_FINAL   (0x4U)

AES final operation flag.

Referenced by XAsu_AesOperation().

#define XASU_AES_GCM_MODE   (0x6U)
#define XASU_AES_GET_INFO_CMD_ID   (0x2U)

Command ID for AES Get Info command.

#define XASU_AES_GHASH_MODE   (0xEU)

AES GHASH mode.

Referenced by XAsu_AesOperation().

#define XASU_AES_INIT   (0x1U)

AES initialize operation flag.

Referenced by XAsu_AesOperation().

#define XASU_AES_IV_SIZE_128BIT_IN_BYTES   (16U)

AES 128bit Iv size in bytes.

Referenced by XAsu_AesValidateIvParams().

#define XASU_AES_IV_SIZE_128BIT_IN_WORDS   (4U)

AES 128bit Iv size in words.

#define XASU_AES_IV_SIZE_96BIT_IN_BYTES   (12U)

AES 96bit Iv size in bytes.

Referenced by main(), XAsu_AesValidateIvParams(), and XAsu_ValidateEciesParameters().

#define XASU_AES_IV_SIZE_96BIT_IN_WORDS   (3U)

AES 96bit Iv size in words.

#define XASU_AES_KAT_CMD_ID   (0x1U)

Command ID for AES KAT command.

Referenced by XAsu_AesKat().

#define XASU_AES_KEY_SIZE_128_BITS   (0x0U)
#define XASU_AES_KEY_SIZE_128BIT_IN_BYTES   (16U)

AES 128bit key size in bytes.

#define XASU_AES_KEY_SIZE_128BIT_IN_WORDS   (4U)

AES 128bit key size in words.

#define XASU_AES_KEY_SIZE_256_BITS   (0x2U)
#define XASU_AES_KEY_SIZE_256BIT_IN_BYTES   (32U)

AES 256bit key size in bytes.

#define XASU_AES_KEY_SIZE_256BIT_IN_WORDS   (8U)

AES 256bit key size in words.

#define XASU_AES_MAX_KEY_SOURCES   XASU_AES_EXPANDED_KEYS

Maximum key source value.

#define XASU_AES_MAX_TAG_LENGTH_IN_BYTES   (16U)

AES maximum tag length in bytes.

Referenced by main(), XAsu_AesValidateTagParams(), and XAsu_ValidateEciesParameters().

#define XASU_AES_MIN_TAG_LENGTH_IN_BYTES   (4U)

AES minimum tag length in bytes.

Referenced by XAsu_AesValidateTagParams().

#define XASU_AES_OFB_MODE   (0x2U)

AES OFB mode.

Referenced by XAsu_AesValidateIvParams(), and XAsu_AesValidateTagParams().

#define XASU_AES_OPERATION_CMD_ID   (0x0U)

Command ID for AES operation command.

Referenced by XAsu_AesOperation().

#define XASU_AES_PUF_KEY   (0xAU)

PUF key.

#define XASU_AES_RECOMMENDED_TAG_LENGTH_IN_BYTES   (8U)

AES NIST recommended minimum tag length in bytes.

Referenced by XAsu_AesValidateTagParams().

#define XASU_AES_UPDATE   (0x2U)

AES update operation flag.

Referenced by XAsu_AesOperation().

#define XASU_AES_USER_KEY_0   (0x0U)

User Key 0.

#define XASU_AES_USER_KEY_1   (0x1U)

User Key 1.

#define XASU_AES_USER_KEY_2   (0x2U)

User Key 2.

#define XASU_AES_USER_KEY_3   (0x3U)

User Key 3.

#define XASU_AES_USER_KEY_4   (0x4U)

User Key 4.

#define XASU_AES_USER_KEY_5   (0x5U)

User Key 5.

#define XASU_AES_USER_KEY_6   (0x6U)

User Key 6.

#define XASU_AES_USER_KEY_7   (0x7U)

User Key 7.

#define XASU_CHANNEL_MEMORY_OFFSET   (0x1000U)

Channel memory offset.

#define XASU_CHANNEL_RESERVED_MEM   (1188U)

Reserved memory in channel.

#define XASU_COMMAND_DMA_WAIT_COMPLETE   (0x4U)

Command DMA wait operation is complete.

#define XASU_COMMAND_EXECUTION_COMPLETE   (0x5U)

Command execution is complete by ASUFW.

#define XASU_COMMAND_ID_MASK   (0x0000003FU)

Mask for command ID in header.

Referenced by XAsu_CreateHeader().

#define XASU_COMMAND_IN_PROGRESS   (0x2U)

Command is in progress by ASUFW.

#define XASU_COMMAND_IS_PRESENT   (0x1U)

Command is written by client.

Referenced by XAsu_UpdateQueueBufferNSendIpi().

#define XASU_COMMAND_LENGTH_MASK   (0x00FC0000U)

Mask for command length in header.

#define XASU_COMMAND_LENGTH_SHIFT   (18U)

Shift for command length.

Referenced by XAsu_CreateHeader().

#define XASU_COMMAND_REQ_ARGS   (22U)

Command arguments count.

#define XASU_COMMAND_RESP_ARGS   (17U)

Response arguments count.

#define XASU_COMMAND_WAITING_FOR_RESOURCE   (0x3U)

Command is waiting for required resources.

#define XASU_DOUBLE_CURVE_LENGTH_SHIFT   (0x1U)

Shift value to double the curve length.

#define XASU_ECC_BRAINPOOL_P256   (21U)

Brainpool P-256 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_BRAINPOOL_P320   (22U)

Brainpool P-320 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_BRAINPOOL_P384   (23U)

Brainpool P-384 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_BRAINPOOL_P512   (24U)

Brainpool P-512 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_GEN_PUBKEY_CMD_ID   (6U)

Command ID for ECC public key generation.

Referenced by XAsu_EccGenPubKey().

#define XASU_ECC_GEN_SIGNATURE_CMD_ID   (0U)

Command ID for ECC sign generation.

Referenced by XAsu_EccGenSign().

#define XASU_ECC_GET_INFO_CMD_ID   (3U)

Command ID for ECC Get Info.

#define XASU_ECC_KAT_CMD_ID   (2U)

Command ID for ECC KAT.

Referenced by XAsu_EccKat().

#define XASU_ECC_NIST_P192   (1U)

NIST P-192 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_NIST_P224   (2U)

NIST P-224 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_NIST_P256   (3U)

NIST P-256 curve.

Referenced by main(), and XAsu_EccValidateCurveInfo().

#define XASU_ECC_NIST_P384   (4U)

NIST P-384 curve.

Referenced by main(), and XAsu_EccValidateCurveInfo().

#define XASU_ECC_NIST_P521   (5U)

NIST P-521 curve.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_P192_SIZE_IN_BYTES   (24U)

Size of NIST P-192 curve in bytes.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_P224_SIZE_IN_BYTES   (28U)

Size of NIST P-224 curve in bytes.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_P256_SIZE_IN_BYTES   (32U)

Size of NIST P-256 curve in bytes.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_P320_SIZE_IN_BYTES   (40U)

Size of NIST P-320 curve in bytes.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_P384_SIZE_IN_BYTES   (48U)

Size of NIST P-384 curve in bytes.

Referenced by main(), and XAsu_EccValidateCurveInfo().

#define XASU_ECC_P512_SIZE_IN_BYTES   (64U)

Size of Brainpool P-512 curve in bytes.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_P521_SIZE_IN_BYTES   (66U)

Size of NIST P-521 curve in bytes.

Referenced by XAsu_EccValidateCurveInfo().

#define XASU_ECC_VERIFY_SIGNATURE_CMD_ID   (1U)

Command ID for ECC sign verification.

Referenced by XAsu_EccVerifySign().

#define XASU_ECDH_KAT_CMD_ID   (5U)

Command ID for ECDH KAT.

Referenced by XAsu_EcdhKat().

#define XASU_ECDH_SHARED_SECRET_CMD_ID   (4U)

Command ID for ECDH generate shared secret.

Referenced by XAsu_EcdhGenSharedSecret().

#define XASU_ECIES_DECRYPT_SHA2_CMD_ID   (2U)

Command ID for ECIES encrypt command.

Referenced by XAsu_EciesDecrypt().

#define XASU_ECIES_DECRYPT_SHA3_CMD_ID   (3U)

Command ID for ECIES decrypt command.

Referenced by XAsu_EciesDecrypt().

#define XASU_ECIES_ENCRYPT_SHA2_CMD_ID   (0U)

Command ID for ECIES encrypt command.

Referenced by XAsu_EciesEncrypt().

#define XASU_ECIES_ENCRYPT_SHA3_CMD_ID   (1U)

Command ID for ECIES decrypt command.

Referenced by XAsu_EciesEncrypt().

#define XASU_ECIES_GET_INFO_CMD_ID   (5U)

Command ID for ECIES Get Info command.

#define XASU_ECIES_KAT_CMD_ID   (4U)

Command ID for ECIES KAT command.

Referenced by XAsu_EciesKat().

#define XASU_HMAC_COMPUTE_SHA2_CMD_ID   (0U)

Command ID for HMAC compute for SHA2 command.

Referenced by XAsu_HmacCompute().

#define XASU_HMAC_COMPUTE_SHA3_CMD_ID   (1U)

Command ID for HMAC compute for SHA3 command.

Referenced by XAsu_HmacCompute().

#define XASU_HMAC_FINAL   (0x4U)

HMAC final operation flag.

#define XASU_HMAC_GET_INFO_CMD_ID   (3U)

Command ID for HMAC Get Info command.

#define XASU_HMAC_INIT   (0x1U)

HMAC init operation flag.

Referenced by XAsu_HmacCompute().

#define XASU_HMAC_KAT_CMD_ID   (2U)

Command ID for HMAC KAT command.

Referenced by XAsu_HmacKat().

#define XASU_HMAC_MAX_KEY_LENGTH   (0x1024U)

Max key length for HMAC.

#define XASU_HMAC_UPDATE   (0x2U)

HMAC update operation flag.

#define XASU_KDF_GENERATE_SHA2_CMD_ID   (0U)

Command ID for KDF generate for SHA2 command.

Referenced by XAsu_KdfGenerate().

#define XASU_KDF_GENERATE_SHA3_CMD_ID   (1U)

Command ID for KDF generate for SHA3 command.

Referenced by XAsu_KdfGenerate().

#define XASU_KDF_GET_INFO_CMD_ID   (3U)

Command ID for KDF Get Info command.

#define XASU_KDF_KAT_CMD_ID   (2U)

Command ID for KDF KAT command.

Referenced by XAsu_KdfKat().

#define XASU_KDF_MAX_CONTEXT_LEN   (1024U)

Maximum context length.

Referenced by XAsu_ValidateEciesParameters().

#define XASU_KEYWRAP_GET_INFO_CMD_ID   (5U)

Command ID for Key wrap unwrap Get Info.

#define XASU_KEYWRAP_KAT_CMD_ID   (4U)

Command ID for Key wrap unwrap KAT.

Referenced by XAsu_KeyWrapKat().

#define XASU_KEYWRAP_KEY_UNWRAP_SHA2_CMD_ID   (2U)

Command ID for Key unwrap using SHA2.

Referenced by XAsu_KeyUnwrap().

#define XASU_KEYWRAP_KEY_UNWRAP_SHA3_CMD_ID   (3U)

Command ID for Key unwrap using SHA3.

Referenced by XAsu_KeyUnwrap().

#define XASU_KEYWRAP_KEY_WRAP_SHA2_CMD_ID   (0U)

Command ID for Key wrap using SHA2.

Referenced by XAsu_KeyWrap().

#define XASU_KEYWRAP_KEY_WRAP_SHA3_CMD_ID   (1U)

Command ID for Key wrap using SHA3.

Referenced by XAsu_KeyWrap().

#define XASU_KEYWRAP_OUTPUT_LEN_SIZE_IN_BYTES   (4U)

Key wrap unwrap output length size.

Referenced by XAsu_KeyUnwrap(), and XAsu_KeyWrap().

#define XASU_MAX_BUFFERS   (8U)

Maximum request and response buffers.

Referenced by XAsu_UpdateQueueBufferNSendIpi().

#define XASU_MAX_IPI_CHANNELS   (8U)

Maximum IPI channels supported by ASUFW.

#define XASU_MODULE_AES_ID   (5U)

AES module ID.

Referenced by XAsu_AesKat(), and XAsu_AesOperation().

#define XASU_MODULE_ECC_ID   (3U)
#define XASU_MODULE_ECIES_ID   (8U)

ECIES module ID.

Referenced by XAsu_EciesDecrypt(), XAsu_EciesEncrypt(), and XAsu_EciesKat().

#define XASU_MODULE_HMAC_ID   (6U)

HMAC module ID.

Referenced by XAsu_HmacCompute(), and XAsu_HmacKat().

#define XASU_MODULE_ID_MASK   (0x0003F000U)

Mask for module ID.

#define XASU_MODULE_ID_SHIFT   (12U)

Shift value for module ID.

Referenced by XAsu_CreateHeader().

#define XASU_MODULE_KDF_ID   (7U)

KDF module ID.

Referenced by XAsu_KdfGenerate(), and XAsu_KdfKat().

#define XASU_MODULE_KEYWRAP_ID   (9U)

Key wrap unwrap module ID.

Referenced by XAsu_KeyUnwrap(), XAsu_KeyWrap(), and XAsu_KeyWrapKat().

#define XASU_MODULE_RSA_ID   (4U)
#define XASU_MODULE_SHA2_ID   (1U)

SHA2 module ID.

Referenced by XAsu_Sha2Kat(), and XAsu_Sha2Operation().

#define XASU_MODULE_SHA3_ID   (2U)

SHA3 module ID.

Referenced by XAsu_Sha3Kat(), and XAsu_Sha3Operation().

#define XASU_MODULE_TRNG_ID   (0U)

TRNGs module ID.

Referenced by XAsu_TrngGetRandomNum(), and XAsu_TrngKat().

#define XASU_RESPONSE_BUFF_ADDR_INDEX   (1U)

Response buffer address index in response buffer.

#define XASU_RESPONSE_IS_PRESENT   (0x1U)

Response is written by ASUFW.

#define XASU_RESPONSE_STATUS_INDEX   (0U)

Response status index in response buffer.

#define XASU_RSA_ENCRYPTION   (1U)

Encryption operation.

#define XASU_RSA_EXPONENTIATION_DECRYPTION   (2U)

Exponentiation Decryption operation.

#define XASU_RSA_GET_INFO_CMD_ID   (12U)

Command ID for RSA Get Info command.

#define XASU_RSA_HASHED_INPUT_DATA   (1U)

Input data hash is already calculated.

Referenced by XAsu_RsaPssSignGen(), and XAsu_RsaPssSignVer().

#define XASU_RSA_KAT_CMD_ID   (11U)

Command ID for RSA KAT command.

Referenced by XAsu_RsaKat().

#define XASU_RSA_OAEP_DEC_SHA2_CMD_ID   (4U)

Command ID for OAEP dec with SHA2.

Referenced by XAsu_RsaOaepDec().

#define XASU_RSA_OAEP_DEC_SHA3_CMD_ID   (6U)

Command ID for OAEP dec with SHA3.

Referenced by XAsu_RsaOaepDec().

#define XASU_RSA_OAEP_ENC_SHA2_CMD_ID   (3U)

Command ID for OAEP enc with SHA2.

Referenced by XAsu_RsaOaepEnc().

#define XASU_RSA_OAEP_ENC_SHA3_CMD_ID   (5U)

Command ID for OAEP enc with SHA3.

Referenced by XAsu_RsaOaepEnc().

#define XASU_RSA_PSS_SIGN_GEN_SHA2_CMD_ID   (7U)

Command ID for PSS sign gen with SHA2.

Referenced by XAsu_RsaPssSignGen().

#define XASU_RSA_PSS_SIGN_GEN_SHA3_CMD_ID   (9U)

Command ID for PSS sign gen with SHA3.

Referenced by XAsu_RsaPssSignGen().

#define XASU_RSA_PSS_SIGN_VER_SHA2_CMD_ID   (8U)

Command ID for PSS sign ver with SHA2.

Referenced by XAsu_RsaPssSignVer().

#define XASU_RSA_PSS_SIGN_VER_SHA3_CMD_ID   (10U)

Command ID for PSS sign ver with SHA3.

Referenced by XAsu_RsaPssSignVer().

#define XASU_RSA_PUB_ENC_CMD_ID   (0U)

Command ID for RSA public encryption.

Referenced by XAsu_RsaEnc().

#define XASU_RSA_PVT_CRT_DEC_CMD_ID   (2U)

Command ID for RSA private CRT decryption.

Referenced by XAsu_RsaCrtDec().

#define XASU_RSA_PVT_DEC_CMD_ID   (1U)

Command ID for RSA private decryption.

Referenced by XAsu_RsaDec().

#define XASU_RSA_SIGN_GENERATION   (3U)

Sign Generation operation.

#define XASU_RSA_SIGN_VERIFICATION   (4U)

Sign Verification operation.

#define XASU_RTCA_BASEADDR   (0xEBE40000U)

ASUFW run time configuration area base address.

#define XASU_RTCA_COMM_CHANNEL_INFO_ADDR   (XASU_RTCA_BASEADDR + 0x10U)

Communication channel info register address.

#define XASU_SHA_256_HASH_LEN   (32U)
#define XASU_SHA_384_HASH_LEN   (48U)
#define XASU_SHA_512_HASH_LEN   (64U)
#define XASU_SHA_FINISH   (0x4U)

SHA finish operation flag.

Referenced by XAsu_HmacCompute(), XAsu_Sha2Operation(), and XAsu_Sha3Operation().

#define XASU_SHA_GET_INFO_CMD_ID   (2U)

Command ID for SHA3 Get Info command.

#define XASU_SHA_KAT_CMD_ID   (1U)

Command ID for SHA3 KAT command.

Referenced by XAsu_Sha2Kat(), and XAsu_Sha3Kat().

#define XASU_SHA_OPERATION_CMD_ID   (0U)

Command ID for SHA3 operation command.

Referenced by XAsu_Sha2Operation(), and XAsu_Sha3Operation().

#define XASU_SHA_START   (0x1U)

SHA start operation flag.

Referenced by XAsu_Sha2Operation(), and XAsu_Sha3Operation().

#define XASU_SHA_UPDATE   (0x2U)

SHA update operation flag.

Referenced by XAsu_Sha2Operation(), and XAsu_Sha3Operation().

#define XASU_SHAKE_256_HASH_LEN   (32U)

SHAKE 256 hash length.

Referenced by XAsu_RsaPssSignGen(), XAsu_RsaPssSignVer(), and XAsu_Sha3Operation().

#define XASU_SHAKE_256_MAX_HASH_LEN   (136U)

SHAKE 256 maximum hash length.

Referenced by XAsu_RsaPssSignGen(), and XAsu_RsaPssSignVer().

#define XASU_TRNG_DRBG_GENERATE_CMD_ID   5U

Command ID for TRNG DRBG generate cmd.

#define XASU_TRNG_DRBG_INSTANTIATE_CMD_ID   3U

Command ID for TRNG DRBG instantiate cmd.

#define XASU_TRNG_DRBG_RESEED_CMD_ID   4U

Command ID for TRNG DRBG reseed cmd.

#define XASU_TRNG_GET_INFO_CMD_ID   2U

Command ID for TRNG Get Info command.

#define XASU_TRNG_GET_RANDOM_BYTES_CMD_ID   0U

Command ID for TRNG Get Random Bytes cmd.

Referenced by XAsu_TrngGetRandomNum().

#define XASU_TRNG_KAT_CMD_ID   1U

Command ID for TRNG KAT command.

Referenced by XAsu_TrngKat().

#define XASU_UNIQUE_REQ_ID_MASK   (0x00000FC0U)

Mask for command unique reqest ID.

Referenced by XAsu_GetUniqueId().

#define XASU_UNIQUE_REQ_ID_SHIFT   (6U)

Shift value for unique request ID.

Referenced by XAsu_CreateHeader(), and XAsu_GetUniqueId().

#define XRSA_2048_KEY_SIZE   (256U)

2048 bit key size in bytes

#define XRSA_3072_KEY_SIZE   (384U)

3072 bit key size in bytes

#define XRSA_4096_KEY_SIZE   (512U)

4096 bit key size in bytes

#define XRSA_MAX_KEY_SIZE_IN_WORDS   (XRSA_4096_KEY_SIZE / 4U)

RSA max key size in words.

#define XRSA_MAX_PRIME_SIZE_IN_WORDS   (64U)

RSA max prime size in words.