Hardware access layer for managing the AES CCM peripheral. More...
Data Structures | |
struct | nrf_ccm_config_t |
CCM configuration. More... | |
Enumerations | |
enum | nrf_ccm_task_t { NRF_CCM_TASK_KSGEN = offsetof(NRF_CCM_Type, TASKS_KSGEN), NRF_CCM_TASK_CRYPT = offsetof(NRF_CCM_Type, TASKS_CRYPT), NRF_CCM_TASK_STOP = offsetof(NRF_CCM_Type, TASKS_STOP), NRF_CCM_TASK_RATEOVERRIDE = offsetof(NRF_CCM_Type, TASKS_RATEOVERRIDE) } |
CCM tasks. More... | |
enum | nrf_ccm_event_t { NRF_CCM_EVENT_ENDKSGEN = offsetof(NRF_CCM_Type, EVENTS_ENDKSGEN), NRF_CCM_EVENT_ENDCRYPT = offsetof(NRF_CCM_Type, EVENTS_ENDCRYPT), NRF_CCM_EVENT_ERROR = offsetof(NRF_CCM_Type, EVENTS_ERROR) } |
CCM events. More... | |
enum | nrf_ccm_short_mask_t { NRF_CCM_SHORT_ENDKSGEN_CRYPT_MASK = CCM_SHORTS_ENDKSGEN_CRYPT_Msk } |
Types of CCM shorts. More... | |
enum | nrf_ccm_int_mask_t { NRF_CCM_INT_ENDKSGEN_MASK = CCM_INTENSET_ENDKSGEN_Msk, NRF_CCM_INT_ENDCRYPT_MASK = CCM_INTENSET_ENDCRYPT_Msk, NRF_CCM_INT_ERROR_MASK = CCM_INTENSET_ERROR_Msk } |
CCM interrupts. More... | |
enum | nrf_ccm_mode_t { NRF_CCM_MODE_ENCRYPTION = CCM_MODE_MODE_Encryption, NRF_CCM_MODE_DECRYPTION = CCM_MODE_MODE_Decryption } |
CCM modes of operation. More... | |
enum | nrf_ccm_datarate_t { NRF_CCM_DATARATE_1M = CCM_MODE_DATARATE_1Mbit, NRF_CCM_DATARATE_2M = CCM_MODE_DATARATE_2Mbit, NRF_CCM_DATARATE_125K = CCM_MODE_DATARATE_125Kbps, NRF_CCM_DATARATE_500K = CCM_MODE_DATARATE_500Kbps } |
CCM data rates. More... | |
enum | nrf_ccm_length_t { NRF_CCM_LENGTH_DEFAULT = CCM_MODE_LENGTH_Default, NRF_CCM_LENGTH_EXTENDED = CCM_MODE_LENGTH_Extended } |
CCM packet length options. More... | |
Functions | |
NRF_STATIC_INLINE void | nrf_ccm_task_trigger (NRF_CCM_Type *p_reg, nrf_ccm_task_t task) |
Function for activating a specific CCM task. More... | |
NRF_STATIC_INLINE uint32_t | nrf_ccm_task_address_get (NRF_CCM_Type const *p_reg, nrf_ccm_task_t task) |
Function for getting the address of a specific CCM task register. More... | |
NRF_STATIC_INLINE void | nrf_ccm_event_clear (NRF_CCM_Type *p_reg, nrf_ccm_event_t event) |
Function for clearing a specific CCM event. More... | |
NRF_STATIC_INLINE bool | nrf_ccm_event_check (NRF_CCM_Type const *p_reg, nrf_ccm_event_t event) |
Function for retrieving the state of a specific CCM event. More... | |
NRF_STATIC_INLINE uint32_t | nrf_ccm_event_address_get (NRF_CCM_Type const *p_reg, nrf_ccm_event_t event) |
Function for getting the address of a specific CCM event register. More... | |
NRF_STATIC_INLINE void | nrf_ccm_shorts_enable (NRF_CCM_Type *p_reg, uint32_t mask) |
Function for enabling the specified shortcuts. More... | |
NRF_STATIC_INLINE void | nrf_ccm_shorts_disable (NRF_CCM_Type *p_reg, uint32_t mask) |
Function for disabling the specified shortcuts. More... | |
NRF_STATIC_INLINE void | nrf_ccm_shorts_set (NRF_CCM_Type *p_reg, uint32_t mask) |
Function for setting the specified shortcuts. More... | |
NRF_STATIC_INLINE void | nrf_ccm_int_enable (NRF_CCM_Type *p_reg, uint32_t mask) |
Function for enabling specified interrupts. More... | |
NRF_STATIC_INLINE void | nrf_ccm_int_disable (NRF_CCM_Type *p_reg, uint32_t mask) |
Function for disabling specified interrupts. More... | |
NRF_STATIC_INLINE uint32_t | nrf_ccm_int_enable_check (NRF_CCM_Type const *p_reg, uint32_t mask) |
Function for checking if the specified interrupts are enabled. More... | |
NRF_STATIC_INLINE void | nrf_ccm_enable (NRF_CCM_Type *p_reg) |
Function for enabling the CCM peripheral. More... | |
NRF_STATIC_INLINE void | nrf_ccm_disable (NRF_CCM_Type *p_reg) |
Function for disabling the CCM peripheral. More... | |
NRF_STATIC_INLINE void | nrf_ccm_configure (NRF_CCM_Type *p_reg, nrf_ccm_config_t const *p_config) |
Function for setting the CCM peripheral configuration. More... | |
NRF_STATIC_INLINE void | nrf_ccm_maxpacketsize_set (NRF_CCM_Type *p_reg, uint8_t size) |
Function for setting the length of key-stream generated when the packet length is configured as extended. More... | |
NRF_STATIC_INLINE bool | nrf_ccm_micstatus_get (NRF_CCM_Type const *p_reg) |
Function for getting the MIC check result. More... | |
NRF_STATIC_INLINE void | nrf_ccm_cnfptr_set (NRF_CCM_Type *p_reg, uint32_t const *p_data) |
Function for setting the pointer to the data structure holding the AES key and the CCM NONCE vector. More... | |
NRF_STATIC_INLINE uint32_t * | nrf_ccm_cnfptr_get (NRF_CCM_Type const *p_reg) |
Function for getting the pointer to the data structure holding the AES key and the CCM NONCE vector. More... | |
NRF_STATIC_INLINE void | nrf_ccm_inptr_set (NRF_CCM_Type *p_reg, uint32_t const *p_data) |
Function for setting the input data pointer. More... | |
NRF_STATIC_INLINE uint32_t * | nrf_ccm_inptr_get (NRF_CCM_Type const *p_reg) |
Function for getting the input data pointer. More... | |
NRF_STATIC_INLINE void | nrf_ccm_outptr_set (NRF_CCM_Type *p_reg, uint32_t const *p_data) |
Function for setting the output data pointer. More... | |
NRF_STATIC_INLINE uint32_t * | nrf_ccm_outptr_get (NRF_CCM_Type const *p_reg) |
Function for getting the output data pointer. More... | |
NRF_STATIC_INLINE void | nrf_ccm_scratchptr_set (NRF_CCM_Type *p_reg, uint32_t const *p_area) |
Function for setting the pointer to the scratch area used for temporary storage. More... | |
NRF_STATIC_INLINE uint32_t * | nrf_ccm_stratchptr_get (NRF_CCM_Type const *p_reg) |
Function for getting the pointer to the scratch area. More... | |
NRF_STATIC_INLINE void | nrf_ccm_datarate_override_set (NRF_CCM_Type *p_reg, nrf_ccm_datarate_t datarate) |
Function for setting the data rate override value. More... | |
NRF_STATIC_INLINE void | nrf_ccm_subscribe_set (NRF_CCM_Type *p_reg, nrf_ccm_task_t task, uint8_t channel) |
Function for setting the subscribe configuration for a given CCM task. More... | |
NRF_STATIC_INLINE void | nrf_ccm_subscribe_clear (NRF_CCM_Type *p_reg, nrf_ccm_task_t task) |
Function for clearing the subscribe configuration for a given CCM task. More... | |
NRF_STATIC_INLINE void | nrf_ccm_publish_set (NRF_CCM_Type *p_reg, nrf_ccm_event_t event, uint8_t channel) |
Function for setting the publish configuration for a given CCM event. More... | |
NRF_STATIC_INLINE void | nrf_ccm_publish_clear (NRF_CCM_Type *p_reg, nrf_ccm_event_t event) |
Function for clearing the publish configuration for a given CCM event. More... | |
Hardware access layer for managing the AES CCM peripheral.
enum nrf_ccm_datarate_t |
enum nrf_ccm_event_t |
enum nrf_ccm_int_mask_t |
enum nrf_ccm_length_t |
enum nrf_ccm_mode_t |
enum nrf_ccm_short_mask_t |
enum nrf_ccm_task_t |
NRF_STATIC_INLINE uint32_t * nrf_ccm_cnfptr_get | ( | NRF_CCM_Type const * | p_reg | ) |
Function for getting the pointer to the data structure holding the AES key and the CCM NONCE vector.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_ccm_cnfptr_set | ( | NRF_CCM_Type * | p_reg, |
uint32_t const * | p_data | ||
) |
Function for setting the pointer to the data structure holding the AES key and the CCM NONCE vector.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_data | Pointer to the data structure. |
NRF_STATIC_INLINE void nrf_ccm_configure | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_config_t const * | p_config | ||
) |
Function for setting the CCM peripheral configuration.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_config | Pointer to the structure with configuration to be set. |
NRF_STATIC_INLINE void nrf_ccm_datarate_override_set | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_datarate_t | datarate | ||
) |
Function for setting the data rate override value.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | datarate | Override value to be applied when the RATEOVERRIDE task is triggered. |
NRF_STATIC_INLINE void nrf_ccm_disable | ( | NRF_CCM_Type * | p_reg | ) |
Function for disabling the CCM peripheral.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_ccm_enable | ( | NRF_CCM_Type * | p_reg | ) |
Function for enabling the CCM peripheral.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE uint32_t nrf_ccm_event_address_get | ( | NRF_CCM_Type const * | p_reg, |
nrf_ccm_event_t | event | ||
) |
Function for getting the address of a specific CCM event register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Requested event. |
NRF_STATIC_INLINE bool nrf_ccm_event_check | ( | NRF_CCM_Type const * | p_reg, |
nrf_ccm_event_t | event | ||
) |
Function for retrieving the state of a specific CCM event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to be checked. |
true | The event has been generated. |
false | The event has not been generated. |
NRF_STATIC_INLINE void nrf_ccm_event_clear | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_event_t | event | ||
) |
Function for clearing a specific CCM event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to clear. |
NRF_STATIC_INLINE uint32_t * nrf_ccm_inptr_get | ( | NRF_CCM_Type const * | p_reg | ) |
Function for getting the input data pointer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_ccm_inptr_set | ( | NRF_CCM_Type * | p_reg, |
uint32_t const * | p_data | ||
) |
Function for setting the input data pointer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_data | Input data pointer. |
NRF_STATIC_INLINE void nrf_ccm_int_disable | ( | NRF_CCM_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for disabling specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Interrupts to be disabled. |
NRF_STATIC_INLINE void nrf_ccm_int_enable | ( | NRF_CCM_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for enabling specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Interrupts to be enabled. |
NRF_STATIC_INLINE uint32_t nrf_ccm_int_enable_check | ( | NRF_CCM_Type const * | p_reg, |
uint32_t | mask | ||
) |
Function for checking if the specified interrupts are enabled.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be checked. |
NRF_STATIC_INLINE void nrf_ccm_maxpacketsize_set | ( | NRF_CCM_Type * | p_reg, |
uint8_t | size | ||
) |
Function for setting the length of key-stream generated when the packet length is configured as extended.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | size | Maximum length of the key-stream. |
NRF_STATIC_INLINE bool nrf_ccm_micstatus_get | ( | NRF_CCM_Type const * | p_reg | ) |
Function for getting the MIC check result.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
true | The MIC check passed. |
false | The MIC check failed. |
NRF_STATIC_INLINE uint32_t * nrf_ccm_outptr_get | ( | NRF_CCM_Type const * | p_reg | ) |
Function for getting the output data pointer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_ccm_outptr_set | ( | NRF_CCM_Type * | p_reg, |
uint32_t const * | p_data | ||
) |
Function for setting the output data pointer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_data | Output data pointer. |
NRF_STATIC_INLINE void nrf_ccm_publish_clear | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_event_t | event | ||
) |
Function for clearing the publish configuration for a given CCM event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to clear the configuration. |
NRF_STATIC_INLINE void nrf_ccm_publish_set | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_event_t | event, | ||
uint8_t | channel | ||
) |
Function for setting the publish configuration for a given CCM event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to set the configuration. |
[in] | channel | Channel through which to publish the event. |
NRF_STATIC_INLINE void nrf_ccm_scratchptr_set | ( | NRF_CCM_Type * | p_reg, |
uint32_t const * | p_area | ||
) |
Function for setting the pointer to the scratch area used for temporary storage.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_area | Pointer to the scratch area. |
NRF_STATIC_INLINE void nrf_ccm_shorts_disable | ( | NRF_CCM_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for disabling the specified shortcuts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Shortcuts to be disabled. |
NRF_STATIC_INLINE void nrf_ccm_shorts_enable | ( | NRF_CCM_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for enabling the specified shortcuts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Shortcuts to be enabled. |
NRF_STATIC_INLINE void nrf_ccm_shorts_set | ( | NRF_CCM_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for setting the specified shortcuts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Shortcuts to be set. |
NRF_STATIC_INLINE uint32_t * nrf_ccm_stratchptr_get | ( | NRF_CCM_Type const * | p_reg | ) |
Function for getting the pointer to the scratch area.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_STATIC_INLINE void nrf_ccm_subscribe_clear | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_task_t | task | ||
) |
Function for clearing the subscribe configuration for a given CCM task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to clear the configuration. |
NRF_STATIC_INLINE void nrf_ccm_subscribe_set | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_task_t | task, | ||
uint8_t | channel | ||
) |
Function for setting the subscribe configuration for a given CCM task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to set the configuration. |
[in] | channel | Channel through which to subscribe events. |
NRF_STATIC_INLINE uint32_t nrf_ccm_task_address_get | ( | NRF_CCM_Type const * | p_reg, |
nrf_ccm_task_t | task | ||
) |
Function for getting the address of a specific CCM task register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Requested task. |
NRF_STATIC_INLINE void nrf_ccm_task_trigger | ( | NRF_CCM_Type * | p_reg, |
nrf_ccm_task_t | task | ||
) |
Function for activating a specific CCM task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task to be activated. |