EE445M RTOS
Taken at the University of Texas Spring 2015
aes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define AES_CFG_DIR_ENCRYPT   0x00000004
 
#define AES_CFG_DIR_DECRYPT   0x00000000
 
#define AES_CFG_KEY_SIZE_128BIT   0x00000008
 
#define AES_CFG_KEY_SIZE_192BIT   0x00000010
 
#define AES_CFG_KEY_SIZE_256BIT   0x00000018
 
#define AES_CFG_MODE_M   0x2007fe60
 
#define AES_CFG_MODE_ECB   0x00000000
 
#define AES_CFG_MODE_CBC   0x00000020
 
#define AES_CFG_MODE_CTR   0x00000040
 
#define AES_CFG_MODE_ICM   0x00000200
 
#define AES_CFG_MODE_CFB   0x00000400
 
#define AES_CFG_MODE_XTS_TWEAKJL   0x00000800
 
#define AES_CFG_MODE_XTS_K2IJL   0x00001000
 
#define AES_CFG_MODE_XTS_K2ILJ0   0x00001800
 
#define AES_CFG_MODE_F8   0x00002000
 
#define AES_CFG_MODE_F9   0x20004000
 
#define AES_CFG_MODE_CBCMAC   0x20008000
 
#define AES_CFG_MODE_GCM_HLY0ZERO   0x20010000
 
#define AES_CFG_MODE_GCM_HLY0CALC   0x20020040
 
#define AES_CFG_MODE_GCM_HY0CALC   0x20030040
 
#define AES_CFG_MODE_CCM   0x20040040
 
#define AES_CFG_CTR_WIDTH_32   0x00000000
 
#define AES_CFG_CTR_WIDTH_64   0x00000080
 
#define AES_CFG_CTR_WIDTH_96   0x00000100
 
#define AES_CFG_CTR_WIDTH_128   0x00000180
 
#define AES_CFG_CCM_L_1   0x00000000
 
#define AES_CFG_CCM_L_2   0x00080000
 
#define AES_CFG_CCM_L_3   0x00100000
 
#define AES_CFG_CCM_L_4   0x00180000
 
#define AES_CFG_CCM_L_5   0x00200000
 
#define AES_CFG_CCM_L_6   0x00280000
 
#define AES_CFG_CCM_L_7   0x00300000
 
#define AES_CFG_CCM_L_8   0x00380000
 
#define AES_CFG_CCM_M_4   0x00400000
 
#define AES_CFG_CCM_M_6   0x00800000
 
#define AES_CFG_CCM_M_8   0x00c00000
 
#define AES_CFG_CCM_M_10   0x01000000
 
#define AES_CFG_CCM_M_12   0x01400000
 
#define AES_CFG_CCM_M_14   0x01800000
 
#define AES_CFG_CCM_M_16   0x01c00000
 
#define AES_INT_CONTEXT_IN   0x00000001
 
#define AES_INT_CONTEXT_OUT   0x00000008
 
#define AES_INT_DATA_IN   0x00000002
 
#define AES_INT_DATA_OUT   0x00000004
 
#define AES_INT_DMA_CONTEXT_IN   0x00010000
 
#define AES_INT_DMA_CONTEXT_OUT   0x00080000
 
#define AES_INT_DMA_DATA_IN   0x00020000
 
#define AES_INT_DMA_DATA_OUT   0x00040000
 
#define AES_DMA_DATA_IN   0x00000020
 
#define AES_DMA_DATA_OUT   0x00000040
 
#define AES_DMA_CONTEXT_IN   0x00000080
 
#define AES_DMA_CONTEXT_OUT   0x00000100
 

Functions

void AESAuthLengthSet (uint32_t ui32Base, uint32_t ui32Length)
 
void AESConfigSet (uint32_t ui32Base, uint32_t ui32Config)
 
void AESDataRead (uint32_t ui32Base, uint32_t *pui32Dest)
 
bool AESDataReadNonBlocking (uint32_t ui32Base, uint32_t *pui32Dest)
 
bool AESDataProcess (uint32_t ui32Base, uint32_t *pui32Src, uint32_t *pui32Dest, uint32_t ui32Length)
 
bool AESDataAuth (uint32_t ui32Base, uint32_t *pui32Src, uint32_t ui32Length, uint32_t *pui32Tag)
 
bool AESDataProcessAuth (uint32_t ui32Base, uint32_t *pui32Src, uint32_t *pui32Dest, uint32_t ui32Length, uint32_t *pui32AuthSrc, uint32_t ui32AuthLength, uint32_t *pui32Tag)
 
void AESDataWrite (uint32_t ui32Base, uint32_t *pui32Src)
 
bool AESDataWriteNonBlocking (uint32_t ui32Base, uint32_t *pui32Src)
 
void AESDMADisable (uint32_t ui32Base, uint32_t ui32Flags)
 
void AESDMAEnable (uint32_t ui32Base, uint32_t ui32Flags)
 
void AESIntClear (uint32_t ui32Base, uint32_t ui32IntFlags)
 
void AESIntDisable (uint32_t ui32Base, uint32_t ui32IntFlags)
 
void AESIntEnable (uint32_t ui32Base, uint32_t ui32IntFlags)
 
void AESIntRegister (uint32_t ui32Base, void(*pfnHandler)(void))
 
uint32_t AESIntStatus (uint32_t ui32Base, bool bMasked)
 
void AESIntUnregister (uint32_t ui32Base)
 
void AESIVSet (uint32_t ui32Base, uint32_t *pui32IVdata)
 
void AESIVRead (uint32_t ui32Base, uint32_t *pui32IVdata)
 
void AESKey1Set (uint32_t ui32Base, uint32_t *pui32Key, uint32_t ui32Keysize)
 
void AESKey2Set (uint32_t ui32Base, uint32_t *pui32Key, uint32_t ui32Keysize)
 
void AESKey3Set (uint32_t ui32Base, uint32_t *pui32Key)
 
void AESLengthSet (uint32_t ui32Base, uint64_t ui64Length)
 
void AESReset (uint32_t ui32Base)
 
void AESTagRead (uint32_t ui32Base, uint32_t *pui32TagData)
 

Macro Definition Documentation

#define AES_CFG_CCM_L_1   0x00000000

Definition at line 121 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_2   0x00080000

Definition at line 122 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_3   0x00100000

Definition at line 123 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_4   0x00180000

Definition at line 124 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_5   0x00200000

Definition at line 125 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_6   0x00280000

Definition at line 126 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_7   0x00300000

Definition at line 127 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_L_8   0x00380000

Definition at line 128 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_10   0x01000000

Definition at line 140 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_12   0x01400000

Definition at line 141 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_14   0x01800000

Definition at line 142 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_16   0x01c00000

Definition at line 143 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_4   0x00400000

Definition at line 137 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_6   0x00800000

Definition at line 138 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CCM_M_8   0x00c00000

Definition at line 139 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CTR_WIDTH_128   0x00000180

Definition at line 112 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CTR_WIDTH_32   0x00000000

Definition at line 109 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CTR_WIDTH_64   0x00000080

Definition at line 110 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_CTR_WIDTH_96   0x00000100

Definition at line 111 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_DIR_DECRYPT   0x00000000

Definition at line 61 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_DIR_ENCRYPT   0x00000004

Definition at line 60 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_KEY_SIZE_128BIT   0x00000008

Definition at line 69 of file aes.h.

Referenced by AESConfigSet(), AESKey1Set(), and AESKey2Set().

#define AES_CFG_KEY_SIZE_192BIT   0x00000010

Definition at line 70 of file aes.h.

Referenced by AESConfigSet(), AESKey1Set(), and AESKey2Set().

#define AES_CFG_KEY_SIZE_256BIT   0x00000018

Definition at line 71 of file aes.h.

Referenced by AESConfigSet(), AESKey1Set(), and AESKey2Set().

#define AES_CFG_MODE_CBC   0x00000020

Definition at line 81 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_CBCMAC   0x20008000

Definition at line 93 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_CCM   0x20040040

Definition at line 100 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_CFB   0x00000400

Definition at line 84 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_CTR   0x00000040

Definition at line 82 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_ECB   0x00000000

Definition at line 80 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_F8   0x00002000

Definition at line 91 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_F9   0x20004000

Definition at line 92 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_GCM_HLY0CALC   0x20020040

Definition at line 96 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_GCM_HLY0ZERO   0x20010000

Definition at line 94 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_GCM_HY0CALC   0x20030040

Definition at line 98 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_ICM   0x00000200

Definition at line 83 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_M   0x2007fe60

Definition at line 79 of file aes.h.

#define AES_CFG_MODE_XTS_K2IJL   0x00001000

Definition at line 87 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_XTS_K2ILJ0   0x00001800

Definition at line 89 of file aes.h.

Referenced by AESConfigSet().

#define AES_CFG_MODE_XTS_TWEAKJL   0x00000800

Definition at line 85 of file aes.h.

Referenced by AESConfigSet().

#define AES_DMA_CONTEXT_IN   0x00000080

Definition at line 168 of file aes.h.

Referenced by AESDMADisable(), and AESDMAEnable().

#define AES_DMA_CONTEXT_OUT   0x00000100

Definition at line 169 of file aes.h.

Referenced by AESDMADisable(), and AESDMAEnable().

#define AES_DMA_DATA_IN   0x00000020

Definition at line 166 of file aes.h.

Referenced by AESDMADisable(), and AESDMAEnable().

#define AES_DMA_DATA_OUT   0x00000040

Definition at line 167 of file aes.h.

Referenced by AESDMADisable(), and AESDMAEnable().

#define AES_INT_CONTEXT_IN   0x00000001

Definition at line 151 of file aes.h.

Referenced by AESIntDisable(), and AESIntEnable().

#define AES_INT_CONTEXT_OUT   0x00000008

Definition at line 152 of file aes.h.

Referenced by AESIntDisable(), and AESIntEnable().

#define AES_INT_DATA_IN   0x00000002

Definition at line 153 of file aes.h.

Referenced by AESIntDisable(), and AESIntEnable().

#define AES_INT_DATA_OUT   0x00000004

Definition at line 154 of file aes.h.

Referenced by AESIntDisable(), and AESIntEnable().

#define AES_INT_DMA_CONTEXT_IN   0x00010000

Definition at line 155 of file aes.h.

Referenced by AESIntClear(), AESIntDisable(), and AESIntEnable().

#define AES_INT_DMA_CONTEXT_OUT   0x00080000

Definition at line 156 of file aes.h.

Referenced by AESIntClear(), AESIntDisable(), and AESIntEnable().

#define AES_INT_DMA_DATA_IN   0x00020000

Definition at line 157 of file aes.h.

Referenced by AESIntClear(), AESIntDisable(), and AESIntEnable().

#define AES_INT_DMA_DATA_OUT   0x00040000

Definition at line 158 of file aes.h.

Referenced by AESIntClear(), AESIntDisable(), and AESIntEnable().