59 #ifndef ti_drivers_aescommon_AESCommonXXF3__include 60 #define ti_drivers_aescommon_AESCommonXXF3__include 68 #include <ti/drivers/dpl/HwiP.h> 70 #include <ti/devices/DeviceFamily.h> 71 #include DeviceFamily_constructPath(inc/hw_types.h) 82 #ifndef AESCommonXXF3_UNALIGNED_IO_SUPPORT_ENABLE 83 #define AESCommonXXF3_UNALIGNED_IO_SUPPORT_ENABLE 0 91 #define AESCommonXXF3_DMA_CHA_BITMASK ((uint32_t)1U << DMA_CH4) 93 #define AESCommonXXF3_DMA_CHB_BITMASK ((uint32_t)1U << DMA_CH5) 96 #define AESCommonXXF3_256_KEY_LENGTH_BYTES (256U / 8U) 98 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC35XX) 103 #define AES_BLOCK_SIZE 16U 104 #define AES_BLOCK_SIZE_WORDS (AES_BLOCK_SIZE / 4U) 105 #define AES_BLOCK_SIZE_MULTIPLE_MASK 0xFFFFFFF0U 106 #define AES_BLOCK_SIZE_MULTIPLE_LENGTH(len) ((len)&AES_BLOCK_SIZE_MULTIPLE_MASK) 107 #define AES_NON_BLOCK_SIZE_MULTIPLE_MASK 0x0000000FU 108 #define AES_NON_BLOCK_SIZE_MULTIPLE_LENGTH(len) ((len)&AES_NON_BLOCK_SIZE_MULTIPLE_MASK) 110 #define AES_IV_LENGTH_BYTES AES_BLOCK_SIZE 111 #define AES_TAG_LENGTH_BYTES AES_BLOCK_SIZE 113 #define AES_128_KEY_LENGTH_BYTES (128U / 8U) 115 #define IS_WORD_ALIGNED(ptr) (((uintptr_t)(ptr) << 30) == 0U) 163 void AESCommonXXF3_init(
void);
188 void AESCommonXXF3_loadKey(
const CryptoKey *key);
191 #if (ENABLE_KEY_STORAGE == 1) 193 #ifndef KeyStore_PSA_Algorithm 196 #ifndef KeyStore_PSA_KeyUsage 213 int_fast16_t AESCommonXXF3_loadKeyFromKeyStore(
const CryptoKey *key,
214 uint32_t *keyAssetID,
215 KeyStore_PSA_Algorithm targetAlg,
216 KeyStore_PSA_KeyUsage targetUsage);
228 void AESCommonXXF3_setupOperation(
CryptoKey *key, uint32_t autoCfgVal);
265 object->operationInProgress =
false;
306 bool AESCommonXXF3_isDMALengthValid(
const void *input,
const void *output,
size_t length);
324 void AESCommonXXF3_configInputDMA(
const void *input,
size_t inputLength);
343 void AESCommonXXF3_configOutputDMA(
void *output,
size_t outputLength);
354 void AESCommonXXF3_cancelDMA(
bool cancelChannelB);
381 void AESCommonXXF3_setupHwi(HwiP_Fxn hwiFxn, uintptr_t hwiFxnArg, uint8_t intPriority);
AES_ReturnBehavior returnBehavior
Definition: AESCommonXXF3.h:148
psa_key_usage_t KeyStore_PSA_KeyUsage
Encoding of permitted usage on a key.
Definition: CryptoKeyKeyStore_PSA.h:133
uint8_t intPriority
Crypto Peripheral's interrupt priority.
Definition: AESCommonXXF3.h:135
The CryptoKey type is an opaque representation of a cryptographic key.
AES_ReturnBehavior
The return behavior of AES functions.
Definition: AESCommon.h:184
volatile bool cryptoResourceLocked
Definition: AESCommonXXF3.h:150
CryptoKey datastructure.
Definition: CryptoKey.h:211
volatile int_fast16_t returnStatus
Definition: AESCommonXXF3.h:147
volatile bool powerConstraintSet
Definition: AESCommonXXF3.h:152
volatile bool operationInProgress
Definition: AESCommonXXF3.h:151
psa_algorithm_t KeyStore_PSA_Algorithm
Encoding of a cryptographic algorithm.
Definition: CryptoKeyKeyStore_PSA.h:575
uint32_t semaphoreTimeout
Definition: AESCommonXXF3.h:145
bool isOpen
Definition: AESCommonXXF3.h:149
AESCommonXXF3 Object.
Definition: AESCommonXXF3.h:143
CryptoKey key
Definition: AESCommonXXF3.h:146
AES common module header for all devices.
AESCommonXXF3 Hardware Attributes.
Definition: AESCommonXXF3.h:121