core/system/irq.h File Reference

Go to the source code of this file.

Defines

#define __irq
#define __fiq
#define NESTED_INTERRUPT   0
#define I_Bit   0x80
#define F_Bit   0x40
#define SYS32Mode   0x1f
#define IRQ32Mode   0x12
#define FIQ32Mode   0x11
#define WDT_INT   0
#define SWI_INT   1
#define ARM_CORE0_INT   2
#define ARM_CORE1_INT   3
#define TIMER0_INT   4
#define TIMER1_INT   5
#define UART0_INT   6
#define UART1_INT   7
#define PWM0_INT   8
#define I2C0_INT   9
#define SPI0_INT   10
#define SPI1_INT   11
#define PLL_INT   12
#define RTC_INT   13
#define EINT0_INT   14
#define EINT1_INT   15
#define EINT2_INT   16
#define EINT3_INT   17
#define ADC0_INT   18
#define I2C1_INT   19
#define BOD_INT   20
#define ADC1_INT   21
#define USB_INT   22
#define IRQ_SLOT_EN   0x20
#define VIC_SIZE   16
#define VECT_ADDR_INDEX   0x100
#define VECT_CNTL_INDEX   0x200
#define IENABLE   ;
#define IDISABLE   ;

Functions

void irq_vic_init (void)
bool_t irq_install (uint32_t number, void *p_handler)
bool_t irq_uninstall (uint32_t number)

Detailed Description

Low-level interrupt support function.

Definition in file irq.h.


Function Documentation

bool_t irq_install ( uint32_t  number,
void *  p_handler 
)

Install interrupt handler.

The maximum VIC size is 16 but there are 32 interrupt request inputs. Not all of them can be installed into the VIC table at the same time. The order of the interrupt request installation is first come, first served.

Parameters:
number Number of interrupt.
p_handler Address of interrupt handler.
Returns:
true on success, false if the table was full.

Definition at line 79 of file irq.c.

bool_t irq_uninstall ( uint32_t  number  ) 

Uninstall interrupt handler.

Find the interrupt handler installed in the VIC based on the interrupt number, set the location back to NULL to uninstall it.

Parameters:
number Number of interrupt.
Returns:
true on success, false if the interrupt number was not found.

Definition at line 121 of file irq.c.

void irq_vic_init ( void   ) 

Initialize VIC interrupt controller.

Definition at line 42 of file irq.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Defines

Generated by  doxygen 1.6.2