48 #include "../inc/hw_types.h" 49 #include "../inc/hw_memmap.h" 50 #include "../inc/hw_aes.h" 56 #define AES_BLOCK_SIZE 16U 57 #define AES_BLOCK_SIZE_WORDS (AES_BLOCK_SIZE / 4U) 58 #define AES_BLOCK_SIZE_MULTIPLE_MASK 0xFFFFFFF0U 59 #define AES_BLOCK_SIZE_MULTIPLE_LENGTH(len) ((len)&AES_BLOCK_SIZE_MULTIPLE_MASK) 60 #define AES_NON_BLOCK_SIZE_MULTIPLE_MASK 0x0000000FU 61 #define AES_NON_BLOCK_SIZE_MULTIPLE_LENGTH(len) ((len)&AES_NON_BLOCK_SIZE_MULTIPLE_MASK) 62 #define AES_GET_NUM_BLOCKS(len) ((len) >> 4) 63 #define AES_BLOCKS_TO_BYTES(numBlocks) ((numBlocks) << 4) 65 #define AES_DOUBLE_BLOCK_SIZE_MULTIPLE_MASK (size_t)(0xFFFFFFE0UL) 67 #define AES_IV_LENGTH_BYTES AES_BLOCK_SIZE 68 #define AES_TAG_LENGTH_BYTES AES_BLOCK_SIZE 70 #define AES_128_KEY_LENGTH_BYTES (128U / 8U) 72 #define IS_WORD_ALIGNED(ptr) (((uintptr_t)(ptr) << 30) == 0U) 74 #define AES_ICLR_ALL \ 75 ((uint32_t)AES_ICLR_AESDONE | (uint32_t)AES_ICLR_AESSTART | (uint32_t)AES_ICLR_CHADONE | (uint32_t)AES_ICLR_CHBDONE) 94 void AESProcessAlignedBlocksCMAC(
const uint32_t *input, uint32_t numBlocks);
106 void AESProcessAlignedBlocksCTR(
const uint32_t *input, uint32_t *output, uint32_t numBlocks);
118 void AESProcessAlignedBlocksECB(
const uint32_t *input, uint32_t *output, uint32_t numBlocks);
135 void AESCopyBlock(
void *dst,
const void *src);
#define AES_O_BUF2
Definition: hw_aes.h:112
#define AES_O_TXTX0
Definition: hw_aes.h:94
#define AES_O_TRG
Definition: hw_aes.h:46
#define AES_O_BUF1
Definition: hw_aes.h:109
#define AES_O_RIS
Definition: hw_aes.h:133
#define AES_ABORT_ABORTAES_SET
Definition: hw_aes.h:264
#define HWREG(x)
Definition: hw_types.h:79
#define AES_DMA_DONEACT_DIS
Definition: hw_aes.h:379
#define __STATIC_INLINE
Definition: hw_types.h:58
#define AES_AUTOCFG_BUSHALT_M
Definition: hw_aes.h:583
#define AES_CLR_TXT_M
Definition: hw_aes.h:279
#define AES_O_ICLR
Definition: hw_aes.h:142
#define AES_O_TXT3
Definition: hw_aes.h:91
#define AES_O_TXTXBUF0
Definition: hw_aes.h:118
#define AES_O_BUF3
Definition: hw_aes.h:115
#define AES_O_TXTX2
Definition: hw_aes.h:100
#define AES_O_AUTOCFG
Definition: hw_aes.h:67
#define AES_O_MIS
Definition: hw_aes.h:136
#define AES_DMA_TRGCHB_DIS
Definition: hw_aes.h:423
#define AES_O_ISET
Definition: hw_aes.h:139
#define AES_O_CLR
Definition: hw_aes.h:52
#define AES_DMA_TRGCHA_DIS
Definition: hw_aes.h:467
#define AES_O_STA
Definition: hw_aes.h:55
#define AES_O_BUF0
Definition: hw_aes.h:106
#define AES_O_KEY0
Definition: hw_aes.h:70
#define AES_O_TXT0
Definition: hw_aes.h:82
#define AES_O_DMA
Definition: hw_aes.h:58
#define AES_AUTOCFG_TRGAES_M
Definition: hw_aes.h:718
#define AES_CLR_BUF_M
Definition: hw_aes.h:291
#define AES_O_TXT2
Definition: hw_aes.h:88
#define AES_BASE
Definition: hw_memmap.h:92
#define AES_O_TXTX3
Definition: hw_aes.h:103
#define AES_O_IMASK
Definition: hw_aes.h:130
#define AES_O_TXT1
Definition: hw_aes.h:85
#define AES_O_TXTX1
Definition: hw_aes.h:97
#define AES_O_ABORT
Definition: hw_aes.h:49