SmartSnippets DA1459x SDK
Data Fields
hw_aes_config_t Struct Reference

AES engine configuration structure. More...

#include <hw_aes.h>

Data Fields

HW_AES_MODE mode: 2
 
HW_AES_OPERATION operation: 1
 
HW_AES_KEY_SIZE key_size: 2
 
HW_AES_KEY_EXPAND key_expand: 1
 
HW_AES_OUTPUT_DATA_MODE output_data_mode: 1
 
bool wait_more_input
 
hw_aes_hash_cb callback
 
const uint8_t * iv_cnt_ptr
 
uint32_t keys_addr
 
uint32_t input_data_addr
 
uint32_t output_data_addr
 
uint32_t input_data_len
 

Detailed Description

AES engine configuration structure.

Note
When executing from XiP Flash the output data address can explicitly reside in SYSRAM while execution from SYSRAM allows to set this address either in SYSRAM (remapped or not) or in CACHERAM. Moreover, there are some restrictions in terms of the acceptable values of the number of the input data to be processed (input_data_len) with regards to the AES mode (mode) and the input data mode (wait_more_input), indicated by the next table:
mode wait_more_input = true wait_more_input = false
HW_AES_ECB multiple of 16 multiple of 16
HW_AES_CBC multiple of 16 no restrictions
HW_AES_CTR multiple of 16 no restrictions
See also
HW_AES_MODE
HW_AES_OPERATION
HW_AES_KEY_SIZE
HW_AES_KEY_EXPAND
HW_AES_OUTPUT_DATA_MODE
hw_aes_hash_cb

Field Documentation

◆ callback

hw_aes_hash_cb hw_aes_config_t::callback

AES callback function

◆ input_data_addr

uint32_t hw_aes_config_t::input_data_addr

AES input data address

◆ input_data_len

uint32_t hw_aes_config_t::input_data_len

Bytes of input data to be processed

◆ iv_cnt_ptr

const uint8_t* hw_aes_config_t::iv_cnt_ptr

Pointer of the initialization vector in CBC mode or the initialization counter in CTR Mode

◆ key_expand

HW_AES_KEY_EXPAND hw_aes_config_t::key_expand

AES key expansion mode

◆ key_size

HW_AES_KEY_SIZE hw_aes_config_t::key_size

AES key size

◆ keys_addr

uint32_t hw_aes_config_t::keys_addr

The address of the AES Keys which can reside either in OTP or in RAM. In the former case use the hw_otpc_get_aes_key_address() to get their address.

◆ mode

HW_AES_MODE hw_aes_config_t::mode

AES mode

◆ operation

HW_AES_OPERATION hw_aes_config_t::operation

AES operation, e.g. encryption or decryption

◆ output_data_addr

uint32_t hw_aes_config_t::output_data_addr

AES output data address

◆ output_data_mode

HW_AES_OUTPUT_DATA_MODE hw_aes_config_t::output_data_mode

AES output data mode

◆ wait_more_input

bool hw_aes_config_t::wait_more_input

AES input data mode


The documentation for this struct was generated from the following file: