![]() |
nrfx 4.5.0
|
Hardware access layer for managing the System Protection Unit (SPU) peripheral. More...
Functions | |
| NRF_STATIC_INLINE void | nrf_spu_event_clear (NRF_SPU_Type *p_reg, nrf_spu_event_t event) |
| Function for clearing a specific SPU event. | |
| NRF_STATIC_INLINE bool | nrf_spu_event_check (NRF_SPU_Type const *p_reg, nrf_spu_event_t event) |
| Function for retrieving the state of the SPU event. | |
| NRF_STATIC_INLINE void | nrf_spu_int_enable (NRF_SPU_Type *p_reg, uint32_t mask) |
| Function for enabling specified interrupts. | |
| NRF_STATIC_INLINE void | nrf_spu_int_disable (NRF_SPU_Type *p_reg, uint32_t mask) |
| Function for disabling specified interrupts. | |
| NRF_STATIC_INLINE uint32_t | nrf_spu_int_enable_check (NRF_SPU_Type const *p_reg, uint32_t mask) |
| Function for checking if the specified interrupts are enabled. | |
| NRF_STATIC_INLINE void | nrf_spu_publish_set (NRF_SPU_Type *p_reg, nrf_spu_event_t event, uint32_t channel) |
| Function for setting up publication configuration of a given SPU event. | |
| NRF_STATIC_INLINE void | nrf_spu_publish_clear (NRF_SPU_Type *p_reg, nrf_spu_event_t event) |
| Function for clearing publication configuration of a given SPU event. | |
| NRF_STATIC_INLINE bool | nrf_spu_tz_is_available (NRF_SPU_Type const *p_reg) |
| Function for retrieving the capabilities of the current device. | |
| NRF_STATIC_INLINE void | nrf_spu_dppi_config_set (NRF_SPU_Type *p_reg, uint8_t dppi_id, uint32_t channels_mask, bool lock_conf) |
| Function for configuring the DPPI channels to be available in particular domains. | |
| NRF_STATIC_INLINE void | nrf_spu_gpio_config_set (NRF_SPU_Type *p_reg, uint8_t gpio_port, uint32_t gpio_mask, bool lock_conf) |
| Function for configuring the GPIO pins to be available in particular domains. | |
| NRF_STATIC_INLINE void | nrf_spu_flashnsc_set (NRF_SPU_Type *p_reg, uint8_t flash_nsc_id, nrf_spu_nsc_size_t flash_nsc_size, uint8_t region_number, bool lock_conf) |
| Function for configuring non-secure callable flash region. | |
| NRF_STATIC_INLINE void | nrf_spu_ramnsc_set (NRF_SPU_Type *p_reg, uint8_t ram_nsc_id, nrf_spu_nsc_size_t ram_nsc_size, uint8_t region_number, bool lock_conf) |
| Function for configuring non-secure callable RAM region. | |
| NRF_STATIC_INLINE void | nrf_spu_flashregion_set (NRF_SPU_Type *p_reg, uint8_t region_id, bool secure_attr, uint32_t permissions, bool lock_conf) |
| Function for configuring security for a particular flash region. | |
| NRF_STATIC_INLINE void | nrf_spu_ramregion_set (NRF_SPU_Type *p_reg, uint8_t region_id, bool secure_attr, uint32_t permissions, bool lock_conf) |
| Function for configuring security for the RAM region. | |
| NRF_STATIC_INLINE void | nrf_spu_peripheral_set (NRF_SPU_Type *p_reg, uint32_t peripheral_id, bool secure_attr, bool secure_dma, bool lock_conf) |
| Function for configuring access permissions of the peripheral. | |
| NRF_STATIC_INLINE void | nrf_spu_extdomain_set (NRF_SPU_Type *p_reg, uint32_t domain_id, bool secure_attr, bool lock_conf) |
| Function for configuring bus access permissions of the specified external domain. | |
| NRF_STATIC_INLINE uint32_t | nrf_spu_periphaccerr_address_get (NRF_SPU_Type const *p_reg) |
| Function for getting the address of the security violation. | |
| NRF_STATIC_INLINE nrf_owner_t | nrf_spu_periphaccerr_ownerid_get (NRF_SPU_Type const *p_reg) |
| Function for getting the owner ID of the security violation. | |
| NRF_STATIC_INLINE nrf_spu_securemapping_t | nrf_spu_periph_perm_securemapping_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the capabilities for TrustZone Cortex-M secure attribute of the specified slave. | |
| NRF_STATIC_INLINE nrf_spu_dma_t | nrf_spu_periph_perm_dma_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the DMA capabilities of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_secattr_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the security mapping of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_secattr_set (NRF_SPU_Type *p_reg, uint8_t index, bool enable) |
| Function for setting the security mapping of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_dmasec_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the security attribution for the DMA transfer of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_dmasec_set (NRF_SPU_Type *p_reg, uint8_t index, bool enable) |
| Function for setting the security attribution for the DMA transfer of the specified slave. | |
| NRF_STATIC_INLINE nrf_spu_privlmapping_t | nrf_spu_periph_perm_privlmapping_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the capabilities for TrustZone Cortex-M privileged attribute of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_privlattr_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the privileged mapping of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_privlattr_set (NRF_SPU_Type *p_reg, uint8_t index, bool enable) |
| Function for setting the privileged mapping of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_dmaprivl_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the privileged attribution for the DMA transfer of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_dmaprivl_set (NRF_SPU_Type *p_reg, uint8_t index, bool enable) |
| Function for setting the privileged attribution for the DMA transfer of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_block_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the status of the peripheral access lock of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_block_enable (NRF_SPU_Type *p_reg, uint8_t index) |
| Function for enabling the peripheral access lock of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_lock_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the status of the peripheral management lock of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_lock_enable (NRF_SPU_Type *p_reg, uint8_t index) |
| Function for enabling the peripheral management lock of the specified slave. | |
| NRF_STATIC_INLINE nrf_owner_t | nrf_spu_periph_perm_ownerid_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the peripheral owner ID of the specified slave. | |
| NRF_STATIC_INLINE void | nrf_spu_periph_perm_ownerid_set (NRF_SPU_Type *p_reg, uint8_t index, nrf_owner_t owner_id) |
| Function for setting the peripheral owner ID of the specified slave. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_ownerprog_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the indication if owner ID of the specified slave is programmable or not. | |
| NRF_STATIC_INLINE bool | nrf_spu_periph_perm_present_get (NRF_SPU_Type const *p_reg, uint8_t index) |
| Function for getting the indication if peripheral with the specified slave index is present. | |
| NRF_STATIC_INLINE bool | nrf_spu_feature_secattr_get (NRF_SPU_Type const *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for getting the security mapping of the specified feature. | |
| NRF_STATIC_INLINE void | nrf_spu_feature_secattr_set (NRF_SPU_Type *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex, bool enable) |
| Function for setting the security mapping of the specified feature. | |
| NRF_STATIC_INLINE bool | nrf_spu_feature_privlattr_get (NRF_SPU_Type const *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for getting the privilege mapping of the specified feature. | |
| NRF_STATIC_INLINE void | nrf_spu_feature_privlattr_set (NRF_SPU_Type *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex, bool enable) |
| Function for setting the privilege mapping of the specified feature. | |
| NRF_STATIC_INLINE bool | nrf_spu_feature_lock_get (NRF_SPU_Type const *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for getting the status of the management lock of the specified feature. | |
| NRF_STATIC_INLINE void | nrf_spu_feature_lock_enable (NRF_SPU_Type *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for enabling the management lock of the specified feature. | |
| NRF_STATIC_INLINE bool | nrf_spu_feature_block_get (NRF_SPU_Type const *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for getting status of the access lock of the specified feature. | |
| NRF_STATIC_INLINE void | nrf_spu_feature_block_enable (NRF_SPU_Type *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for enabling the feature block of the specified feature. | |
| NRF_STATIC_INLINE nrf_owner_t | nrf_spu_feature_ownerid_get (NRF_SPU_Type const *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex) |
| Function for getting the feature owner ID of the specified feature. | |
| NRF_STATIC_INLINE void | nrf_spu_feature_ownerid_set (NRF_SPU_Type *p_reg, nrf_spu_feature_t feature, uint8_t index, uint8_t subindex, nrf_owner_t owner_id) |
| Function for setting the feature owner ID of the specified feature. | |
Hardware access layer for managing the System Protection Unit (SPU) peripheral.
| enum nrf_spu_dma_t |
SPU DMA capabilities.
| enum nrf_spu_event_t |
SPU events.
| enum nrf_spu_feature_t |
SPU features.
| enum nrf_spu_int_mask_t |
| enum nrf_spu_mem_perm_t |
| enum nrf_spu_nsc_size_t |
SPU Non-Secure Callable (NSC) region size.
SPU read capabilities for TrustZone Cortex-M privileged attribute.
SPU read capabilities for TrustZone Cortex-M secure attribute.
| NRF_STATIC_INLINE void nrf_spu_dppi_config_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | dppi_id, | ||
| uint32_t | channels_mask, | ||
| bool | lock_conf ) |
Function for configuring the DPPI channels to be available in particular domains.
Channels are configured as bitmask. Set one in bitmask to make channels available only in secure domain. Set zero to make it available in secure and non-secure domains.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | dppi_id | DPPI peripheral id. |
| [in] | channels_mask | Bitmask with channels configuration. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE bool nrf_spu_event_check | ( | NRF_SPU_Type const * | p_reg, |
| nrf_spu_event_t | event ) |
Function for retrieving the state of the SPU 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_spu_event_clear | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_event_t | event ) |
Function for clearing a specific SPU event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event to clear. |
| NRF_STATIC_INLINE void nrf_spu_extdomain_set | ( | NRF_SPU_Type * | p_reg, |
| uint32_t | domain_id, | ||
| bool | secure_attr, | ||
| bool | lock_conf ) |
Function for configuring bus access permissions of the specified external domain.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | domain_id | ID number of a particular external domain. |
| [in] | secure_attr | Specifies if the bus accesses from this domain have the secure attribute set. |
| [in] | lock_conf | Specifies if the configuration should be locked until next SoC reset. |
| NRF_STATIC_INLINE void nrf_spu_feature_block_enable | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for enabling the feature block of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| NRF_STATIC_INLINE bool nrf_spu_feature_block_get | ( | NRF_SPU_Type const * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for getting status of the access lock of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| NRF_STATIC_INLINE void nrf_spu_feature_lock_enable | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for enabling the management lock of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| NRF_STATIC_INLINE bool nrf_spu_feature_lock_get | ( | NRF_SPU_Type const * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for getting the status of the management lock of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| NRF_STATIC_INLINE nrf_owner_t nrf_spu_feature_ownerid_get | ( | NRF_SPU_Type const * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for getting the feature owner ID of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| NRF_STATIC_INLINE void nrf_spu_feature_ownerid_set | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex, | ||
| nrf_owner_t | owner_id ) |
Function for setting the feature owner ID of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| [in] | owner_id | Owner ID to be set. |
| NRF_STATIC_INLINE bool nrf_spu_feature_privlattr_get | ( | NRF_SPU_Type const * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for getting the privilege mapping of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| true | Feature is available for privileged usage. |
| false | Feature is available for unprivileged usage. |
| NRF_STATIC_INLINE void nrf_spu_feature_privlattr_set | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex, | ||
| bool | enable ) |
Function for setting the privilege mapping of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| [in] | enable | True if privilege mapping is to be set, false otherwise. |
| NRF_STATIC_INLINE bool nrf_spu_feature_secattr_get | ( | NRF_SPU_Type const * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex ) |
Function for getting the security mapping of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| true | Feature is available for secure usage. |
| false | Feature is available for non-secure usage. |
| NRF_STATIC_INLINE void nrf_spu_feature_secattr_set | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_feature_t | feature, | ||
| uint8_t | index, | ||
| uint8_t | subindex, | ||
| bool | enable ) |
Function for setting the security mapping of the specified feature.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | feature | Feature to be accessed. |
| [in] | index | Feature index. |
| [in] | subindex | Feature subindex. Only used for applicable features, otherwise skipped. |
| [in] | enable | True if security mapping is to be set, false otherwise. |
| NRF_STATIC_INLINE void nrf_spu_flashnsc_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | flash_nsc_id, | ||
| nrf_spu_nsc_size_t | flash_nsc_size, | ||
| uint8_t | region_number, | ||
| bool | lock_conf ) |
Function for configuring non-secure callable flash region.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | flash_nsc_id | Non-secure callable flash region ID. |
| [in] | flash_nsc_size | Non-secure callable flash region size. |
| [in] | region_number | Flash region number. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE void nrf_spu_flashregion_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | region_id, | ||
| bool | secure_attr, | ||
| uint32_t | permissions, | ||
| bool | lock_conf ) |
Function for configuring security for a particular flash region.
Permissions parameter must be set by using the logical OR on the nrf_spu_mem_perm_t values.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | region_id | Flash region index. |
| [in] | secure_attr | Set region attribute to secure. |
| [in] | permissions | Flash region permissions. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE void nrf_spu_gpio_config_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | gpio_port, | ||
| uint32_t | gpio_mask, | ||
| bool | lock_conf ) |
Function for configuring the GPIO pins to be available in particular domains.
GPIO pins are configured as bitmask. Set one in bitmask to make particular pin available only in secure domain. Set zero to make it available in secure and non-secure domains.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | gpio_port | Port number. |
| [in] | gpio_mask | Bitmask with gpio configuration. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE void nrf_spu_int_disable | ( | NRF_SPU_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 | Mask of interrupts to be disabled. Use nrf_spu_int_mask_t values for bit masking. |
| NRF_STATIC_INLINE void nrf_spu_int_enable | ( | NRF_SPU_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 | Mask of interrupts to be enabled. Use nrf_spu_int_mask_t values for bit masking. |
| NRF_STATIC_INLINE uint32_t nrf_spu_int_enable_check | ( | NRF_SPU_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. Use nrf_spu_int_mask_t values for bit masking. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_block_enable | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index ) |
Function for enabling the peripheral access lock of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_block_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the status of the peripheral access lock of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE nrf_spu_dma_t nrf_spu_periph_perm_dma_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the DMA capabilities of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_dmaprivl_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the privileged attribution for the DMA transfer of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_dmaprivl_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index, | ||
| bool | enable ) |
Function for setting the privileged attribution for the DMA transfer of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| [in] | enable | True if privileged attribute for the DMA transfer is to be set, false otherwise. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_dmasec_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the security attribution for the DMA transfer of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_dmasec_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index, | ||
| bool | enable ) |
Function for setting the security attribution for the DMA transfer of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| [in] | enable | True if secure attribute for the DMA transfer is to be set, false otherwise. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_lock_enable | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index ) |
Function for enabling the peripheral management lock of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_lock_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the status of the peripheral management lock of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE nrf_owner_t nrf_spu_periph_perm_ownerid_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the peripheral owner ID of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_ownerid_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index, | ||
| nrf_owner_t | owner_id ) |
Function for setting the peripheral owner ID of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| [in] | owner_id | Owner ID to be set. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_ownerprog_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the indication if owner ID of the specified slave is programmable or not.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_present_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the indication if peripheral with the specified slave index is present.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_privlattr_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the privileged mapping of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| true | Peripheral is mapped in privileged peripheral address space. |
| false | Peripheral is mapped in unprivileged peripheral address space and TrustZone capabilities are NRF_SPU_PRIVLMAPPING_USERSELECTABLE or peripheral is mapped in unprivileged and privileged peripheral address space and TrustZone capabilities are NRF_SPU_PRIVLMAPPING_SPLIT. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_privlattr_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index, | ||
| bool | enable ) |
Function for setting the privileged mapping of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| [in] | enable | True if privileged mapping is to be set, false otherwise. |
| NRF_STATIC_INLINE nrf_spu_privlmapping_t nrf_spu_periph_perm_privlmapping_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the capabilities for TrustZone Cortex-M privileged attribute of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE bool nrf_spu_periph_perm_secattr_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the security mapping of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| true | Peripheral is mapped in secure peripheral address space. |
| false | If TrustZone capabilities are NRF_SPU_SECUREMAPPING_USERSELECTABLE, then peripheral is mapped in non-secure peripheral address space. If TrustZone capabilities are NRF_SPU_SECUREMAPPING_SPLIT, then peripheral is mapped in non-secure and secure peripheral address space. |
| NRF_STATIC_INLINE void nrf_spu_periph_perm_secattr_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | index, | ||
| bool | enable ) |
Function for setting the security mapping of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| [in] | enable | True if security mapping is to be set, false otherwise. |
| NRF_STATIC_INLINE nrf_spu_securemapping_t nrf_spu_periph_perm_securemapping_get | ( | NRF_SPU_Type const * | p_reg, |
| uint8_t | index ) |
Function for getting the capabilities for TrustZone Cortex-M secure attribute of the specified slave.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | index | Peripheral slave index. |
| NRF_STATIC_INLINE uint32_t nrf_spu_periphaccerr_address_get | ( | NRF_SPU_Type const * | p_reg | ) |
Function for getting the address of the security violation.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| NRF_STATIC_INLINE nrf_owner_t nrf_spu_periphaccerr_ownerid_get | ( | NRF_SPU_Type const * | p_reg | ) |
Function for getting the owner ID of the security violation.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| NRF_STATIC_INLINE void nrf_spu_peripheral_set | ( | NRF_SPU_Type * | p_reg, |
| uint32_t | peripheral_id, | ||
| bool | secure_attr, | ||
| bool | secure_dma, | ||
| bool | lock_conf ) |
Function for configuring access permissions of the peripheral.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | peripheral_id | ID number of a particular peripheral. |
| [in] | secure_attr | Peripheral registers accessible only from secure domain. |
| [in] | secure_dma | DMA transfers possible only from RAM memory in secure domain. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE void nrf_spu_publish_clear | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_event_t | event ) |
Function for clearing publication configuration of a given SPU event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event to clear. |
| NRF_STATIC_INLINE void nrf_spu_publish_set | ( | NRF_SPU_Type * | p_reg, |
| nrf_spu_event_t | event, | ||
| uint32_t | channel ) |
Function for setting up publication configuration of a given SPU event.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | event | Event to configure. |
| [in] | channel | Channel to connect with published event. |
| NRF_STATIC_INLINE void nrf_spu_ramnsc_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | ram_nsc_id, | ||
| nrf_spu_nsc_size_t | ram_nsc_size, | ||
| uint8_t | region_number, | ||
| bool | lock_conf ) |
Function for configuring non-secure callable RAM region.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | ram_nsc_id | Non-secure callable RAM region ID. |
| [in] | ram_nsc_size | Non-secure callable RAM region size. |
| [in] | region_number | RAM region number. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE void nrf_spu_ramregion_set | ( | NRF_SPU_Type * | p_reg, |
| uint8_t | region_id, | ||
| bool | secure_attr, | ||
| uint32_t | permissions, | ||
| bool | lock_conf ) |
Function for configuring security for the RAM region.
Permissions parameter must be set by using the logical OR on the nrf_spu_mem_perm_t values.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| [in] | region_id | RAM region index. |
| [in] | secure_attr | Set region attribute to secure. |
| [in] | permissions | RAM region permissions. |
| [in] | lock_conf | Lock configuration until next SoC reset. |
| NRF_STATIC_INLINE bool nrf_spu_tz_is_available | ( | NRF_SPU_Type const * | p_reg | ) |
Function for retrieving the capabilities of the current device.
| [in] | p_reg | Pointer to the structure of registers of the peripheral. |
| true | ARM TrustZone support is available. |
| false | ARM TrustZone support is not available. |