56 #ifndef ti_drivers_aesctr_AESCTRLPF3__include 57 #define ti_drivers_aesctr_AESCTRLPF3__include 66 #include <ti/devices/DeviceFamily.h> 67 #include DeviceFamily_constructPath(driverlib/aes.h) 82 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX) 83 #define AES_AUTOCFG_CTRENDN_BIGENDIAN AES_AUTOCFG_CTRENDIAN_BIGENDIAN 86 #if DeviceFamily_PARENT == DeviceFamily_PARENT_CC23X0 87 #define AESCTRLPF3_DEFAULT_AUTOCFG \ 88 ((uint32_t)AES_AUTOCFG_AESSRC_BUF | (uint32_t)AES_AUTOCFG_TRGAES_WRBUF3S | \ 89 (uint32_t)AES_AUTOCFG_TRGAES_RDTXT3 | (uint32_t)AES_AUTOCFG_CTRSIZE_CTR128 | \ 90 (uint32_t)AES_AUTOCFG_CTRENDN_BIGENDIAN | (uint32_t)AES_AUTOCFG_BUSHALT_EN) 91 #elif DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX 92 #define AESCTRLPF3_DEFAULT_AUTOCFG \ 93 ((uint32_t)AES_AUTOCFG_ECBSRC_BUF | (uint32_t)AES_AUTOCFG_TRGECB_WRBUF3S | \ 94 (uint32_t)AES_AUTOCFG_TRGECB_RDTXT3 | (uint32_t)AES_AUTOCFG_CTRSIZE_CTR128 | \ 95 (uint32_t)AES_AUTOCFG_CTRENDN_BIGENDIAN | (uint32_t)AES_AUTOCFG_BUSHALT_EN) 97 #error "Unsupported DeviceFamily_Parent for AESCTRLPF3!" 111 #if DeviceFamily_PARENT == DeviceFamily_PARENT_CC23X0 112 #define AESCTRLPF3_LAST_BLOCK_AUTOCFG \ 113 ((uint32_t)AES_AUTOCFG_AESSRC_BUF | (uint32_t)AES_AUTOCFG_TRGAES_WRBUF3S | \ 114 (uint32_t)AES_AUTOCFG_CTRSIZE_CTR128 | (uint32_t)AES_AUTOCFG_CTRENDN_BIGENDIAN | \ 115 (uint32_t)AES_AUTOCFG_BUSHALT_EN) 116 #elif DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX 117 #define AESCTRLPF3_LAST_BLOCK_AUTOCFG \ 118 ((uint32_t)AES_AUTOCFG_ECBSRC_BUF | (uint32_t)AES_AUTOCFG_TRGECB_WRBUF3S | \ 119 (uint32_t)AES_AUTOCFG_CTRSIZE_CTR128 | (uint32_t)AES_AUTOCFG_CTRENDN_BIGENDIAN | \ 120 (uint32_t)AES_AUTOCFG_BUSHALT_EN) 122 #error "Unsupported DeviceFamily_Parent for AESCTRLPF3!" 142 volatile uint32_t counter[AES_BLOCK_SIZE_WORDS];
151 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX) 176 void AESCTRLPF3_processData(
const uint8_t *input, uint8_t *output,
size_t inputLength,
bool isOneStepOrFinalOperation);
190 const uint8_t *input,
201 __STATIC_INLINE
void AESCTRLPF3_readCounter(uint32_t counterOut[AES_BLOCK_SIZE_WORDS])
204 AESReadBUF32(&counterOut[0]);
212 __STATIC_INLINE
void AESCTRLPF3_writeCounter(uint32_t counterIn[AES_BLOCK_SIZE_WORDS])
214 AESWriteBUF32(&counterIn[0]);
233 __STATIC_INLINE
bool AESCTR_acquireLock(
AESCTR_Handle handle, uint32_t timeout)
247 __STATIC_INLINE
void AESCTR_releaseLock(
AESCTR_Handle handle)
261 __STATIC_INLINE
void AESCTR_enableThreadSafety(
AESCTR_Handle handle)
264 object->threadSafe =
true;
279 __STATIC_INLINE
void AESCTR_disableThreadSafety(
AESCTR_Handle handle)
282 object->threadSafe =
false;
size_t inputLength
Definition: AESCTRLPF3.h:145
AESCommonLPF3_HWAttrs AESCTRLPF3_HWAttrs
AESCTRLPF3 Hardware Attributes.
Definition: AESCTRLPF3.h:131
bool CryptoResourceLPF3_acquireLock(uint32_t timeout)
void(* AESCTR_CallbackFxn)(AESCTR_Handle handle, int_fast16_t returnValue, AESCTR_OperationUnion *operation, AESCTR_OperationType operationType)
The definition of a callback function used by the AESCTR driver when used in AESCTR_RETURN_BEHAVIOR_C...
Definition: AESCTR.h:736
AES Global configuration.
Definition: AESCommon.h:154
uint8_t * output
Definition: AESCTRLPF3.h:144
AESCTR_OperationType
Enum for the operation types supported by the driver.
Definition: AESCTR.h:693
AESCTRLPF3 Object.
Definition: AESCTRLPF3.h:138
AESCTR_OperationUnion * operation
Definition: AESCTRLPF3.h:147
AESCTR_OperationType operationType
Definition: AESCTRLPF3.h:149
AESCommonLPF3 Hardware Attributes.
Definition: AESCommonLPF3.h:80
void CryptoResourceLPF3_releaseLock(void)
AESCommon driver implementation for the Low Power F3 family.
Shared resources to arbitrate access to the AES engine.
void * object
Definition: AESCommon.h:157
size_t inputLengthRemaining
Definition: AESCTRLPF3.h:146
AESCTR_CallbackFxn callbackFxn
Definition: AESCTRLPF3.h:148
Union containing a reference to a one-step and segmented operation structure.
Definition: AESCTR.h:655
int_fast16_t hsmStatus
The staus of the HSM Boot up process if HSMLPF3_STATUS_SUCCESS, the HSM booted properly. if HSMLPF3_STATUS_ERROR, the HSM did not boot properly.
Definition: AESCTRLPF3.h:157
bool segmentedOperationInProgress
Definition: AESCTRLPF3.h:160
bool threadSafe
Definition: AESCTRLPF3.h:150
const uint8_t * input
Definition: AESCTRLPF3.h:143
AESCommonLPF3 Object.
Definition: AESCommonLPF3.h:102
AESCommonLPF3_Object common
Definition: AESCTRLPF3.h:141