nrfx 3.3
Data Structures | Macros | Enumerations | Functions
UICR HAL

Hardware access layer for managing the User Information Configuration Registers (UICR) peripheral. More...

Data Structures

struct  nrf_uicr_mem_config_t
 Memory configuration. More...
 
struct  nrf_uicr_periph_config_t
 Peripheral configuration. More...
 
struct  nrf_uicr_ipcmap_pair_t
 IPCMAP pair. More...
 
struct  nrf_uicr_ipcmap_config_t
 IPCMAP configuration. More...
 
struct  nrf_uicr_dppi_link_t
 DPPI link. More...
 
struct  nrf_uicr_mailbox_config_t
 MAILBOX configuration. More...
 

Macros

#define NRF_UICR_HAS_FEATURE_GPIO   1
 Symbol indicating whether GPIO port owner feature is present.
 
#define NRF_UICR_HAS_CH_LINK_DIR_EN   1
 Symbol indicating whether linking channels of DPPI as either source or sink is configured using the LINK.DIR and LINK.EN registers.
 
#define NRF_UICR_MEM_COUNT   UICR_MEM_MaxCount
 Number of memory blocks.
 
#define NRF_UICR_PERIPH_COUNT   UICR_PERIPH_MaxCount
 Number of peripherals.
 
#define NRF_UICR_GPIO_COUNT   UICR_GPIO_MaxCount
 Number of GPIOs.
 
#define NRF_UICR_GPIOTE_CH_COUNT   UICR_GPIOTE_MaxCount
 Number of GPIOTE channels.
 
#define NRF_UICR_IPCT_GLOBAL_COUNT   UICR_IPCT_GLOBAL_MaxCount
 Number of global IPCTs.
 
#define NRF_UICR_DPPI_LOCAL_COUNT   UICR_DPPI_LOCAL_MaxCount
 Number of local IPCTs.
 
#define NRF_UICR_DPPI_GLOBAL_COUNT   UICR_DPPI_GLOBAL_MaxCount
 Number of global DPPIs.
 
#define NRF_UICR_IPCMAP_COUNT   UICR_IPCMAP_MaxCount
 Number of IPCMAPs.
 
#define NRF_UICR_MAILBOX_COUNT   UICR_MAILBOX_MaxCount
 Number of MAILBOXes.
 

Enumerations

enum  nrf_uicr_mem_config_perm_mask_t {
  NRF_UICR_MEM_CONFIG_PERM_READ_MASK = UICR_MEM_CONFIG_READ_Msk ,
  NRF_UICR_MEM_CONFIG_PERM_WRITE_MASK = UICR_MEM_CONFIG_WRITE_Msk ,
  NRF_UICR_MEM_CONFIG_PERM_EXECUTE_MASK = UICR_MEM_CONFIG_EXECUTE_Msk ,
  NRF_UICR_MEM_CONFIG_PERM_NONSECURE_MASK = UICR_MEM_CONFIG_SECURE_Msk
}
 Permissions mask. More...
 
enum  nrf_uicr_feature_index_mask_t {
  NRF_UICR_FEATURE_INDEX_0_MASK = UICR_GPIOTE_CH_OWN_CH0_Msk ,
  NRF_UICR_FEATURE_INDEX_1_MASK = UICR_GPIOTE_CH_OWN_CH1_Msk ,
  NRF_UICR_FEATURE_INDEX_2_MASK = UICR_GPIOTE_CH_OWN_CH2_Msk ,
  NRF_UICR_FEATURE_INDEX_3_MASK = UICR_GPIOTE_CH_OWN_CH3_Msk ,
  NRF_UICR_FEATURE_INDEX_4_MASK = UICR_GPIOTE_CH_OWN_CH4_Msk ,
  NRF_UICR_FEATURE_INDEX_5_MASK = UICR_GPIOTE_CH_OWN_CH5_Msk ,
  NRF_UICR_FEATURE_INDEX_6_MASK = UICR_GPIOTE_CH_OWN_CH6_Msk ,
  NRF_UICR_FEATURE_INDEX_7_MASK = UICR_GPIOTE_CH_OWN_CH7_Msk ,
  NRF_UICR_FEATURE_INDEX_8_MASK = UICR_GPIOTE_CH_OWN_CH8_Msk ,
  NRF_UICR_FEATURE_INDEX_9_MASK = UICR_GPIOTE_CH_OWN_CH9_Msk ,
  NRF_UICR_FEATURE_INDEX_10_MASK = UICR_GPIOTE_CH_OWN_CH10_Msk ,
  NRF_UICR_FEATURE_INDEX_11_MASK = UICR_GPIOTE_CH_OWN_CH11_Msk ,
  NRF_UICR_FEATURE_INDEX_12_MASK = UICR_GPIOTE_CH_OWN_CH12_Msk ,
  NRF_UICR_FEATURE_INDEX_13_MASK = UICR_GPIOTE_CH_OWN_CH13_Msk ,
  NRF_UICR_FEATURE_INDEX_14_MASK = UICR_GPIOTE_CH_OWN_CH14_Msk ,
  NRF_UICR_FEATURE_INDEX_15_MASK = UICR_GPIOTE_CH_OWN_CH15_Msk ,
  NRF_UICR_FEATURE_INDEX_16_MASK = UICR_GPIOTE_CH_OWN_CH16_Msk ,
  NRF_UICR_FEATURE_INDEX_17_MASK = UICR_GPIOTE_CH_OWN_CH17_Msk ,
  NRF_UICR_FEATURE_INDEX_18_MASK = UICR_GPIOTE_CH_OWN_CH18_Msk ,
  NRF_UICR_FEATURE_INDEX_19_MASK = UICR_GPIOTE_CH_OWN_CH19_Msk ,
  NRF_UICR_FEATURE_INDEX_20_MASK = UICR_GPIOTE_CH_OWN_CH20_Msk ,
  NRF_UICR_FEATURE_INDEX_21_MASK = UICR_GPIOTE_CH_OWN_CH21_Msk ,
  NRF_UICR_FEATURE_INDEX_22_MASK = UICR_GPIOTE_CH_OWN_CH22_Msk ,
  NRF_UICR_FEATURE_INDEX_23_MASK = UICR_GPIOTE_CH_OWN_CH23_Msk ,
  NRF_UICR_FEATURE_INDEX_24_MASK = UICR_GPIOTE_CH_OWN_CH24_Msk ,
  NRF_UICR_FEATURE_INDEX_25_MASK = UICR_GPIOTE_CH_OWN_CH25_Msk ,
  NRF_UICR_FEATURE_INDEX_26_MASK = UICR_GPIOTE_CH_OWN_CH26_Msk ,
  NRF_UICR_FEATURE_INDEX_27_MASK = UICR_GPIOTE_CH_OWN_CH27_Msk ,
  NRF_UICR_FEATURE_INDEX_28_MASK = UICR_GPIOTE_CH_OWN_CH28_Msk ,
  NRF_UICR_FEATURE_INDEX_29_MASK = UICR_GPIOTE_CH_OWN_CH29_Msk ,
  NRF_UICR_FEATURE_INDEX_30_MASK = UICR_GPIOTE_CH_OWN_CH30_Msk ,
  NRF_UICR_FEATURE_INDEX_31_MASK = UICR_GPIOTE_CH_OWN_CH31_Msk
}
 Feature index mask. More...
 
enum  nrf_uicr_feature_t {
  NRF_UICR_FEATURE_GPIO ,
  NRF_UICR_FEATURE_GPIOTE_CH ,
  NRF_UICR_FEATURE_IPCT_LOCAL_CH ,
  NRF_UICR_FEATURE_IPCT_LOCAL_INTERRUPT ,
  NRF_UICR_FEATURE_IPCT_GLOBAL_CH ,
  NRF_UICR_FEATURE_IPCT_GLOBAL_INTERRUPT ,
  NRF_UICR_FEATURE_DPPI_LOCAL_CH ,
  NRF_UICR_FEATURE_DPPI_LOCAL_CHG ,
  NRF_UICR_FEATURE_DPPI_GLOBAL_CH ,
  NRF_UICR_FEATURE_DPPI_GLOBAL_CHG ,
  NRF_UICR_FEATURE_GRTC_CC
}
 UICR features. More...
 

Functions

NRF_STATIC_INLINE nrf_uicr_mem_config_t nrf_uicr_mem_config_get (NRF_UICR_Type const *p_reg, uint8_t index)
 Function for getting the configuration of the memory block.
 
NRF_STATIC_INLINE uint32_t nrf_uicr_mem_size_get (NRF_UICR_Type const *p_reg, uint8_t index)
 Function for getting the size of the memory block.
 
NRF_STATIC_INLINE nrf_uicr_periph_config_t nrf_uicr_periph_config_get (NRF_UICR_Type const *p_reg, uint8_t index)
 Function for getting the configuration of the peripheral.
 
NRF_STATIC_INLINE uint32_t nrf_uicr_feature_own_get (NRF_UICR_Type const *p_reg, nrf_uicr_feature_t feature, uint8_t index)
 Function for getting the ownership requests of the feature.
 
NRF_STATIC_INLINE uint32_t nrf_uicr_feature_secure_get (NRF_UICR_Type const *p_reg, nrf_uicr_feature_t feature, uint8_t index)
 Function for getting the permission requests of the feature.
 
NRF_STATIC_INLINE nrf_uicr_dppi_link_t nrf_uicr_feature_link_get (NRF_UICR_Type const *p_reg, nrf_uicr_feature_t feature, uint8_t index)
 Function for getting the linking requests of the feature.
 
NRF_STATIC_INLINE nrf_uicr_ipcmap_config_t nrf_uicr_ipcmap_config_get (NRF_UICR_Type const *p_reg, uint8_t index)
 Function for getting the configuration of the IPCMAP channel.
 
NRF_STATIC_INLINE uint32_t nrf_uicr_mailbox_address_get (NRF_UICR_Type const *p_reg, uint8_t index)
 Function for getting the address of the MAILBOX.
 
NRF_STATIC_INLINE nrf_uicr_mailbox_config_t nrf_uicr_mailbox_config_get (NRF_UICR_Type const *p_reg, uint8_t index)
 Function for getting the configuration of the MAILBOX.
 
NRF_STATIC_INLINE uint32_t nrf_uicr_initsvtor_get (NRF_UICR_Type const *p_reg)
 Function for getting the initial value of the secure VTOR (Vector Table Offset Register).
 
NRF_STATIC_INLINE uint32_t nrf_uicr_initnsvtor_get (NRF_UICR_Type const *p_reg)
 Function for getting the initial value of the non-secure VTOR.
 
NRF_STATIC_INLINE uint32_t * nrf_uicr_ptrextuicr_get (NRF_UICR_Type const *p_reg)
 Function for getting the pointer to the extended UICR.
 

Detailed Description

Hardware access layer for managing the User Information Configuration Registers (UICR) peripheral.

Enumeration Type Documentation

◆ nrf_uicr_feature_index_mask_t

Feature index mask.

Note
Ownership of the pin is indicated by bit not set.
Enumerator
NRF_UICR_FEATURE_INDEX_0_MASK 

Feature index 0.

NRF_UICR_FEATURE_INDEX_1_MASK 

Feature index 1.

NRF_UICR_FEATURE_INDEX_2_MASK 

Feature index 2.

NRF_UICR_FEATURE_INDEX_3_MASK 

Feature index 3.

NRF_UICR_FEATURE_INDEX_4_MASK 

Feature index 4.

NRF_UICR_FEATURE_INDEX_5_MASK 

Feature index 5.

NRF_UICR_FEATURE_INDEX_6_MASK 

Feature index 6.

NRF_UICR_FEATURE_INDEX_7_MASK 

Feature index 7.

NRF_UICR_FEATURE_INDEX_8_MASK 

Feature index 8.

NRF_UICR_FEATURE_INDEX_9_MASK 

Feature index 9.

NRF_UICR_FEATURE_INDEX_10_MASK 

Feature index 10.

NRF_UICR_FEATURE_INDEX_11_MASK 

Feature index 11.

NRF_UICR_FEATURE_INDEX_12_MASK 

Feature index 12.

NRF_UICR_FEATURE_INDEX_13_MASK 

Feature index 13.

NRF_UICR_FEATURE_INDEX_14_MASK 

Feature index 14.

NRF_UICR_FEATURE_INDEX_15_MASK 

Feature index 15.

NRF_UICR_FEATURE_INDEX_16_MASK 

Feature index 16.

NRF_UICR_FEATURE_INDEX_17_MASK 

Feature index 17.

NRF_UICR_FEATURE_INDEX_18_MASK 

Feature index 18.

NRF_UICR_FEATURE_INDEX_19_MASK 

Feature index 19.

NRF_UICR_FEATURE_INDEX_20_MASK 

Feature index 20.

NRF_UICR_FEATURE_INDEX_21_MASK 

Feature index 21.

NRF_UICR_FEATURE_INDEX_22_MASK 

Feature index 22.

NRF_UICR_FEATURE_INDEX_23_MASK 

Feature index 23.

NRF_UICR_FEATURE_INDEX_24_MASK 

Feature index 24.

NRF_UICR_FEATURE_INDEX_25_MASK 

Feature index 25.

NRF_UICR_FEATURE_INDEX_26_MASK 

Feature index 26.

NRF_UICR_FEATURE_INDEX_27_MASK 

Feature index 27.

NRF_UICR_FEATURE_INDEX_28_MASK 

Feature index 28.

NRF_UICR_FEATURE_INDEX_29_MASK 

Feature index 29.

NRF_UICR_FEATURE_INDEX_30_MASK 

Feature index 30.

NRF_UICR_FEATURE_INDEX_31_MASK 

Feature index 31.

◆ nrf_uicr_feature_t

UICR features.

Enumerator
NRF_UICR_FEATURE_GPIO 

GPIO port.

NRF_UICR_FEATURE_GPIOTE_CH 

GPIOTE channel.

NRF_UICR_FEATURE_IPCT_LOCAL_CH 

Local IPCT channel.

NRF_UICR_FEATURE_IPCT_LOCAL_INTERRUPT 

Local IPCT interrupt.

NRF_UICR_FEATURE_IPCT_GLOBAL_CH 

Global IPCT channel.

NRF_UICR_FEATURE_IPCT_GLOBAL_INTERRUPT 

Global IPCT interrupt.

NRF_UICR_FEATURE_DPPI_LOCAL_CH 

Local DPPI channel.

NRF_UICR_FEATURE_DPPI_LOCAL_CHG 

Local DPPI channel group.

NRF_UICR_FEATURE_DPPI_GLOBAL_CH 

Global DPPI channel.

NRF_UICR_FEATURE_DPPI_GLOBAL_CHG 

Global DPPI channel group.

NRF_UICR_FEATURE_GRTC_CC 

GRTC compare channel.

◆ nrf_uicr_mem_config_perm_mask_t

Permissions mask.

Note
When bit is set, the selected action is not allowed.
Enumerator
NRF_UICR_MEM_CONFIG_PERM_READ_MASK 

Read access.

NRF_UICR_MEM_CONFIG_PERM_WRITE_MASK 

Write access.

NRF_UICR_MEM_CONFIG_PERM_EXECUTE_MASK 

Software execute.

NRF_UICR_MEM_CONFIG_PERM_NONSECURE_MASK 

Non-secure access.

Function Documentation

◆ nrf_uicr_feature_link_get()

NRF_STATIC_INLINE nrf_uicr_dppi_link_t nrf_uicr_feature_link_get ( NRF_UICR_Type const *  p_reg,
nrf_uicr_feature_t  feature,
uint8_t  index 
)

Function for getting the linking requests of the feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]featureFeature to be accessed.
[in]indexIndex of the feature. Only used for applicable features, otherwise skipped.
Returns
Linking requests masks for source and sink of the specified feature.

◆ nrf_uicr_feature_own_get()

NRF_STATIC_INLINE uint32_t nrf_uicr_feature_own_get ( NRF_UICR_Type const *  p_reg,
nrf_uicr_feature_t  feature,
uint8_t  index 
)

Function for getting the ownership requests of the feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]featureFeature to be accessed.
[in]indexIndex of the feature. Only used for applicable features, otherwise skipped.
Returns
Ownership requests mask of the specified feature.

◆ nrf_uicr_feature_secure_get()

NRF_STATIC_INLINE uint32_t nrf_uicr_feature_secure_get ( NRF_UICR_Type const *  p_reg,
nrf_uicr_feature_t  feature,
uint8_t  index 
)

Function for getting the permission requests of the feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]featureFeature to be accessed.
[in]indexIndex of the feature. Only used for applicable features, otherwise skipped.
Returns
Permission requests mask of the specified feature.

◆ nrf_uicr_initnsvtor_get()

NRF_STATIC_INLINE uint32_t nrf_uicr_initnsvtor_get ( NRF_UICR_Type const *  p_reg)

Function for getting the initial value of the non-secure VTOR.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Initial value of the non-secure VTOR.

◆ nrf_uicr_initsvtor_get()

NRF_STATIC_INLINE uint32_t nrf_uicr_initsvtor_get ( NRF_UICR_Type const *  p_reg)

Function for getting the initial value of the secure VTOR (Vector Table Offset Register).

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Initial value of the secure VTOR.

◆ nrf_uicr_ipcmap_config_get()

NRF_STATIC_INLINE nrf_uicr_ipcmap_config_t nrf_uicr_ipcmap_config_get ( NRF_UICR_Type const *  p_reg,
uint8_t  index 
)

Function for getting the configuration of the IPCMAP channel.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of the IPCMAP channel.
Returns
Configuration of the specified IPCMAP channel.

◆ nrf_uicr_mailbox_address_get()

NRF_STATIC_INLINE uint32_t nrf_uicr_mailbox_address_get ( NRF_UICR_Type const *  p_reg,
uint8_t  index 
)

Function for getting the address of the MAILBOX.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of the memory block.
Returns
Start address of the specified MAILBOX.

◆ nrf_uicr_mailbox_config_get()

NRF_STATIC_INLINE nrf_uicr_mailbox_config_t nrf_uicr_mailbox_config_get ( NRF_UICR_Type const *  p_reg,
uint8_t  index 
)

Function for getting the configuration of the MAILBOX.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of the MAILBOX.
Returns
Configuration of the specified MAILBOX.

◆ nrf_uicr_mem_config_get()

NRF_STATIC_INLINE nrf_uicr_mem_config_t nrf_uicr_mem_config_get ( NRF_UICR_Type const *  p_reg,
uint8_t  index 
)

Function for getting the configuration of the memory block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of the memory block.
Returns
Configuration of the specified memory block.

◆ nrf_uicr_mem_size_get()

NRF_STATIC_INLINE uint32_t nrf_uicr_mem_size_get ( NRF_UICR_Type const *  p_reg,
uint8_t  index 
)

Function for getting the size of the memory block.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of the memory block.
Returns
Size of the specified memory block in bytes.

◆ nrf_uicr_periph_config_get()

NRF_STATIC_INLINE nrf_uicr_periph_config_t nrf_uicr_periph_config_get ( NRF_UICR_Type const *  p_reg,
uint8_t  index 
)

Function for getting the configuration of the peripheral.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of the peripheral.
Returns
Configuration of the specified peripheral.

◆ nrf_uicr_ptrextuicr_get()

NRF_STATIC_INLINE uint32_t * nrf_uicr_ptrextuicr_get ( NRF_UICR_Type const *  p_reg)

Function for getting the pointer to the extended UICR.

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

Documentation feedback | Developer Zone | Subscribe | Updated