#ifndef __irqvec_h__
#define __irqvec_h__

/* 
 * Interrupt (IRQ) vector definitions for Philips LPC210x (ARM7TDMI-S)
 *
 * Added additional vectors for LPC213x series, and changed prefix to 
 * LPC21XX
 *
 * Tim Meese
 * $Id: irqvec.h,v 1.0 2004-07-22 22:55:59-07 tim Exp tim $
 * 
 */

/* Interrupt Vector Numbers */

#define LPC21XX_IRQVEC_WATCHDOG  (0)
#define LPC21XX_IRQVEC_SOFTIRQ   (1)
#define LPC21XX_IRQVEC_DBGCOMMRX (2)
#define LPC21XX_IRQVEC_DBGCOMMTX (3)
#define LPC21XX_IRQVEC_TIMER0    (4)
#define LPC21XX_IRQVEC_TIMER1    (5)
#define LPC21XX_IRQVEC_UART0     (6)
#define LPC21XX_IRQVEC_UART1     (7)
#define LPC21XX_IRQVEC_PWM0      (8)
#define LPC21XX_IRQVEC_I2C       (LPC21XX_IRQVEC_I2C0)
#define LPC21XX_IRQVEC_I2C0      (9)
#define LPC21XX_IRQVEC_SPI       (10)
#define LPC21XX_IRQVEC_SSP       (11)
#define LPC21XX_IRQVEC_PLL_LOCK  (12)
#define LPC21XX_IRQVEC_RTC       (13)
#define LPC21XX_IRQVEC_EINT0     (14)
#define LPC21XX_IRQVEC_EINT1     (15)
#define LPC21XX_IRQVEC_EINT2     (16)
#define LPC21XX_IRQVEC_EINT3     (17)
#define LPC21XX_IRQVEC_ADC0      (18) // A/D converter 0
#define LPC21XX_IRQVEC_I2C1      (19) // SI (state change)
#define LPC21XX_IRQVEC_BOD       (20) // Brown out detect
#define LPC21XX_IRQVEC_ADC1      (21) // A/D converter 1

#define LPC21XX_IRQVEC_FIRST     (LPC21XX_IRQVEC_WATCHDOG)
#define LPC21XX_IRQVEC_LAST      (LPC21XX_IRQVEC_ADC1)

#define VECNUM_TO_MASK(q) (0x1 << (q))

#endif /* __irqvec_h__ */
