RTEMS 6.1-rc7
Loading...
Searching...
No Matches
Macros | Functions
irq.h File Reference

This header file provides TMS570 interrupt definitions. More...

#include <rtems.h>
#include <rtems/irq.h>
#include <rtems/irq-extension.h>

Go to the source code of this file.

Macros

#define TMS570_IRQ_ESM_HIGH   0
 
#define TMS570_IRQ_RESERVED_0   1
 
#define TMS570_IRQ_TIMER_0   2
 
#define TMS570_IRQ_TIMER_1   3
 
#define TMS570_IRQ_TIMER_2   4
 
#define TMS570_IRQ_TIMER_3   5
 
#define TMS570_IRQ_RTI_OVERFLOW_0   6
 
#define TMS570_IRQ_RTI_OVERFLOW_1   7
 
#define TMS570_IRQ_RTI_TIMEBASE   8
 
#define TMS570_IRQ_GIO_HIGH   9
 
#define TMS570_IRQ_HET_HIGH   10
 
#define TMS570_IRQ_HET_TU_HIGH   11
 
#define TMS570_IRQ_MIBSPI1_HIGH   12
 
#define TMS570_IRQ_SCI_LEVEL_0   13
 
#define TMS570_IRQ_ADC1_EVENT   14
 
#define TMS570_IRQ_ADC1_GROUP_1   15
 
#define TMS570_IRQ_CAN1_HIGH   16
 
#define TMS570_IRQ_RESERVED_1   17
 
#define TMS570_IRQ_FLEXRAY_HIGH   18
 
#define TMS570_IRQ_CRC_1   19
 
#define TMS570_IRQ_ESM_LOW   20
 
#define TMS570_IRQ_SSI   21
 
#define TMS570_IRQ_PMU   22
 
#define TMS570_IRQ_GIO_LOW   23
 
#define TMS570_IRQ_HET_LOW   24
 
#define TMS570_IRQ_HET_TU_LOW   25
 
#define TMS570_IRQ_MIBSPI1_LOW   26
 
#define TMS570_IRQ_SCI_LEVEL_1   27
 
#define TMS570_IRQ_ADC1_GROUP_2   28
 
#define TMS570_IRQ_CAN1_LOW   29
 
#define TMS570_IRQ_RESERVED_2   30
 
#define TMS570_IRQ_ADC1_MAG   31
 
#define TMS570_IRQ_FLEXRAY_LOW   32
 
#define TMS570_IRQ_DMA_FTCA   33
 
#define TMS570_IRQ_DMA_LFSA   34
 
#define TMS570_IRQ_CAN2_HIGH   35
 
#define TMS570_IRQ_DMM_HIGH   36
 
#define TMS570_IRQ_MIBSPI3_HIGH   37
 
#define TMS570_IRQ_MIBSPI3_LOW   38
 
#define TMS570_IRQ_DMA_HBCA   39
 
#define TMS570_IRQ_DMA_BTCA   40
 
#define TMS570_IRQ_DMA_BERA   41
 
#define TMS570_IRQ_CAN2_LOW   42
 
#define TMS570_IRQ_DMM_LOW   43
 
#define TMS570_IRQ_CAN1_IF3   44
 
#define TMS570_IRQ_CAN3_HIGH   45
 
#define TMS570_IRQ_CAN2_IF3   46
 
#define TMS570_IRQ_FPU   47
 
#define TMS570_IRQ_FLEXRAY_TU   48
 
#define TMS570_IRQ_SPI4_HIGH   49
 
#define TMS570_IRQ_ADC2_EVENT   50
 
#define TMS570_IRQ_ADC2_GROUP_1   51
 
#define TMS570_IRQ_FLEXRAY_T0C   52
 
#define TMS570_IRQ_MIBSPIP5_HIGH   53
 
#define TMS570_IRQ_SPI4_LOW   54
 
#define TMS570_IRQ_CAN3_LOW   55
 
#define TMS570_IRQ_MIBSPIP5_LOW   56
 
#define TMS570_IRQ_ADC2_GROUP_2   57
 
#define TMS570_IRQ_FLEXRAY_TU_ERROR   58
 
#define TMS570_IRQ_ADC2_MAG   59
 
#define TMS570_IRQ_CAN3_IF3   60
 
#define TMS570_IRQ_FSM_DONE   61
 
#define TMS570_IRQ_FLEXRAY_T1C   62
 
#define TMS570_IRQ_HET2_LEVEL_0   63
 
#define TMS570_IRQ_SCI2_LEVEL_0   64
 
#define TMS570_IRQ_HET_TU2_LEVEL_0   65
 
#define TMS570_IRQ_IC2_INTERRUPT   66
 
#define TMS570_IRQ_HET2_LEVEL_1   73
 
#define TMS570_IRQ_SCI2_LEVEL_1   74
 
#define TMS570_IRQ_HET_TU2_LEVEL_1   75
 
#define TMS570_IRQ_EMAC_MISC   76
 
#define TMS570_IRQ_EMAC_TX   77
 
#define TMS570_IRQ_EMAC_THRESH   78
 
#define TMS570_IRQ_EMAC_RX   79
 
#define TMS570_IRQ_HWAG1_INT_REQ_H   80
 
#define TMS570_IRQ_HWAG2_INT_REQ_H   81
 
#define TMS570_IRQ_DCC_DONE_INTERRUPT   82
 
#define TMS570_IRQ_DCC2_DONE_INTERRUPT   83
 
#define TMS570_IRQ_HWAG1_INT_REQ_L   88
 
#define TMS570_IRQ_HWAG2_INT_REQ_L   89
 
#define BSP_INTERRUPT_VECTOR_COUNT   95
 
#define TMS570_IRQ_PRIORITY_VALUE_MIN   0U
 
#define TMS570_IRQ_PRIORITY_VALUE_MAX   0U
 
#define TMS570_IRQ_PRIORITY_COUNT   ( TMS570_IRQ_PRIORITY_VALUE_MAX + 1U )
 
#define TMS570_IRQ_PRIORITY_HIGHEST   TMS570_IRQ_PRIORITY_VALUE_MIN
 
#define TMS570_IRQ_PRIORITY_LOWEST   TMS570_IRQ_PRIORITY_VALUE_MAX
 

Functions

rtems_status_code tms570_irq_set_priority (rtems_vector_number vector, uint32_t priority)
 Sets the priority of the interrupt vector.
 
rtems_status_code tms570_irq_get_priority (rtems_vector_number vector, uint32_t *priority)
 Gets the priority of the interrupt vector.
 

Detailed Description

This header file provides TMS570 interrupt definitions.

Function Documentation

◆ tms570_irq_get_priority()

rtems_status_code tms570_irq_get_priority ( rtems_vector_number  vector,
uint32_t *  priority 
)

Gets the priority of the interrupt vector.

The priority is defined by the VIM interrupt channel. The VIM Interrupt Control (CHANCTRL) registers are searched to get the channel associated with the interrupt vector.

Parameters
vectoris the number of the interrupt vector to set the priority.
priorityis the priority to set.
Return values
RTEMS_SUCCESSFULThe requested operation was successful.
RTEMS_INVALID_ADDRESSThe priority parameter was NULL.
RTEMS_INVALID_IDThere was no interrupt vector associated with the number specified by vector.
RTEMS_NOT_DEFINEDThe interrupt has no associated priority.

◆ tms570_irq_set_priority()

rtems_status_code tms570_irq_set_priority ( rtems_vector_number  vector,
uint32_t  priority 
)

Sets the priority of the interrupt vector.

The priority is defined by the VIM interrupt channel. Firstly, the VIM Interrupt Control (CHANCTRL) registers are searched to get the current channel associated with the interrupt vector. The interrupt vector of the channel associated with the priority is assigned to this channel. The specified interrupt vector is assigned to the channel associated with the priority. So, this function swaps the channels of two interrupt vectors.

Parameters
vectoris the number of the interrupt vector to set the priority.
priorityis the priority to set.
Return values
RTEMS_SUCCESSFULThe requested operation was successful.
RTEMS_INVALID_IDThere was no interrupt vector associated with the number specified by vector.
RTEMS_INVALID_PRIORITYThe interrupt priority specified in priority was invalid.