nrfx 3.3
Data Structures | Macros | Enumerations | Functions
VPR CLIC HAL

Hardware access layer for managing the VPR RISC-V CPU Interrupt Controller (VPR CLIC). More...

Data Structures

struct  nrf_vpr_clic_config_t
 VPR CLIC configuration structure. More...
 
struct  nrf_vpr_clic_info_t
 VPR CLIC information structure. More...
 
struct  nrf_vpr_clic_attr_t
 Interrupt attributes structure. More...
 

Macros

#define NRF_VPR_CLIC_IRQ_COUNT   CLIC_CLIC_CLICINT_MaxCount
 Interrupts count.
 

Enumerations

enum  nrf_vpr_clic_mode_t { NRF_VPR_CLIC_MODE_M = CLIC_CLIC_CLICCFG_NMBITS_ModeM }
 Interrupt privilege modes available. More...
 
enum  nrf_vpr_clic_priority_t {
  NRF_VPR_CLIC_PRIORITY_LEVEL0 = CLIC_CLIC_CLICINT_PRIORITY_PRIOLEVEL0 ,
  NRF_VPR_CLIC_PRIORITY_LEVEL1 = CLIC_CLIC_CLICINT_PRIORITY_PRIOLEVEL1 ,
  NRF_VPR_CLIC_PRIORITY_LEVEL2 = CLIC_CLIC_CLICINT_PRIORITY_PRIOLEVEL2 ,
  NRF_VPR_CLIC_PRIORITY_LEVEL3 = CLIC_CLIC_CLICINT_PRIORITY_PRIOLEVEL3
}
 Interrupt priority level. More...
 
enum  nrf_vpr_clic_trigger_t { NRF_VPR_CLIC_TRIGGER_EDGE_POS = CLIC_CLIC_CLICINT_TRIG_EdgeTriggered }
 Interrupt trigger and polarity types. More...
 
enum  nrf_vpr_clic_priv_t { NRF_VPR_CLIC_PRIV_MACHINE = CLIC_CLIC_CLICINT_MODE_MachineMode }
 Interrupt privilege. More...
 

Functions

NRF_STATIC_INLINE void nrf_vpr_clic_config_get (NRF_CLIC_Type const *p_reg, nrf_vpr_clic_config_t *p_config)
 Function for getting the CLIC configuration.
 
NRF_STATIC_INLINE void nrf_vpr_clic_info_get (NRF_CLIC_Type const *p_reg, nrf_vpr_clic_info_t *p_info)
 Function for getting the CLIC information.
 
NRF_STATIC_INLINE void nrf_vpr_clic_int_pending_set (NRF_CLIC_Type *p_reg, uint32_t irq_num)
 Function for setting the specified interrupt to be pending.
 
NRF_STATIC_INLINE void nrf_vpr_clic_int_pending_clear (NRF_CLIC_Type *p_reg, uint32_t irq_num)
 Function for clearing the pending status for the specified interrupt.
 
NRF_STATIC_INLINE bool nrf_vpr_clic_int_pending_check (NRF_CLIC_Type const *p_reg, uint32_t irq_num)
 Function for checking if the specified interrupt is pending.
 
NRF_STATIC_INLINE void nrf_vpr_clic_int_enable_set (NRF_CLIC_Type *p_reg, uint32_t irq_num, bool enable)
 Function for enabling or disabling the specified interrupt.
 
NRF_STATIC_INLINE bool nrf_vpr_clic_int_enable_check (NRF_CLIC_Type const *p_reg, uint32_t irq_num)
 Function for checking if the specified interrupt is enabled.
 
NRF_STATIC_INLINE void nrf_vpr_clic_int_priority_set (NRF_CLIC_Type *p_reg, uint32_t irq_num, nrf_vpr_clic_priority_t priority)
 Function for setting the priority of the specified interrupt.
 
NRF_STATIC_INLINE nrf_vpr_clic_priority_t nrf_vpr_clic_int_priority_get (NRF_CLIC_Type const *p_reg, uint32_t irq_num)
 Function for getting the priority of the specified interrupt.
 
NRF_STATIC_INLINE void nrf_vpr_clic_int_attr_get (NRF_CLIC_Type const *p_reg, uint32_t irq_num, nrf_vpr_clic_attr_t *p_attr)
 Function for getting the CLIC attributes.
 

Detailed Description

Hardware access layer for managing the VPR RISC-V CPU Interrupt Controller (VPR CLIC).

Enumeration Type Documentation

◆ nrf_vpr_clic_mode_t

Interrupt privilege modes available.

Enumerator
NRF_VPR_CLIC_MODE_M 

All interrupts are M-mode only.

◆ nrf_vpr_clic_priority_t

Interrupt priority level.

Enumerator
NRF_VPR_CLIC_PRIORITY_LEVEL0 

Priority level 0.

NRF_VPR_CLIC_PRIORITY_LEVEL1 

Priority level 1.

NRF_VPR_CLIC_PRIORITY_LEVEL2 

Priority level 2.

NRF_VPR_CLIC_PRIORITY_LEVEL3 

Priority level 3.

◆ nrf_vpr_clic_priv_t

Interrupt privilege.

Enumerator
NRF_VPR_CLIC_PRIV_MACHINE 

Machine mode.

◆ nrf_vpr_clic_trigger_t

Interrupt trigger and polarity types.

Enumerator
NRF_VPR_CLIC_TRIGGER_EDGE_POS 

Interrupts are positive edge-triggered.

Function Documentation

◆ nrf_vpr_clic_config_get()

NRF_STATIC_INLINE void nrf_vpr_clic_config_get ( NRF_CLIC_Type const *  p_reg,
nrf_vpr_clic_config_t p_config 
)

Function for getting the CLIC configuration.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[out]p_configPointer to the VPR CLIC configuration structure.

◆ nrf_vpr_clic_info_get()

NRF_STATIC_INLINE void nrf_vpr_clic_info_get ( NRF_CLIC_Type const *  p_reg,
nrf_vpr_clic_info_t p_info 
)

Function for getting the CLIC information.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[out]p_infoPointer to the VPR CLIC information structure.

◆ nrf_vpr_clic_int_attr_get()

NRF_STATIC_INLINE void nrf_vpr_clic_int_attr_get ( NRF_CLIC_Type const *  p_reg,
uint32_t  irq_num,
nrf_vpr_clic_attr_t p_attr 
)

Function for getting the CLIC attributes.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt.
[out]p_attrPointer to the structure to be filled with VPR CLIC attributes.

◆ nrf_vpr_clic_int_enable_check()

NRF_STATIC_INLINE bool nrf_vpr_clic_int_enable_check ( NRF_CLIC_Type const *  p_reg,
uint32_t  irq_num 
)

Function for checking if the specified interrupt is enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt to be checked.
Return values
trueInterrupt is enabled.
falseInterrupt is disabled.

◆ nrf_vpr_clic_int_enable_set()

NRF_STATIC_INLINE void nrf_vpr_clic_int_enable_set ( NRF_CLIC_Type *  p_reg,
uint32_t  irq_num,
bool  enable 
)

Function for enabling or disabling the specified interrupt.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt to be enabled or disabled.
[in]enableTrue if interrupt is to be enabled, false otherwise.

◆ nrf_vpr_clic_int_pending_check()

NRF_STATIC_INLINE bool nrf_vpr_clic_int_pending_check ( NRF_CLIC_Type const *  p_reg,
uint32_t  irq_num 
)

Function for checking if the specified interrupt is pending.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt to be checked.
Return values
trueInterrupt is pending.
falseInterrupt is not pending.

◆ nrf_vpr_clic_int_pending_clear()

NRF_STATIC_INLINE void nrf_vpr_clic_int_pending_clear ( NRF_CLIC_Type *  p_reg,
uint32_t  irq_num 
)

Function for clearing the pending status for the specified interrupt.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt to be cleared.

◆ nrf_vpr_clic_int_pending_set()

NRF_STATIC_INLINE void nrf_vpr_clic_int_pending_set ( NRF_CLIC_Type *  p_reg,
uint32_t  irq_num 
)

Function for setting the specified interrupt to be pending.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt to be triggered.

◆ nrf_vpr_clic_int_priority_get()

NRF_STATIC_INLINE nrf_vpr_clic_priority_t nrf_vpr_clic_int_priority_get ( NRF_CLIC_Type const *  p_reg,
uint32_t  irq_num 
)

Function for getting the priority of the specified interrupt.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt.
Returns
Priority of the specified interrupt.

◆ nrf_vpr_clic_int_priority_set()

NRF_STATIC_INLINE void nrf_vpr_clic_int_priority_set ( NRF_CLIC_Type *  p_reg,
uint32_t  irq_num,
nrf_vpr_clic_priority_t  priority 
)

Function for setting the priority of the specified interrupt.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]irq_numNumber of interrupt.
[in]priorityPriority to be set.

Documentation feedback | Developer Zone | Subscribe | Updated