File size: 783 Bytes
829b19c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /*
* HAL — Interrupt Controller driver for OMAP3530 AINTC
* 96 interrupt lines, mapped to ARM IRQ/FIQ
*/
#ifndef FIRMWARE_HAL_INTERRUPT_H
#define FIRMWARE_HAL_INTERRUPT_H
#include "../common/types.h"
#include "../common/platform.h"
#define INTC_NUM_IRQS 96
#define INTC_NUM_MIR_REGS 3 /* 3 × 32 = 96 */
typedef void (*irq_handler_t)(uint8_t irq_num);
void intc_init(void);
void intc_enable_irq(uint8_t irq_num);
void intc_disable_irq(uint8_t irq_num);
void intc_set_irq_handler(uint8_t irq_num, irq_handler_t handler);
uint8_t intc_get_active_irq(void);
void intc_ack_irq(void);
void intc_enable(void);
void intc_disable(void);
/* Called from ARM IRQ exception handler */
void intc_handle_irq(void);
#endif /* FIRMWARE_HAL_INTERRUPT_H */
|