nRF5 SDK v17.1.0
Enumerations | Functions

Hardware access layer for managing the Key Management Unit (KMU) peripheral. More...

Enumerations

enum  nrf_kmu_task_t { NRF_KMU_TASK_PUSH_KEYSLOT = offsetof(NRF_KMU_Type, TASKS_PUSH_KEYSLOT) }
 KMU tasks. More...
 
enum  nrf_kmu_event_t {
  NRF_KMU_EVENT_KEYSLOT_PUSHED = offsetof(NRF_KMU_Type, EVENTS_KEYSLOT_PUSHED),
  NRF_KMU_EVENT_KEYSLOT_REVOKED = offsetof(NRF_KMU_Type, EVENTS_KEYSLOT_REVOKED),
  NRF_KMU_EVENT_KEYSLOT_ERROR = offsetof(NRF_KMU_Type, EVENTS_KEYSLOT_ERROR)
}
 KMU events. More...
 
enum  nrf_kmu_int_mask_t {
  NRF_KMU_INT_PUSHED_MASK = KMU_INTEN_KEYSLOT_PUSHED_Msk,
  NRF_KMU_INT_REVOKED_MASK = KMU_INTEN_KEYSLOT_REVOKED_Msk,
  NRF_KMU_INT_ERROR_MASK = KMU_INTEN_KEYSLOT_ERROR_Msk
}
 KMU interrupts. More...
 
enum  nrf_kmu_status_t {
  NRF_KMU_STATUS_BLOCKED_MASK = KMU_STATUS_BLOCKED_Msk,
  NRF_KMU_STATUS_SELECTED_MASK = KMU_STATUS_SELECTED_Msk
}
 KMU operation status. More...
 

Functions

__STATIC_INLINE void nrf_kmu_task_trigger (NRF_KMU_Type *p_reg, nrf_kmu_task_t task)
 Function for activating a specific KMU task. More...
 
__STATIC_INLINE uint32_t nrf_kmu_task_address_get (NRF_KMU_Type const *p_reg, nrf_kmu_task_t task)
 Function for getting the address of a specific KMU task register. More...
 
__STATIC_INLINE void nrf_kmu_event_clear (NRF_KMU_Type *p_reg, nrf_kmu_event_t event)
 Function for clearing a specific KMU event. More...
 
__STATIC_INLINE bool nrf_kmu_event_check (NRF_KMU_Type const *p_reg, nrf_kmu_event_t event)
 Function for retrieving the state of the KMU event. More...
 
__STATIC_INLINE uint32_t nrf_kmu_event_address_get (NRF_KMU_Type const *p_reg, nrf_kmu_event_t event)
 Function for getting the address of a specific KMU event register. More...
 
__STATIC_INLINE void nrf_kmu_int_enable (NRF_KMU_Type *p_reg, uint32_t mask)
 Function for enabling specified interrupts. More...
 
__STATIC_INLINE void nrf_kmu_int_disable (NRF_KMU_Type *p_reg, uint32_t mask)
 Function for disabling specified interrupts. More...
 
__STATIC_INLINE bool nrf_kmu_int_enable_check (NRF_KMU_Type const *p_reg, nrf_kmu_int_mask_t kmu_int)
 Function for retrieving the state of a given interrupt. More...
 
__STATIC_INLINE uint32_t nrf_kmu_intpend_get (NRF_KMU_Type const *p_reg)
 Function for retrieving the state of interrupts. More...
 
__STATIC_INLINE uint32_t nrf_kmu_status_get (NRF_KMU_Type const *p_reg)
 Function for getting status bits of the KMU operation. More...
 
__STATIC_INLINE void nrf_kmu_keyslot_set (NRF_KMU_Type *p_reg, uint8_t keyslot_id)
 Function for selecting the key slot ID. More...
 
__STATIC_INLINE uint8_t nrf_kmu_keyslot_get (NRF_KMU_Type const *p_reg)
 Function for getting the key slot ID. More...
 

Detailed Description

Hardware access layer for managing the Key Management Unit (KMU) peripheral.

Enumeration Type Documentation

KMU events.

Enumerator
NRF_KMU_EVENT_KEYSLOT_PUSHED 

Key successfully pushed over secure APB.

NRF_KMU_EVENT_KEYSLOT_REVOKED 

Key has been revoked and cannot be tasked for selection.

NRF_KMU_EVENT_KEYSLOT_ERROR 

No key slot selected or no destination address defined or error during push mechanism.

KMU interrupts.

Enumerator
NRF_KMU_INT_PUSHED_MASK 

Interrupt on KEYSLOT_PUSHED event.

NRF_KMU_INT_REVOKED_MASK 

Interrupt on KEYSLOT_REVOKED event.

NRF_KMU_INT_ERROR_MASK 

Interrupt on KEYSLOT_ERROR event.

KMU operation status.

Enumerator
NRF_KMU_STATUS_BLOCKED_MASK 

Access violation detected and blocked.

NRF_KMU_STATUS_SELECTED_MASK 

Key slot ID successfully selected by KMU.

KMU tasks.

Enumerator
NRF_KMU_TASK_PUSH_KEYSLOT 

Push a key slot over secure APB.

Function Documentation

__STATIC_INLINE uint32_t nrf_kmu_event_address_get ( NRF_KMU_Type const *  p_reg,
nrf_kmu_event_t  event 
)

Function for getting the address of a specific KMU event register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventRequested event.
Returns
Address of the specified event register.
__STATIC_INLINE bool nrf_kmu_event_check ( NRF_KMU_Type const *  p_reg,
nrf_kmu_event_t  event 
)

Function for retrieving the state of the KMU 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.
__STATIC_INLINE void nrf_kmu_event_clear ( NRF_KMU_Type *  p_reg,
nrf_kmu_event_t  event 
)

Function for clearing a specific KMU event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to clear.
__STATIC_INLINE void nrf_kmu_int_disable ( NRF_KMU_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.
__STATIC_INLINE void nrf_kmu_int_enable ( NRF_KMU_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.
__STATIC_INLINE bool nrf_kmu_int_enable_check ( NRF_KMU_Type const *  p_reg,
nrf_kmu_int_mask_t  kmu_int 
)

Function for retrieving the state of a given interrupt.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]kmu_intInterrupt to be checked.
Return values
trueThe interrupt is enabled.
falseThe interrupt is not enabled.
__STATIC_INLINE uint32_t nrf_kmu_intpend_get ( NRF_KMU_Type const *  p_reg)

Function for retrieving the state of interrupts.

Function returns bitmask. Please use nrf_kmu_int_mask_t to check interrupts status.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Bitmask with pending interrupts bits.
__STATIC_INLINE uint8_t nrf_kmu_keyslot_get ( NRF_KMU_Type const *  p_reg)

Function for getting the key slot ID.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Key slot ID.
__STATIC_INLINE void nrf_kmu_keyslot_set ( NRF_KMU_Type *  p_reg,
uint8_t  keyslot_id 
)

Function for selecting the key slot ID.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]keyslot_idKey slot ID to be read over AHB or pushed over secure APB when TASKS_PUSH_KEYSLOT is started.
__STATIC_INLINE uint32_t nrf_kmu_status_get ( NRF_KMU_Type const *  p_reg)

Function for getting status bits of the KMU operation.

Function returns bitmask. Please use nrf_kmu_status_t to check operations status.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Bitmask with operation status bits.
__STATIC_INLINE uint32_t nrf_kmu_task_address_get ( NRF_KMU_Type const *  p_reg,
nrf_kmu_task_t  task 
)

Function for getting the address of a specific KMU task register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskRequested task.
Returns
Address of the specified task register.
__STATIC_INLINE void nrf_kmu_task_trigger ( NRF_KMU_Type *  p_reg,
nrf_kmu_task_t  task 
)

Function for activating a specific KMU task.

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

Documentation feedback | Developer Zone | Subscribe | Updated