nrfx 2.5
Data Structures | Enumerations | Functions
AES CCM HAL

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

Detailed Description

Hardware access layer for managing the AES CCM peripheral.

Enumeration Type Documentation

◆ nrf_ccm_datarate_t

CCM data rates.

Enumerator
NRF_CCM_DATARATE_1M 

1 Mbps.

NRF_CCM_DATARATE_2M 

2 Mbps.

NRF_CCM_DATARATE_125K 

125 Kbps.

NRF_CCM_DATARATE_500K 

500 Kbps.

◆ nrf_ccm_event_t

CCM events.

Enumerator
NRF_CCM_EVENT_ENDKSGEN 

Keystream generation complete.

NRF_CCM_EVENT_ENDCRYPT 

Encrypt/decrypt complete.

NRF_CCM_EVENT_ERROR 

CCM error event.

◆ nrf_ccm_int_mask_t

CCM interrupts.

Enumerator
NRF_CCM_INT_ENDKSGEN_MASK 

Interrupt on ENDKSGEN event.

NRF_CCM_INT_ENDCRYPT_MASK 

Interrupt on ENDCRYPT event.

NRF_CCM_INT_ERROR_MASK 

Interrupt on ERROR event.

◆ nrf_ccm_length_t

CCM packet length options.

Enumerator
NRF_CCM_LENGTH_DEFAULT 

Default length.

NRF_CCM_LENGTH_EXTENDED 

Extended length.

◆ nrf_ccm_mode_t

CCM modes of operation.

Enumerator
NRF_CCM_MODE_ENCRYPTION 

Encryption mode.

NRF_CCM_MODE_DECRYPTION 

Decryption mode.

◆ nrf_ccm_short_mask_t

Types of CCM shorts.

Enumerator
NRF_CCM_SHORT_ENDKSGEN_CRYPT_MASK 

Shortcut for starting encryption/decryption when the key-stream generation is complete.

◆ nrf_ccm_task_t

CCM tasks.

Enumerator
NRF_CCM_TASK_KSGEN 

Start generation of key-stream.

NRF_CCM_TASK_CRYPT 

Start encryption/decryption.

NRF_CCM_TASK_STOP 

Stop encryption/decryption.

NRF_CCM_TASK_RATEOVERRIDE 

Override DATARATE setting in MODE register.

Function Documentation

◆ nrf_ccm_cnfptr_get()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Pointer to the data structure.

◆ nrf_ccm_cnfptr_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_dataPointer to the data structure.

◆ nrf_ccm_configure()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_configPointer to the structure with configuration to be set.

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

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]datarateOverride value to be applied when the RATEOVERRIDE task is triggered.

◆ nrf_ccm_disable()

NRF_STATIC_INLINE void nrf_ccm_disable ( NRF_CCM_Type *  p_reg)

Function for disabling the CCM peripheral.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_ccm_enable()

NRF_STATIC_INLINE void nrf_ccm_enable ( NRF_CCM_Type *  p_reg)

Function for enabling the CCM peripheral.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_ccm_event_address_get()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventRequested event.
Returns
Address of the specified event register.

◆ nrf_ccm_event_check()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to be checked.
Return values
trueThe event has been generated.
falseThe event has not been generated.

◆ nrf_ccm_event_clear()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to clear.

◆ nrf_ccm_inptr_get()

NRF_STATIC_INLINE uint32_t * nrf_ccm_inptr_get ( NRF_CCM_Type const *  p_reg)

Function for getting the input data pointer.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Input data pointer.

◆ nrf_ccm_inptr_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_dataInput data pointer.

◆ nrf_ccm_int_disable()

NRF_STATIC_INLINE void nrf_ccm_int_disable ( NRF_CCM_Type *  p_reg,
uint32_t  mask 
)

Function for disabling specified interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskInterrupts to be disabled.

◆ nrf_ccm_int_enable()

NRF_STATIC_INLINE void nrf_ccm_int_enable ( NRF_CCM_Type *  p_reg,
uint32_t  mask 
)

Function for enabling specified interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskInterrupts to be enabled.

◆ nrf_ccm_int_enable_check()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be checked.
Returns
Mask of enabled interrupts.

◆ nrf_ccm_maxpacketsize_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]sizeMaximum length of the key-stream.

◆ nrf_ccm_micstatus_get()

NRF_STATIC_INLINE bool nrf_ccm_micstatus_get ( NRF_CCM_Type const *  p_reg)

Function for getting the MIC check result.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Return values
trueThe MIC check passed.
falseThe MIC check failed.

◆ nrf_ccm_outptr_get()

NRF_STATIC_INLINE uint32_t * nrf_ccm_outptr_get ( NRF_CCM_Type const *  p_reg)

Function for getting the output data pointer.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Output data pointer.

◆ nrf_ccm_outptr_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_dataOutput data pointer.

◆ nrf_ccm_publish_clear()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to clear the configuration.

◆ nrf_ccm_publish_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to set the configuration.
[in]channelChannel through which to publish the event.

◆ nrf_ccm_scratchptr_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_areaPointer to the scratch area.

◆ nrf_ccm_shorts_disable()

NRF_STATIC_INLINE void nrf_ccm_shorts_disable ( NRF_CCM_Type *  p_reg,
uint32_t  mask 
)

Function for disabling the specified shortcuts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskShortcuts to be disabled.

◆ nrf_ccm_shorts_enable()

NRF_STATIC_INLINE void nrf_ccm_shorts_enable ( NRF_CCM_Type *  p_reg,
uint32_t  mask 
)

Function for enabling the specified shortcuts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskShortcuts to be enabled.

◆ nrf_ccm_shorts_set()

NRF_STATIC_INLINE void nrf_ccm_shorts_set ( NRF_CCM_Type *  p_reg,
uint32_t  mask 
)

Function for setting the specified shortcuts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskShortcuts to be set.

◆ nrf_ccm_stratchptr_get()

NRF_STATIC_INLINE uint32_t * nrf_ccm_stratchptr_get ( NRF_CCM_Type const *  p_reg)

Function for getting the pointer to the scratch area.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Pointer to the scratch area.

◆ nrf_ccm_subscribe_clear()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to clear the configuration.

◆ nrf_ccm_subscribe_set()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to set the configuration.
[in]channelChannel through which to subscribe events.

◆ nrf_ccm_task_address_get()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskRequested task.
Returns
Address of the specified task register.

◆ nrf_ccm_task_trigger()

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.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask to be activated.

Documentation feedback | Developer Zone | Subscribe | Updated