![]() |
MAX32670 Peripheral Driver API
Peripheral Driver API for the MAX32670
|
Modules | |
AES_Registers | |
AESKEYS_Registers | |
Data Structures | |
struct | mxc_aes_req_t |
Enumerations | |
enum | mxc_aes_keys_t |
enum | mxc_aes_enc_type_t |
Functions | |
int | MXC_AES_Init (void) |
void | MXC_AES_EnableInt (uint32_t interrupt) |
void | MXC_AES_DisableInt (uint32_t interrupt) |
int | MXC_AES_IsBusy (void) |
int | MXC_AES_Shutdown (void) |
void | MXC_AES_DMACallback (int ch, int error) |
void | MXC_AES_GenerateKey (void) |
void | MXC_AES_SetKeySize (mxc_aes_keys_t key) |
mxc_aes_keys_t | MXC_AES_GetKeySize (void) |
void | MXC_AES_FlushInputFIFO (void) |
void | MXC_AES_FlushOutputFIFO (void) |
void | MXC_AES_Start (void) |
uint32_t | MXC_AES_GetFlags (void) |
void | MXC_AES_ClearFlags (uint32_t flags) |
int | MXC_AES_Generic (mxc_aes_req_t *req) |
int | MXC_AES_Encrypt (mxc_aes_req_t *req) |
int | MXC_AES_Decrypt (mxc_aes_req_t *req) |
int | MXC_AES_TXDMAConfig (void *src_addr, int len) |
int | MXC_AES_RXDMAConfig (void *dest_addr, int len) |
int | MXC_AES_GenericAsync (mxc_aes_req_t *req, uint8_t enc) |
int | MXC_AES_EncryptAsync (mxc_aes_req_t *req) |
int | MXC_AES_DecryptAsync (mxc_aes_req_t *req) |
void | MXC_AES_SetExtKey (const void *key, mxc_aes_keys_t len) |
int | MXC_AES_SetPORKey (const void *key, mxc_aes_keys_t len) |
int | MXC_AES_ClearPORKey (void) |
void | MXC_AES_CopyPORKeyToKeyRegisters (mxc_aes_keys_t len) |
int | MXC_AES_HasPORKey (void) |
struct mxc_aes_req_t |
Structure used to set up AES request.
Data Fields | |
uint32_t | length |
uint32_t * | inputData |
uint32_t * | resultData |
mxc_aes_keys_t | keySize |
mxc_aes_enc_type_t | encryption |
mxc_aes_complete_t | callback |
enum mxc_aes_enc_type_t |
enum mxc_aes_keys_t |
void MXC_AES_ClearFlags | ( | uint32_t | flags | ) |
Clear the interrupts.
flags | flags to be cleared |
int MXC_AES_ClearPORKey | ( | void | ) |
Clears the key that will be loaded into the AES key registers on a POR event. On subsequent POR events after this function is called, the AES key registers will be loaded with all zeroes.
void MXC_AES_CopyPORKeyToKeyRegisters | ( | mxc_aes_keys_t | len | ) |
Transfers the POR key from the storage memory to the AES key registers. This happens automatically after each POR. This function should be used if application code overwrites the key registers and wants to switch back to the POR value.
len | Key size. |
int MXC_AES_Decrypt | ( | mxc_aes_req_t * | req | ) |
Perform a decryption.
req | Structure containing data for the decryption |
int MXC_AES_DecryptAsync | ( | mxc_aes_req_t * | req | ) |
Perform a decryption using Interrupt.
req | Structure containing data for the decryption |
void MXC_AES_DisableInt | ( | uint32_t | interrupt | ) |
Disable AES Interrupts.
interrupt | interrupt to disable |
void MXC_AES_EnableInt | ( | uint32_t | interrupt | ) |
Enable AES Interrupts.
interrupt | interrupt to enable |
int MXC_AES_Encrypt | ( | mxc_aes_req_t * | req | ) |
Perform an encryption.
req | Structure containing data for the encryption |
int MXC_AES_EncryptAsync | ( | mxc_aes_req_t * | req | ) |
Perform an encryption using Interrupt.
req | Structure containing data for the encryption |
int MXC_AES_Generic | ( | mxc_aes_req_t * | req | ) |
req | Structure containing data for the encryption |
int MXC_AES_GenericAsync | ( | mxc_aes_req_t * | req, |
uint8_t | enc | ||
) |
Perform encryption or decryption using DMA.
req | The result will be stored in the req structure. The user needs to call MXC_AES_Handler() in the ISR |
enc | 0 for encryption and 1 for decryption |
uint32_t MXC_AES_GetFlags | ( | void | ) |
Get Interrupt flags set.
mxc_aes_keys_t MXC_AES_GetKeySize | ( | void | ) |
Get the currently set key size.
int MXC_AES_HasPORKey | ( | void | ) |
Checks to see if a POR key has been programmed.
int MXC_AES_Init | ( | void | ) |
Enable portions of the AES.
int MXC_AES_IsBusy | ( | void | ) |
Checks the global AES Busy Status.
int MXC_AES_RXDMAConfig | ( | void * | dest_addr, |
int | len | ||
) |
Perform AES RX using DMA. Configures DMA request and receives data from AES FIFO.
dest_addr | destination address |
len | number of words of data |
void MXC_AES_SetExtKey | ( | const void * | key, |
mxc_aes_keys_t | len | ||
) |
Set the external key.
key | Buffer for the key. |
len | Key size. |
void MXC_AES_SetKeySize | ( | mxc_aes_keys_t | key | ) |
Set Key size for encryption or decryption.
key | Key size, see mxc_aes_keys_t for a list of keys |
int MXC_AES_SetPORKey | ( | const void * | key, |
mxc_aes_keys_t | len | ||
) |
Set the key that will be loaded into the AES key registers on a POR event.
key | Buffer for the key. |
len | Key size. |
int MXC_AES_Shutdown | ( | void | ) |
Disable and reset portions of the AES.
int MXC_AES_TXDMAConfig | ( | void * | src_addr, |
int | len | ||
) |
Perform AES TX using DMA. Configures DMA request and starts the transmission.
src_addr | source address |
len | number of words of data |