MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | iee_config_t |
IEE configuration structure. More... | |
Enumerations | |
enum | iee_region_t { kIEE_Region0 = 0U, kIEE_Region1 = 1U, kIEE_Region2 = 2U, kIEE_Region3 = 3U, kIEE_Region4 = 4U, kIEE_Region5 = 5U, kIEE_Region6 = 6U, kIEE_Region7 = 7U } |
enum | iee_aes_bypass_t { kIEE_AesUseMdField = 0U, kIEE_AesBypass = 1U } |
enum | iee_aes_mode_t { kIEE_ModeNone = 0U, kIEE_ModeAesXTS = 1U, kIEE_ModeAesCTRWAddress = 2U, kIEE_ModeAesCTRWOAddress = 3U, kIEE_ModeAesCTRkeystream = 4U } |
enum | iee_aes_key_size_t { kIEE_AesCTR128XTS256 = 0U, kIEE_AesCTR256XTS512 = 1U } |
enum | iee_aes_key_num_t { kIEE_AesKey1 = 1U, kIEE_AesKey2 = 2U } |
Functions | |
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... | |
static uint32_t | IEE_GetOffset (uint32_t addressIee, uint32_t addressMemory) |
Computes IEE offset to be set for specifed memory location. More... | |
void | IEE_LockRegionConfig (IEE_Type *base, iee_region_t region) |
Lock the IEE region configuration. More... | |
Driver version | |
#define | FSL_IEE_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
IEE driver version. More... | |
struct iee_config_t |
Data Fields | |
iee_aes_bypass_t | bypass |
AES encryption/decryption bypass. | |
iee_aes_mode_t | mode |
AES mode. | |
iee_aes_key_size_t | keySize |
size of AES key | |
uint32_t | pageOffset |
Offset to physical memory location from IEE start address. | |
#define FSL_IEE_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
Version 2.1.0.
Current version: 2.1.0
Change log:
enum iee_region_t |
enum iee_aes_bypass_t |
enum iee_aes_mode_t |
enum iee_aes_key_size_t |
enum iee_aes_key_num_t |
void IEE_Init | ( | IEE_Type * | base | ) |
This function performs hardware reset of IEE module. Attributes and keys of all regions are cleared.
base | IEER peripheral address. |
void IEE_GetDefaultConfig | ( | iee_config_t * | config | ) |
Loads default values to the IEE region configuration structure. The default values are as follows.
config | Configuration for the selected IEE region. |
void IEE_SetRegionConfig | ( | IEE_Type * | base, |
iee_region_t | region, | ||
iee_config_t * | config | ||
) |
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. |
status_t IEE_SetRegionKey | ( | IEE_Type * | base, |
iee_region_t | region, | ||
iee_aes_key_num_t | keyNum, | ||
const uint8_t * | key, | ||
size_t | keySize | ||
) |
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. |
|
inlinestatic |
This function calculates offset that must be set for IEE region to access physical memory location.
addressIee | Address of IEE peripheral. |
addressMemory | Address of physical memory location. |
void IEE_LockRegionConfig | ( | IEE_Type * | base, |
iee_region_t | region | ||
) |
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. |