RTEMS 6.1-rc5
|
Modules | |
Dcp_driver_aes | |
Dcp_driver_hash | |
Dcp_nonblocking_driver_aes | |
Data Structures | |
struct | _dcp_work_packet |
DCP's work packet. More... | |
struct | _dcp_handle |
Specify DCP's key resource and DCP channel. More... | |
struct | _dcp_context |
DCP's context buffer, used by DCP for context switching between channels. More... | |
struct | _dcp_config |
DCP's configuration structure. More... | |
Macros | |
#define | DCP_USE_DCACHE 1 |
Functions | |
void | DCP_Init (DCP_Type *base, const dcp_config_t *config) |
Enables clock to and enables DCP. | |
void | DCP_Deinit (DCP_Type *base) |
Disable DCP clock. | |
void | DCP_GetDefaultConfig (dcp_config_t *config) |
Gets the default configuration structure. | |
status_t | DCP_WaitForChannelComplete (DCP_Type *base, dcp_handle_t *handle) |
Poll and wait on DCP channel. | |
Variables | |
uint32_t | _dcp_work_packet::nextCmdAddress |
uint32_t | _dcp_work_packet::control0 |
uint32_t | _dcp_work_packet::control1 |
uint32_t | _dcp_work_packet::sourceBufferAddress |
uint32_t | _dcp_work_packet::destinationBufferAddress |
uint32_t | _dcp_work_packet::bufferSize |
uint32_t | _dcp_work_packet::payloadPointer |
uint32_t | _dcp_work_packet::status |
dcp_channel_t | _dcp_handle::channel |
dcp_key_slot_t | _dcp_handle::keySlot |
uint32_t | _dcp_handle::swapConfig |
uint32_t | _dcp_handle::keyWord [4] |
uint32_t | _dcp_handle::iv [4] |
uint32_t | _dcp_context::x [208/sizeof(uint32_t)] |
bool | _dcp_config::gatherResidualWrites |
bool | _dcp_config::enableContextCaching |
bool | _dcp_config::enableContextSwitching |
uint8_t | _dcp_config::enableChannel |
uint8_t | _dcp_config::enableChannelInterrupt |
uint32_t | _dcp_hash_ctx_t::x [DCP_HASH_CTX_SIZE] |
Driver version | |
enum | _dcp_status { kStatus_DCP_Again = MAKE_STATUS(kStatusGroup_DCP, 0) } |
DCP status return codes. More... | |
enum | _dcp_ch_enable { kDCP_chDisable = 0U , kDCP_ch0Enable = 1U , kDCP_ch1Enable = 2U , kDCP_ch2Enable = 4U , kDCP_ch3Enable = 8U , kDCP_chEnableAll = 15U } |
DCP channel enable. More... | |
enum | _dcp_ch_int_enable { kDCP_chIntDisable = 0U , kDCP_ch0IntEnable = 1U , kDCP_ch1IntEnable = 2U , kDCP_ch2IntEnable = 4U , kDCP_ch3IntEnable = 8U } |
DCP interrupt enable. More... | |
enum | _dcp_channel { kDCP_Channel0 = (1u << 16) , kDCP_Channel1 = (1u << 17) , kDCP_Channel2 = (1u << 18) , kDCP_Channel3 = (1u << 19) } |
DCP channel selection. More... | |
enum | _dcp_key_slot { kDCP_KeySlot0 = 0U , kDCP_KeySlot1 = 1U , kDCP_KeySlot2 = 2U , kDCP_KeySlot3 = 3U , kDCP_OtpKey = 4U , kDCP_OtpUniqueKey = 5U , kDCP_PayloadKey = 6U } |
DCP key slot selection. More... | |
enum | _dcp_swap { kDCP_NoSwap = 0x0U , kDCP_KeyByteSwap = 0x40000U , kDCP_KeyWordSwap = 0x80000U , kDCP_InputByteSwap = 0x100000U , kDCP_InputWordSwap = 0x200000U , kDCP_OutputByteSwap = 0x400000U , kDCP_OutputWordSwap = 0x800000U } |
DCP key, input & output swap options. More... | |
typedef enum _dcp_ch_enable | _dcp_ch_enable_t |
DCP channel enable. | |
typedef enum _dcp_ch_int_enable | _dcp_ch_int_enable_t |
DCP interrupt enable. | |
typedef enum _dcp_channel | dcp_channel_t |
DCP channel selection. | |
typedef enum _dcp_key_slot | dcp_key_slot_t |
DCP key slot selection. | |
typedef enum _dcp_swap | dcp_swap_t |
DCP key, input & output swap options. | |
typedef struct _dcp_work_packet | dcp_work_packet_t |
DCP's work packet. | |
typedef struct _dcp_handle | dcp_handle_t |
Specify DCP's key resource and DCP channel. | |
typedef struct _dcp_context | dcp_context_t |
DCP's context buffer, used by DCP for context switching between channels. | |
typedef struct _dcp_config | dcp_config_t |
DCP's configuration structure. | |
#define | FSL_DCP_DRIVER_VERSION (MAKE_VERSION(2, 1, 6)) |
DCP driver version. Version 2.1.6. | |
#define FSL_DCP_DRIVER_VERSION (MAKE_VERSION(2, 1, 6)) |
DCP driver version. Version 2.1.6.
Current version: 2.1.6
Change log:
typedef enum _dcp_ch_enable _dcp_ch_enable_t |
DCP channel enable.
typedef enum _dcp_ch_int_enable _dcp_ch_int_enable_t |
DCP interrupt enable.
typedef enum _dcp_channel dcp_channel_t |
DCP channel selection.
typedef enum _dcp_key_slot dcp_key_slot_t |
DCP key slot selection.
typedef enum _dcp_swap dcp_swap_t |
DCP key, input & output swap options.
enum _dcp_ch_enable |
enum _dcp_ch_int_enable |
enum _dcp_channel |
enum _dcp_key_slot |
enum _dcp_status |
enum _dcp_swap |
DCP key, input & output swap options.
void DCP_Deinit | ( | DCP_Type * | base | ) |
Disable DCP clock.
Reset DCP and Disable DCP clock.
base | DCP base address |
brief Disable DCP clock
Reset DCP and Disable DCP clock.
param base DCP base address
void DCP_GetDefaultConfig | ( | dcp_config_t * | config | ) |
Gets the default configuration structure.
This function initializes the DCP configuration structure to a default value. The default values are as follows. dcpConfig->gatherResidualWrites = true; dcpConfig->enableContextCaching = true; dcpConfig->enableContextSwitching = true; dcpConfig->enableChannnel = kDCP_chEnableAll; dcpConfig->enableChannelInterrupt = kDCP_chIntDisable;
[out] | config | Pointer to configuration structure. |
brief Gets the default configuration structure.
This function initializes the DCP configuration structure to a default value. The default values are as follows. dcpConfig->gatherResidualWrites = true; dcpConfig->enableContextCaching = true; dcpConfig->enableContextSwitching = true; dcpConfig->enableChannnel = kDCP_chEnableAll; dcpConfig->enableChannelInterrupt = kDCP_chIntDisable;
param[out] config Pointer to configuration structure.
void DCP_Init | ( | DCP_Type * | base, |
const dcp_config_t * | config | ||
) |
Enables clock to and enables DCP.
Enable DCP clock and configure DCP.
base | DCP base address |
config | Pointer to configuration structure. |
brief Enables clock to and enables DCP
Enable DCP clock and configure DCP.
param base DCP base address param config Pointer to configuration structure.
status_t DCP_WaitForChannelComplete | ( | DCP_Type * | base, |
dcp_handle_t * | handle | ||
) |
Poll and wait on DCP channel.
Polls the specified DCP channel until current it completes activity.
base | DCP peripheral base address. |
handle | Specifies DCP channel. |
brief Poll and wait on DCP channel.
Polls the specified DCP channel until current it completes activity.
param base DCP peripheral base address. param handle Specifies DCP channel. return kStatus_Success When data processing completes without error. return kStatus_Fail When error occurs.
dcp_channel_t _dcp_handle::channel |
Specify DCP channel.
uint8_t _dcp_config::enableChannel |
DCP channel enable.
uint8_t _dcp_config::enableChannelInterrupt |
Per-channel interrupt enable.
bool _dcp_config::enableContextCaching |
Enable the caching of contexts between the operations.
bool _dcp_config::enableContextSwitching |
Enable automatic context switching for the channels.
bool _dcp_config::gatherResidualWrites |
Enable the ragged writes to the unaligned buffers.
dcp_key_slot_t _dcp_handle::keySlot |
For operations with key (such as AES encryption/decryption), specify DCP key slot.
uint32_t _dcp_handle::swapConfig |
For configuration of key, input, output byte/word swap options