Contiki-NG
Loading...
Searching...
No Matches
tz-target-cfg.h File Reference

nRF5340 target configuration header More...

Go to the source code of this file.

Data Structures

struct  tz_nonsecure_setup_conf
 A convenient struct to include all required Non-Secure state configuration. More...
 
struct  memory_region_limits
 Store the addresses of memory regions. More...
 
struct  platform_data_t
 Holds the data necessary to do isolation for a specific peripheral. More...
 

Typedefs

typedef struct tz_nonsecure_setup_conf tz_nonsecure_setup_conf_t
 A convenient struct to include all required Non-Secure state configuration.
 

Enumerations

enum  tfm_plat_err_t
 TFM error codes.
 

Functions

void configure_nonsecure_vtor_offset (uint32_t vtor_ns)
 Configure nonsecure vtor offset.
 
enum tfm_plat_err_t spu_init_cfg (void)
 Configures memory permissions via the System Protection Unit.
 
enum tfm_plat_err_t spu_periph_init_cfg (void)
 Configures peripheral permissions via the System Protection Unit.
 
void tz_nonsecure_state_setup (const tz_nonsecure_setup_conf_t *p_ns_conf)
 Setup nonsecure state.
 
void spu_periph_configure_to_secure (uint32_t periph_num)
 Restrict access to peripheral to secure.
 
void spu_periph_configure_to_non_secure (uint32_t periph_num)
 Allow non-secure access to peripheral.
 
void spu_periph_config_uarte (void)
 Configures the NRF_UARTE0 non-secure.
 
void spu_clear_irq (void)
 Clears SPU interrupt.
 
void sau_and_idau_cfg (void)
 Configures SAU and IDAU.
 
void non_secure_configuration (void)
 Configure rom, ram and peripherials non-secure.
 
uint32_t tfm_spm_hal_get_ns_VTOR (void)
 Get non-secure vector table.
 
uint32_t tfm_spm_hal_get_ns_MSP (void)
 Get non-secure MSP location.
 
uint32_t tfm_spm_hal_get_ns_entry_point (void)
 Get entry point location.
 
enum tfm_plat_err_t enable_fault_handlers (void)
 Enables the fault handlers and sets priorities.
 
enum tfm_plat_err_t system_reset_cfg (void)
 Configures the system reset request properties.
 
enum tfm_plat_err_t init_debug (void)
 Configures the system debug properties.
 
enum tfm_plat_err_t nvic_interrupt_target_state_cfg (void)
 Configures all external interrupts to target the NS state, apart for the ones associated to secure peripherals (plus SPU)
 
enum tfm_plat_err_t nvic_interrupt_enable (void)
 This function enable the interrupts associated to the secure peripherals (plus the isolation boundary violation interrupts)
 

Detailed Description

nRF5340 target configuration header

This file contains the platform specific functions to configure the Cortex-M33 core, memory permissions and security attribution on the nRF5340 platform.

Memory permissions and security attribution are configured via the System Protection Unit (SPU) which is the nRF specific Implementation Defined Attribution Unit (IDAU).

Definition in file tz-target-cfg.h.

Function Documentation

◆ enable_fault_handlers()

enum tfm_plat_err_t enable_fault_handlers ( void )

Enables the fault handlers and sets priorities.

Returns
Returns values as specified by the tfm_plat_err_t

Definition at line 46 of file tz-target-cfg.c.

◆ init_debug()

enum tfm_plat_err_t init_debug ( void )

Configures the system debug properties.

Returns
Returns values as specified by the tfm_plat_err_t

◆ nvic_interrupt_enable()

enum tfm_plat_err_t nvic_interrupt_enable ( void )

This function enable the interrupts associated to the secure peripherals (plus the isolation boundary violation interrupts)

Returns
Returns values as specified by the tfm_plat_err_t

Definition at line 104 of file tz-target-cfg.c.

◆ nvic_interrupt_target_state_cfg()

enum tfm_plat_err_t nvic_interrupt_target_state_cfg ( void )

Configures all external interrupts to target the NS state, apart for the ones associated to secure peripherals (plus SPU)

Returns
Returns values as specified by the tfm_plat_err_t

Definition at line 74 of file tz-target-cfg.c.

◆ spu_init_cfg()

enum tfm_plat_err_t spu_init_cfg ( void )

Configures memory permissions via the System Protection Unit.

Returns
Returns values as specified by the tfm_plat_err_t

◆ spu_periph_init_cfg()

enum tfm_plat_err_t spu_periph_init_cfg ( void )

Configures peripheral permissions via the System Protection Unit.

The function does the following:

  • grants Non-Secure access to nRF peripherals that are not Secure-only
  • grants Non-Secure access to DDPI channels
  • grants Non-Secure access to GPIO pins
Returns
Returns values as specified by the tfm_plat_err_t

Definition at line 127 of file tz-target-cfg.c.

◆ system_reset_cfg()

enum tfm_plat_err_t system_reset_cfg ( void )

Configures the system reset request properties.

Returns
Returns values as specified by the tfm_plat_err_t

Definition at line 57 of file tz-target-cfg.c.