RTEMS 6.1-rc1
|
Data Structures | |
struct | _iee_config |
IEE configuration structure. More... | |
Variables | |
iee_aes_bypass_t | _iee_config::bypass |
iee_aes_mode_t | _iee_config::mode |
iee_aes_key_size_t | _iee_config::keySize |
uint32_t | _iee_config::pageOffset |
Driver version | |
enum | _iee_region { kIEE_Region0 = 0U , kIEE_Region1 = 1U , kIEE_Region2 = 2U , kIEE_Region3 = 3U , kIEE_Region4 = 4U , kIEE_Region5 = 5U , kIEE_Region6 = 6U , kIEE_Region7 = 7U } |
IEE region. More... | |
enum | _iee_aes_bypass { kIEE_AesUseMdField = 0U , kIEE_AesBypass = 1U } |
IEE AES enablement/bypass. More... | |
enum | _iee_aes_mode { kIEE_ModeNone = 0U , kIEE_ModeAesXTS = 1U , kIEE_ModeAesCTRWAddress = 2U , kIEE_ModeAesCTRWOAddress = 3U , kIEE_ModeAesCTRkeystream = 4U } |
IEE AES mode. More... | |
enum | _iee_aes_key_size { kIEE_AesCTR128XTS256 = 0U , kIEE_AesCTR256XTS512 = 1U } |
IEE AES key size. More... | |
enum | _iee_aes_key_num { kIEE_AesKey1 = 1U , kIEE_AesKey2 = 2U } |
IEE AES ke number. More... | |
typedef enum _iee_region | iee_region_t |
IEE region. | |
typedef enum _iee_aes_bypass | iee_aes_bypass_t |
IEE AES enablement/bypass. | |
typedef enum _iee_aes_mode | iee_aes_mode_t |
IEE AES mode. | |
typedef enum _iee_aes_key_size | iee_aes_key_size_t |
IEE AES key size. | |
typedef enum _iee_aes_key_num | iee_aes_key_num_t |
IEE AES ke number. | |
typedef struct _iee_config | iee_config_t |
IEE configuration structure. | |
void | IEE_Init (IEE_Type *base) |
Resets IEE module to factory default values. More... | |
void | IEE_GetDefaultConfig (iee_config_t *config) |
Loads default values to the IEE configuration structure. More... | |
void | IEE_SetRegionConfig (IEE_Type *base, iee_region_t region, iee_config_t *config) |
Sets the IEE module according to the configuration structure. More... | |
status_t | IEE_SetRegionKey (IEE_Type *base, iee_region_t region, iee_aes_key_num_t keyNum, const uint8_t *key, size_t keySize) |
Sets the IEE module key. More... | |
void | IEE_LockRegionConfig (IEE_Type *base, iee_region_t region) |
Lock the IEE region configuration. More... | |
#define | FSL_IEE_DRIVER_VERSION (MAKE_VERSION(2, 1, 1)) |
IEE driver version. Version 2.1.1. More... | |
#define FSL_IEE_DRIVER_VERSION (MAKE_VERSION(2, 1, 1)) |
IEE driver version. Version 2.1.1.
Current version: 2.1.1
Change log:
enum _iee_aes_bypass |
enum _iee_aes_key_num |
enum _iee_aes_key_size |
enum _iee_aes_mode |
enum _iee_region |
void IEE_GetDefaultConfig | ( | iee_config_t * | config | ) |
Loads default values to the IEE configuration structure.
Loads default values to the IEE region configuration structure. The default values are as follows.
config | Configuration for the selected IEE region. |
brief Loads default values to the IEE configuration structure.
Loads default values to the IEE region configuration structure. The default values are as follows. code config->bypass = kIEE_AesUseMdField; config->mode = kIEE_ModeNone; config->keySize = kIEE_AesCTR128XTS256; config->pageOffset = 0U; endcode
param config Configuration for the selected IEE region.
void IEE_Init | ( | IEE_Type * | base | ) |
Resets IEE module to factory default values.
This function performs hardware reset of IEE module. Attributes and keys of all regions are cleared.
base | IEER peripheral address. |
brief Resets IEE module to factory default values.
This function performs hardware reset of IEE module. Attributes and keys of all regions are cleared.
param base IEER peripheral address.
void IEE_LockRegionConfig | ( | IEE_Type * | base, |
iee_region_t | region | ||
) |
Lock the IEE region configuration.
This function locks IEE region registers for Key, Offset and Attribute. Only system reset can clear the Lock bit.
base | IEE peripheral address. |
region | Selection of the IEE region to be locked. |
brief Lock the IEE region configuration.
IEE region Key, Offset and Attribute registers are locked. Only system reset can clear the Lock bit.
param base IEE peripheral address. param region Selection of the IEE region to be locked.
void IEE_SetRegionConfig | ( | IEE_Type * | base, |
iee_region_t | region, | ||
iee_config_t * | config | ||
) |
Sets the IEE module according to the configuration structure.
This function configures IEE region according to configuration structure.
base | IEE peripheral address. |
region | Selection of the IEE region to be configured. |
config | Configuration for the selected IEE region. |
brief Sets the IEE module according to the configuration structure.
This function configures IEE region according to configuration structure.
param base IEE peripheral address. param region Selection of the IEE region to be configured. param config Configuration for the selected IEE region.
status_t IEE_SetRegionKey | ( | IEE_Type * | base, |
iee_region_t | region, | ||
iee_aes_key_num_t | keyNum, | ||
const uint8_t * | key, | ||
size_t | keySize | ||
) |
Sets the IEE module key.
This function sets specified AES key for the given region.
base | IEE peripheral address. |
region | Selection of the IEE region to be configured. |
keyNum | Selection of AES KEY1 or KEY2. |
key | AES key. |
keySize | Size of AES key. |
brief Sets the IEE module key.
This function sets specified AES key for the given region.
param base IEE peripheral address. param region Selection of the IEE region to be configured. param keyNum Selection of AES KEY1 or KEY2. param key AES key. param keySize Size of AES key.
iee_aes_bypass_t _iee_config::bypass |
AES encryption/decryption bypass
iee_aes_key_size_t _iee_config::keySize |
size of AES key
iee_aes_mode_t _iee_config::mode |
AES mode
uint32_t _iee_config::pageOffset |
Offset to physical memory location from IEE start address