nrfx 4.5.0
Loading...
Searching...
No Matches
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.
 
#define NRF_VPR_CLIC_INT_TO_PRIO(x)
 Macro for converting integer priority level to nrf_vpr_clic_priority_t.
 

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).

Macro Definition Documentation

◆ NRF_VPR_CLIC_INT_TO_PRIO

#define NRF_VPR_CLIC_INT_TO_PRIO ( x)
Value:
((x) == 3 ? NRF_VPR_CLIC_PRIORITY_LEVEL3 : 0))))
@ NRF_VPR_CLIC_PRIORITY_LEVEL2
Definition nrf_vpr_clic.h:64
@ NRF_VPR_CLIC_PRIORITY_LEVEL0
Definition nrf_vpr_clic.h:62
@ NRF_VPR_CLIC_PRIORITY_LEVEL3
Definition nrf_vpr_clic.h:65
@ NRF_VPR_CLIC_PRIORITY_LEVEL1
Definition nrf_vpr_clic.h:63

Macro for converting integer priority level to nrf_vpr_clic_priority_t.

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.