2 * interrupts.h - arm exception handling header file
4 * author: hackbard@hackdaworld.org
16 #define INTERRUPT_MAX_VIC 16
18 #define INTERRUPT_WATCHDOG 0
19 #define INTERRUPT_DBG_COMM_RX 2
20 #define INTERRUPT_DBG_COMM_TX 3
21 #define INTERRUPT_TIMER0 4
22 #define INTERRUPT_TIMER1 5
23 #define INTERRUPT_UART0 6
24 #define INTERRUPT_UART1 7
25 #define INTERRUPT_PWM 8
26 #define INTERRUPT_I2C 9
27 #define INTERRUPT_SPI0 10
28 #define INTERRUPT_SPI1 11
29 #define INTERRUPT_PLL 12
30 #define INTERRUPT_RTC 13
31 #define INTERRUPT_EINT0 14
32 #define INTERRUPT_EINT1 15
33 #define INTERRUPT_EINT2 16
34 #define INTERRUPT_EINT3 17
35 #define INTERRUPT_ADC 18
37 #define INTERRUPT_IRQ 0
38 #define INTERRUPT_VIRQ 1
39 #define INTERRUPT_FIQ 2
41 #define INTERRUPT_EXT_MODE_EDGE 0
42 #define INTERRUPT_EXT_MODE_LEVEL 1
43 #define INTERRUPT_EXT_POLAR_LOW 0
44 #define INTERRUPT_EXT_POLAR_HIGH 1
46 #define INTERRUPT_SET 0x00
47 #define INTERRUPT_USED 0x01
48 #define INTERRUPT_PRIORITY_USED 0x02
50 /* type definitions */
52 typedef struct s_interrupt {
53 void (*default_soft_callback)(void);
56 /* function prototypes */
58 void interrupt_set_default_callback(t_interrupt *ir,void *callback);
60 void interrupt_ext_ir_conf(u8 pin,u8 mode,u8 polar,
61 void (*ext_ir_callback)(t_interrupt *ir));
63 void interrupt_handler_reset(void);
64 void interrupt_handler_undef_instruction(void);
65 void interrupt_handler_soft_ir(void);
66 void interrupt_handler_prefetch_abort(void);
67 void interrupt_handler_data_abort(void);
68 void interrupt_handler_fiq(void);