RTEMS 6.1-rc4
|
Data Structures | |
struct | _bee_region_config |
BEE region configuration structure. More... | |
Driver version | |
enum | _bee_aes_mode { kBEE_AesEcbMode = 0U , kBEE_AesCtrMode = 1U } |
BEE aes mode. More... | |
enum | _bee_region { kBEE_Region0 = 0U , kBEE_Region1 = 1U } |
BEE region. More... | |
enum | _bee_ac_prot_enable { kBEE_AccessProtDisabled = 0U , kBEE_AccessProtEnabled = 1U } |
BEE ac prot enable. More... | |
enum | _bee_endian_swap_enable { kBEE_EndianSwapDisabled = 1U , kBEE_EndianSwapEnabled = 0U } |
BEE endian swap enable. More... | |
enum | _bee_security_level { kBEE_SecurityLevel0 = 0U , kBEE_SecurityLevel1 = 1U , kBEE_SecurityLevel2 = 2U , kBEE_SecurityLevel3 = 3U } |
BEE security level. More... | |
enum | _bee_status_flags { kBEE_DisableAbortFlag = 1U , kBEE_Reg0ReadSecViolation = 2U , kBEE_ReadIllegalAccess = 4U , kBEE_Reg1ReadSecViolation = 8U , kBEE_Reg0AccessViolation = 16U , kBEE_Reg1AccessViolation = 32U , kBEE_IdleFlag = BEE_STATUS_BEE_IDLE_MASK } |
BEE status flags. More... | |
typedef enum _bee_aes_mode | bee_aes_mode_t |
BEE aes mode. | |
typedef enum _bee_region | bee_region_t |
BEE region. | |
typedef enum _bee_ac_prot_enable | bee_ac_prot_enable |
BEE ac prot enable. | |
typedef enum _bee_endian_swap_enable | bee_endian_swap_enable |
BEE endian swap enable. | |
typedef enum _bee_security_level | bee_security_level |
BEE security level. | |
typedef enum _bee_status_flags | bee_status_flags_t |
BEE status flags. | |
typedef struct _bee_region_config | bee_region_config_t |
BEE region configuration structure. | |
void | BEE_Init (BEE_Type *base) |
Resets BEE module to factory default values. | |
void | BEE_Deinit (BEE_Type *base) |
Resets BEE module, clears keys for both regions and disables clock to the BEE. | |
void | BEE_GetDefaultConfig (bee_region_config_t *config) |
Loads default values to the BEE region configuration structure. | |
void | BEE_SetConfig (BEE_Type *base, const bee_region_config_t *config) |
Sets BEE configuration. | |
status_t | BEE_SetRegionKey (BEE_Type *base, bee_region_t region, const uint8_t *key, size_t keySize) |
Loads the AES key for selected region into BEE key registers. | |
status_t | BEE_SetRegionNonce (BEE_Type *base, bee_region_t region, const uint8_t *nonce, size_t nonceSize) |
Loads the nonce for selected region into BEE nonce registers. | |
uint32_t | BEE_GetStatusFlags (BEE_Type *base) |
Gets the BEE status flags. | |
void | BEE_ClearStatusFlags (BEE_Type *base, uint32_t mask) |
Clears the BEE status flags. | |
#define | FSL_BEE_DRIVER_VERSION (MAKE_VERSION(2, 0, 2)) |
BEE driver version. Version 2.0.2. | |
#define FSL_BEE_DRIVER_VERSION (MAKE_VERSION(2, 0, 2)) |
BEE driver version. Version 2.0.2.
Current version: 2.0.2
Change log:
enum _bee_ac_prot_enable |
enum _bee_aes_mode |
enum _bee_region |
enum _bee_security_level |
enum _bee_status_flags |
BEE status flags.
void BEE_ClearStatusFlags | ( | BEE_Type * | base, |
uint32_t | mask | ||
) |
Clears the BEE status flags.
base | BEE peripheral base address. |
mask | The status flags to clear. This is a logical OR of members of the enumeration bee_status_flags_t |
brief Clears the BEE status flags.
param base BEE peripheral base address. param mask The status flags to clear. This is a logical OR of members of the enumeration bee_status_flags_t
void BEE_Deinit | ( | BEE_Type * | base | ) |
Resets BEE module, clears keys for both regions and disables clock to the BEE.
This function performs hardware reset of BEE module and disables clocks. Attributes and keys from software for both regions are cleared.
base | BEE peripheral address. |
brief Resets BEE module, clears keys for both regions and disables clock to the BEE.
This function performs hardware reset of BEE module and disables clocks. Attributes and keys from software for both regions are cleared.
param base BEE peripheral address.
void BEE_GetDefaultConfig | ( | bee_region_config_t * | config | ) |
Loads default values to the BEE region configuration structure.
Loads default values to the BEE region configuration structure. The default values are as follows:
config | Configuration structure for BEE peripheral. |
brief Loads default values to the BEE region configuration structure.
Loads default values to the BEE region configuration structure. The default values are as follows: code config->region0Mode = kBEE_AesCtrMode; config->region1Mode = kBEE_AesCtrMode; config->region0AddrOffset = 0U; config->region1AddrOffset = 0U; config->region0SecLevel = kBEE_SecurityLevel3; config->region1SecLevel = kBEE_SecurityLevel3; config->region1Bot = 0U; config->region1Top = 0U; config->accessPermission = kBEE_AccessProtDisabled; config->endianSwapEn = kBEE_EndianSwapEnabled; endcode
param config Configuration structure for BEE peripheral.
uint32_t BEE_GetStatusFlags | ( | BEE_Type * | base | ) |
Gets the BEE status flags.
This function returns status of BEE peripheral.
base | BEE peripheral address. |
brief Gets the BEE status flags.
This function returns status of BEE peripheral.
param base BEE peripheral address.
return The status flags. This is the logical OR of members of the enumeration bee_status_flags_t
void BEE_Init | ( | BEE_Type * | base | ) |
Resets BEE module to factory default values.
This function performs hardware reset of BEE module. Attributes and keys from software for both regions are cleared.
base | BEE peripheral address. |
brief Resets BEE module to factory default values.
This function performs hardware reset of BEE module. Attributes and keys from software for both regions are cleared.
param base BEE peripheral address.
void BEE_SetConfig | ( | BEE_Type * | base, |
const bee_region_config_t * | config | ||
) |
Sets BEE configuration.
This function sets BEE peripheral and BEE region settings accorging to given configuration structure.
base | BEE peripheral address. |
config | Configuration structure for BEE. |
brief Sets BEE configuration.
This function sets BEE peripheral and BEE region settings accorging to given configuration structure.
param base BEE peripheral address. param config Configuration structure for BEE.
status_t BEE_SetRegionKey | ( | BEE_Type * | base, |
bee_region_t | region, | ||
const uint8_t * | key, | ||
size_t | keySize | ||
) |
Loads the AES key for selected region into BEE key registers.
This function loads given AES key to BEE register for the given region. The key must be 32-bit aligned and stored in little-endian format.
Please note, that eFuse BEE_KEYx_SEL must be set accordingly to be able to load and use key loaded in BEE registers. Otherwise, key cannot loaded and BEE will use key from OTPMK or SW_GP2.
base | BEE peripheral address. |
region | Selection of the BEE region to be configured. |
key | AES key (in little-endian format). |
keySize | Size of AES key. |
brief Loads the AES key for selected region into BEE key registers.
This function loads given AES key to BEE register for the given region. The key must be 32-bit aligned and stored in little-endian format.
Please note, that eFuse BEE_KEYx_SEL must be set accordingly to be able to load and use key loaded in BEE registers. Otherwise, key cannot loaded and BEE will use key from OTPMK or SW_GP2.
param base BEE peripheral address. param region Selection of the BEE region to be configured. param key AES key (in little-endian format). param keySize Size of AES key.
status_t BEE_SetRegionNonce | ( | BEE_Type * | base, |
bee_region_t | region, | ||
const uint8_t * | nonce, | ||
size_t | nonceSize | ||
) |
Loads the nonce for selected region into BEE nonce registers.
This function loads given nonce(only AES CTR mode) to BEE register for the given region. The nonce must be 32-bit aligned and stored in little-endian format.
base | BEE peripheral address. |
region | Selection of the BEE region to be configured. |
nonce | AES nonce (in little-endian format). |
nonceSize | Size of AES nonce. |
brief Loads the nonce for selected region into BEE nonce registers.
This function loads given nonce(only AES CTR mode) to BEE register for the given region. The nonce must be 32-bit aligned and stored in little-endian format.
param base BEE peripheral address. param region Selection of the BEE region to be configured. param nonce AES nonce (in little-endian format). param nonceSize Size of AES nonce.
bee_ac_prot_enable _bee_region_config::accessPermission |
Access permission control enable/disable
bee_endian_swap_enable _bee_region_config::endianSwapEn |
Endian swap enable/disable
uint32_t _bee_region_config::region0AddrOffset |
Region 0 address offset
bee_aes_mode_t _bee_region_config::region0Mode |
AES mode used for encryption/decryption for region 0
bee_security_level _bee_region_config::region0SecLevel |
Region 0 security level
uint32_t _bee_region_config::region1AddrOffset |
Region 1 address offset
uint32_t _bee_region_config::region1Bot |
Region 1 bottom address
bee_aes_mode_t _bee_region_config::region1Mode |
AES mode used for encryption/decryption for region 1
bee_security_level _bee_region_config::region1SecLevel |
Region 1 security level
uint32_t _bee_region_config::region1Top |
Region 1 top address