RTEMS 6.1-rc1
Data Structures | Enumerator | Variables
Iee

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...
 

Detailed Description

Macro Definition Documentation

◆ FSL_IEE_DRIVER_VERSION

#define FSL_IEE_DRIVER_VERSION   (MAKE_VERSION(2, 1, 1))

IEE driver version. Version 2.1.1.

Current version: 2.1.1

Change log:

  • Version 2.0.0
    • Initial version
  • Version 2.1.0
  • Version 2.1.1
    • Fixed MISRA issues.

Enumeration Type Documentation

◆ _iee_aes_bypass

IEE AES enablement/bypass.

Enumerator
kIEE_AesUseMdField 

AES encryption/decryption enabled

kIEE_AesBypass 

AES encryption/decryption bypass

◆ _iee_aes_key_num

IEE AES ke number.

Enumerator
kIEE_AesKey1 

AES Key 1

kIEE_AesKey2 

AES Key 2

◆ _iee_aes_key_size

IEE AES key size.

Enumerator
kIEE_AesCTR128XTS256 

AES 128 bits (CTR), 256 bits (XTS)

kIEE_AesCTR256XTS512 

AES 256 bits (CTR), 512 bits (XTS)

◆ _iee_aes_mode

IEE AES mode.

Enumerator
kIEE_ModeNone 

AES NONE mode

kIEE_ModeAesXTS 

AES XTS mode

kIEE_ModeAesCTRWAddress 

CTR w address binding mode

kIEE_ModeAesCTRWOAddress 

AES CTR w/o address binding mode

kIEE_ModeAesCTRkeystream 

AES CTR keystream only

◆ _iee_region

IEE region.

Enumerator
kIEE_Region0 

IEE region 0

kIEE_Region1 

IEE region 1

kIEE_Region2 

IEE region 2

kIEE_Region3 

IEE region 3

kIEE_Region4 

IEE region 4

kIEE_Region5 

IEE region 5

kIEE_Region6 

IEE region 6

kIEE_Region7 

IEE region 7

Function Documentation

◆ IEE_GetDefaultConfig()

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->pageOffset = 0U;
@ kIEE_AesCTR128XTS256
Definition: fsl_iee.h:73
@ kIEE_AesUseMdField
Definition: fsl_iee.h:56
@ kIEE_ModeNone
Definition: fsl_iee.h:63
Definition: deflate.c:114
Parameters
configConfiguration 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.

◆ IEE_Init()

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.

Parameters
baseIEER 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.

◆ IEE_LockRegionConfig()

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.

Parameters
baseIEE peripheral address.
regionSelection 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.

◆ IEE_SetRegionConfig()

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.

Parameters
baseIEE peripheral address.
regionSelection of the IEE region to be configured.
configConfiguration 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.

◆ IEE_SetRegionKey()

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.

Parameters
baseIEE peripheral address.
regionSelection of the IEE region to be configured.
keyNumSelection of AES KEY1 or KEY2.
keyAES key.
keySizeSize 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.

Variable Documentation

◆ bypass

iee_aes_bypass_t _iee_config::bypass

AES encryption/decryption bypass

◆ keySize

iee_aes_key_size_t _iee_config::keySize

size of AES key

◆ mode

iee_aes_mode_t _iee_config::mode

AES mode

◆ pageOffset

uint32_t _iee_config::pageOffset

Offset to physical memory location from IEE start address