Hardware Libraries  20.1
Stratix 10 SoC Hardware Manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Interrupt Controller CPU Interface [Secure]

Description

This group of APIs provide access, configuration, and control of the individual CPU interfaces.

Functions

ALT_STATUS_CODE alt_int_cpu_init (void)
 
ALT_STATUS_CODE alt_int_cpu_uninit (void)
 
ALT_STATUS_CODE alt_int_cpu_enable (void)
 
ALT_STATUS_CODE alt_int_cpu_enable_irq (void)
 
ALT_STATUS_CODE alt_int_cpu_enable_fiq (void)
 
void alt_int_cpu_disable (void)
 
void alt_int_cpu_disable_irq (void)
 
void alt_int_cpu_disable_fiq (void)
 
uint32_t alt_int_cpu_priority_mask_get (void)
 
ALT_STATUS_CODE alt_int_cpu_priority_mask_set (uint32_t priority_mask)
 
uint32_t alt_int_cpu_binary_point_get (void)
 
ALT_STATUS_CODE alt_int_cpu_binary_point_set (uint32_t binary_point)
 

Function Documentation

ALT_STATUS_CODE alt_int_cpu_init ( void  )

Performs the initialization steps needed by the interrupt controller CPU interface. This should be the first CPU API call made when using the CPU interface.

Return values
ALT_E_SUCCESSThe operation was successful.
ALT_E_ERRORThe operation failed.
ALT_STATUS_CODE alt_int_cpu_uninit ( void  )

Performs the uninitialization steps needed by the interrupt controller CPU interface.

ALT_STATUS_CODE alt_int_cpu_enable ( void  )

Causes the CPU to monitor both irq and fiq interrupt signals and forwards pending interrupts to the processors. In EL3, this will enable secure interrupts.

ALT_STATUS_CODE alt_int_cpu_enable_irq ( void  )

Causes the CPU to monitor irq interrupt signals and forwards pending interrupts to the processors. In EL3, this will enable secure interrupts.

ALT_STATUS_CODE alt_int_cpu_enable_fiq ( void  )

Causes the CPU to monitor fiq interrupt signals and forwards pending interrupts to the processors. In EL3, this will enable secure interrupts.

void alt_int_cpu_disable ( void  )

Causes the CPU interface to ignore both irq and fiq interrupts.

void alt_int_cpu_disable_irq ( void  )

Causes the CPU interface to ignore irq interrupts.

void alt_int_cpu_disable_fiq ( void  )

Causes the CPU interface to ignore fiq interrupts.

uint32_t alt_int_cpu_priority_mask_get ( void  )

Gets the interrupt priority mask for the current CPU. Only interrupts with a higher priority than the priority mask can be forwarded to the CPU. In EL3, this will only apply to secure interrupts

Returns
The interrupt priority mask used to determine interrupt preemption.
ALT_STATUS_CODE alt_int_cpu_priority_mask_set ( uint32_t  priority_mask)

Sets the interrupt priority mask for the current CPU. Only interrupts with a higher priority than the priority mask can be forwarded to the CPU. In EL3, this will only apply to secure interrupts

Parameters
priority_maskThe interrupt priority mask is the group priority needed to instruct the GIC to preempt lower priority interrupt. The valid range for this value is 0 - 255.
Return values
ALT_E_SUCCESSThe operation was successful.
ALT_E_ERRORThe operation failed.
ALT_E_BAD_ARGThe given priority mask is invalid.
uint32_t alt_int_cpu_binary_point_get ( void  )

Returns the binary point for the given CPU. In EL3, this will refer only to the secure interrupts. See alt_int_cpu_binary_point_set for details

Returns
The configured binary point value.
ALT_STATUS_CODE alt_int_cpu_binary_point_set ( uint32_t  binary_point)

Sets the binary point value for the current CPU. In EL3, this will refer only to the secure interrupts.

This set the number of least-significant-bits in the priority to ignore. This is useful in IRQ implementations that support preemption to split the priority into subgroups. However, our implementation does not use this

Parameters
binary_pointThe binary point to use. The valid range for the value is 0 - 7.
Return values
ALT_E_SUCCESSThe operation was successful.
ALT_E_ERRORThe operation failed.
ALT_E_BAD_ARGThe given binary point value is invalid.