41 #ifndef ti_drivers_aescommon_AESCommonLPF3__include 42 #define ti_drivers_aescommon_AESCommonLPF3__include 50 #include <ti/drivers/dpl/HwiP.h> 52 #include <ti/devices/DeviceFamily.h> 53 #include DeviceFamily_constructPath(inc/hw_types.h) 64 #ifndef AESCommonLPF3_UNALIGNED_IO_SUPPORT_ENABLE 65 #define AESCommonLPF3_UNALIGNED_IO_SUPPORT_ENABLE 0 73 #define AESCommonLPF3_DMA_CHA_BITMASK ((uint32_t)1U << DMA_CH4) 75 #define AESCommonLPF3_DMA_CHB_BITMASK ((uint32_t)1U << DMA_CH5) 78 #define AESCommonLPF3_256_KEY_LENGTH_BYTES (256U / 8U) 80 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC35XX) 85 #define AES_BLOCK_SIZE 16U 86 #define AES_BLOCK_SIZE_WORDS (AES_BLOCK_SIZE / 4U) 87 #define AES_BLOCK_SIZE_MULTIPLE_MASK 0xFFFFFFF0U 88 #define AES_BLOCK_SIZE_MULTIPLE_LENGTH(len) ((len)&AES_BLOCK_SIZE_MULTIPLE_MASK) 89 #define AES_NON_BLOCK_SIZE_MULTIPLE_MASK 0x0000000FU 90 #define AES_NON_BLOCK_SIZE_MULTIPLE_LENGTH(len) ((len)&AES_NON_BLOCK_SIZE_MULTIPLE_MASK) 92 #define AES_IV_LENGTH_BYTES AES_BLOCK_SIZE 93 #define AES_TAG_LENGTH_BYTES AES_BLOCK_SIZE 95 #define AES_128_KEY_LENGTH_BYTES (128U / 8U) 97 #define IS_WORD_ALIGNED(ptr) (((uintptr_t)(ptr) << 30) == 0U) 145 void AESCommonLPF3_init(
void);
170 void AESCommonLPF3_loadKey(
const CryptoKey *key);
181 void AESCommonLPF3_setupOperation(
CryptoKey *key, uint32_t autoCfgVal);
218 object->operationInProgress =
false;
259 bool AESCommonLPF3_isDMALengthValid(
const void *input,
const void *output,
size_t length);
277 void AESCommonLPF3_configInputDMA(
const void *input,
size_t inputLength);
296 void AESCommonLPF3_configOutputDMA(
void *output,
size_t outputLength);
308 void AESCommonLPF3_cancelDMA(
bool cancelChannelB);
335 void AESCommonLPF3_setupHwi(HwiP_Fxn hwiFxn, uintptr_t hwiFxnArg, uint8_t intPriority);
The CryptoKey type is an opaque representation of a cryptographic key.
volatile int_fast16_t returnStatus
Definition: AESCommonLPF3.h:129
AES_ReturnBehavior
The return behavior of AES functions.
Definition: AESCommon.h:184
AES_ReturnBehavior returnBehavior
Definition: AESCommonLPF3.h:130
CryptoKey datastructure.
Definition: CryptoKey.h:211
volatile bool operationInProgress
Definition: AESCommonLPF3.h:133
volatile bool powerConstraintSet
Definition: AESCommonLPF3.h:134
CryptoKey key
Definition: AESCommonLPF3.h:128
uint8_t intPriority
Crypto Peripheral's interrupt priority.
Definition: AESCommonLPF3.h:117
AESCommonLPF3 Hardware Attributes.
Definition: AESCommonLPF3.h:103
uint32_t semaphoreTimeout
Definition: AESCommonLPF3.h:127
AES common module header for all devices.
bool isOpen
Definition: AESCommonLPF3.h:131
volatile bool cryptoResourceLocked
Definition: AESCommonLPF3.h:132
AESCommonLPF3 Object.
Definition: AESCommonLPF3.h:125