UICR HAL
- group nrf_uicr_hal
Hardware access layer for managing the User Information Configuration Registers (UICR) peripheral.
Defines
-
NRF_UICR_HAS_MEM_CONFIG
Symbol indicating whether memory configuration through UICR is present.
-
NRF_UICR_HAS_PERIPH_CONFIG
Symbol indicating whether peripheral configuration through UICR is present.
-
NRF_UICR_HAS_FEATURE_CONFIG
Symbol indicating whether feature configuration through UICR is present.
-
NRF_UICR_HAS_MAILBOX
Symbol indicating whether mailbox configuration through UICR is present.
-
NRF_UICR_HAS_VTOR
Symbol indicating whether VTOR configuration through UICR is present.
-
NRF_UICR_HAS_PTREXT
Symbol indicating whether extended UICR is present.
-
NRF_UICR_HAS_FEATURE_GPIO
Symbol indicating whether GPIO feature is present.
-
NRF_UICR_HAS_BOOTCONF
Symbol indicating whether immutable boot region configuration is present.
-
NRF_UICR_HAS_CH_LINK_DIR_EN
Symbol indicating whether linking channels of DPPI as either source or sink is configured using the LINK.DIR and LINK.EN registers.
-
NRF_UICR_MEM_COUNT
Number of memory blocks.
-
NRF_UICR_PERIPH_COUNT
Number of peripherals.
-
NRF_UICR_GPIO_COUNT
Number of GPIOs.
-
NRF_UICR_GPIOTE_CH_COUNT
Number of GPIOTE channels.
-
NRF_UICR_IPCT_GLOBAL_COUNT
Number of global IPCTs.
-
NRF_UICR_DPPI_LOCAL_COUNT
Number of local IPCTs.
-
NRF_UICR_DPPI_GLOBAL_COUNT
Number of global DPPIs.
-
NRF_UICR_IPCMAP_COUNT
Number of IPCMAPs.
-
NRF_UICR_MAILBOX_COUNT
Number of MAILBOXes.
-
NRF_UICR_BOOTCONF_PERM_MASK
Immutable boot region permissions bitmask.
Enums
-
enum nrf_uicr_mem_config_perm_mask_t
Memory permissions mask.
Note
When bit is set, the selected action is not allowed.
Values:
-
enumerator NRF_UICR_MEM_CONFIG_PERM_READ_MASK
Read access.
-
enumerator NRF_UICR_MEM_CONFIG_PERM_WRITE_MASK
Write access.
-
enumerator NRF_UICR_MEM_CONFIG_PERM_EXECUTE_MASK
Software execute.
-
enumerator NRF_UICR_MEM_CONFIG_PERM_NONSECURE_MASK
Non-secure access.
-
enumerator NRF_UICR_MEM_CONFIG_PERM_READ_MASK
-
enum nrf_uicr_feature_index_mask_t
Feature index mask.
Note
Ownership of the pin is indicated by bit not set.
Values:
-
enumerator NRF_UICR_FEATURE_INDEX_0_MASK
Feature index 0.
-
enumerator NRF_UICR_FEATURE_INDEX_1_MASK
Feature index 1.
-
enumerator NRF_UICR_FEATURE_INDEX_2_MASK
Feature index 2.
-
enumerator NRF_UICR_FEATURE_INDEX_3_MASK
Feature index 3.
-
enumerator NRF_UICR_FEATURE_INDEX_4_MASK
Feature index 4.
-
enumerator NRF_UICR_FEATURE_INDEX_5_MASK
Feature index 5.
-
enumerator NRF_UICR_FEATURE_INDEX_6_MASK
Feature index 6.
-
enumerator NRF_UICR_FEATURE_INDEX_7_MASK
Feature index 7.
-
enumerator NRF_UICR_FEATURE_INDEX_8_MASK
Feature index 8.
-
enumerator NRF_UICR_FEATURE_INDEX_9_MASK
Feature index 9.
-
enumerator NRF_UICR_FEATURE_INDEX_10_MASK
Feature index 10.
-
enumerator NRF_UICR_FEATURE_INDEX_11_MASK
Feature index 11.
-
enumerator NRF_UICR_FEATURE_INDEX_12_MASK
Feature index 12.
-
enumerator NRF_UICR_FEATURE_INDEX_13_MASK
Feature index 13.
-
enumerator NRF_UICR_FEATURE_INDEX_14_MASK
Feature index 14.
-
enumerator NRF_UICR_FEATURE_INDEX_15_MASK
Feature index 15.
-
enumerator NRF_UICR_FEATURE_INDEX_16_MASK
Feature index 16.
-
enumerator NRF_UICR_FEATURE_INDEX_17_MASK
Feature index 17.
-
enumerator NRF_UICR_FEATURE_INDEX_18_MASK
Feature index 18.
-
enumerator NRF_UICR_FEATURE_INDEX_19_MASK
Feature index 19.
-
enumerator NRF_UICR_FEATURE_INDEX_20_MASK
Feature index 20.
-
enumerator NRF_UICR_FEATURE_INDEX_21_MASK
Feature index 21.
-
enumerator NRF_UICR_FEATURE_INDEX_22_MASK
Feature index 22.
-
enumerator NRF_UICR_FEATURE_INDEX_23_MASK
Feature index 23.
-
enumerator NRF_UICR_FEATURE_INDEX_24_MASK
Feature index 24.
-
enumerator NRF_UICR_FEATURE_INDEX_25_MASK
Feature index 25.
-
enumerator NRF_UICR_FEATURE_INDEX_26_MASK
Feature index 26.
-
enumerator NRF_UICR_FEATURE_INDEX_27_MASK
Feature index 27.
-
enumerator NRF_UICR_FEATURE_INDEX_28_MASK
Feature index 28.
-
enumerator NRF_UICR_FEATURE_INDEX_29_MASK
Feature index 29.
-
enumerator NRF_UICR_FEATURE_INDEX_30_MASK
Feature index 30.
-
enumerator NRF_UICR_FEATURE_INDEX_31_MASK
Feature index 31.
-
enumerator NRF_UICR_FEATURE_INDEX_0_MASK
-
enum nrf_uicr_feature_t
UICR features.
Values:
-
enumerator NRF_UICR_FEATURE_GPIO
GPIO port.
-
enumerator NRF_UICR_FEATURE_GPIOTE_CH
GPIOTE channel.
-
enumerator NRF_UICR_FEATURE_IPCT_LOCAL_CH
Local IPCT channel.
-
enumerator NRF_UICR_FEATURE_IPCT_LOCAL_INTERRUPT
Local IPCT interrupt.
-
enumerator NRF_UICR_FEATURE_IPCT_GLOBAL_CH
Global IPCT channel.
-
enumerator NRF_UICR_FEATURE_IPCT_GLOBAL_INTERRUPT
Global IPCT interrupt.
-
enumerator NRF_UICR_FEATURE_DPPI_LOCAL_CH
Local DPPI channel.
-
enumerator NRF_UICR_FEATURE_DPPI_LOCAL_CHG
Local DPPI channel group.
-
enumerator NRF_UICR_FEATURE_DPPI_GLOBAL_CH
Global DPPI channel.
-
enumerator NRF_UICR_FEATURE_DPPI_GLOBAL_CHG
Global DPPI channel group.
-
enumerator NRF_UICR_FEATURE_GRTC_CC
GRTC compare channel.
-
enumerator NRF_UICR_FEATURE_GPIO
-
enum nrf_uicr_boot_region_perm_mask_t
Immutable boot region permissions mask.
Note
When bit is set, the selected action is allowed.
Values:
-
enumerator NRF_UICR_BOOT_REGION_PERM_READ_MASK
Read access.
-
enumerator NRF_UICR_BOOT_REGION_PERM_WRITE_MASK
Write access.
-
enumerator NRF_UICR_BOOT_REGION_PERM_EXECUTE_MASK
Software execute.
-
enumerator NRF_UICR_BOOT_REGION_PERM_SECURE_MASK
Secure-only access.
-
enumerator NRF_UICR_BOOT_REGION_PERM_READ_MASK
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the memory block.
- Returns:
Configuration of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the memory block.
- Returns:
Size of the specified memory block in bytes.
-
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:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the peripheral.
- Returns:
Configuration of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
feature – [in] Feature to be accessed.
index – [in] Index of the feature. Only used for applicable features, otherwise skipped.
- Returns:
Ownership requests mask of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
feature – [in] Feature to be accessed.
index – [in] Index of the feature. Only used for applicable features, otherwise skipped.
- Returns:
Permission requests mask of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
feature – [in] Feature to be accessed.
index – [in] Index of the feature. Only used for applicable features, otherwise skipped.
- Returns:
Linking requests masks for source and sink of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the IPCMAP channel.
- Returns:
Configuration of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the memory block.
- Returns:
Start address of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of the MAILBOX.
- Returns:
Configuration of the specified 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).
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Initial value of the secure VTOR.
-
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:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Pointer to the extended UICR.
-
NRF_STATIC_INLINE void nrf_uicr_boot_region_config_set(NRF_UICR_Type *p_reg, nrf_uicr_boot_region_config_t const *p_config)
Function for setting the configuration of the immutable boot region.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_config – [in] Pointer to the configuration structure.
-
NRF_STATIC_INLINE bool nrf_uicr_boot_region_config_get(NRF_UICR_Type const *p_reg, nrf_uicr_boot_region_config_t *p_config)
Function for getting the configuration of the immutable boot region.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_config – [in] Pointer to the structure to be filled with immutable boot region settings.
- Return values:
true – Configuration is applied.
false – Register is equal to 0xFFFFFFFF, meaning that configuration is not applied.
-
NRF_STATIC_INLINE uint32_t nrf_uicr_gpio_instance_get(NRF_UICREXTENDED_Type const *p_reg, uint8_t index)
Function for getting the GPIO instance address associated with the specified GPIO entry.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] Index of GPIO entry.
- Returns:
GPIO instance address.
-
NRF_STATIC_INLINE uint32_t nrf_uicr_gpio_ctrlsel_get(NRF_UICREXTENDED_Type const *p_reg, uint32_t pin_number)
Function for getting the CTRLSEL configuration associated with the specified GPIO pin.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
pin_number – [in] Absolute pin number.
- Returns:
CTRLSEL configuration.
-
struct nrf_uicr_mem_config_t
- #include <nrf_uicr.h>
Memory configuration.
-
struct nrf_uicr_ipcmap_pair_t
- #include <nrf_uicr.h>
IPCMAP pair.
-
struct nrf_uicr_ipcmap_config_t
- #include <nrf_uicr.h>
IPCMAP configuration.
-
struct nrf_uicr_dppi_link_t
- #include <nrf_uicr.h>
DPPI link.
-
struct nrf_uicr_periph_config_t
- #include <nrf_uicr.h>
Peripheral configuration.
-
struct nrf_uicr_mailbox_config_t
- #include <nrf_uicr.h>
MAILBOX configuration.
-
struct nrf_uicr_boot_region_config_t
- #include <nrf_uicr.h>
Immutable boot region configuration.
Public Members
-
uint32_t permissions
Permissions created using nrf_uicr_boot_region_perm_mask_t.
-
bool writeonce
True if writes to the boot region are to be applied only when the current data is 0xFFFFFFFF.
-
bool lock
True if RRAMC configuration registers for the boot region are to be read-only.
-
uint16_t size_kb
Region size in kBs. */.
-
uint32_t permissions
-
NRF_UICR_HAS_MEM_CONFIG