diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-10-05 18:58:02 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-10-05 18:58:02 +0000 |
commit | 22f39fc0dc7231fd900ddad8376ddb0d41acec66 (patch) | |
tree | 222c863caecf326126fca3fb78564273f155123a /c/src/lib/libcpu/arm/lpc22xx/irq | |
parent | Regenerate. (diff) | |
download | rtems-22f39fc0dc7231fd900ddad8376ddb0d41acec66.tar.bz2 |
2007-10-05 Ray Xu <xr@trasin.net>
* lpc22xx/clock/clockdrv.c, lpc22xx/irq/irq.c, lpc22xx/irq/irq.h: Now
runs in Skyeye.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libcpu/arm/lpc22xx/irq/irq.c | 8 | ||||
-rw-r--r-- | c/src/lib/libcpu/arm/lpc22xx/irq/irq.h | 1 |
2 files changed, 4 insertions, 5 deletions
diff --git a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c index 1592d88407..cf2287d070 100644 --- a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c +++ b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c @@ -37,7 +37,6 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) rtems_interrupt_level level; rtems_irq_hdl *bsp_tbl; int *vic_cntl; - static int irq_counter = 0; bsp_tbl = (rtems_irq_hdl *)VICVectAddrBase; @@ -51,7 +50,7 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) * Check if default handler is actually connected. If not issue an error. */ - if (bsp_tbl[irq_counter] != default_int_handler) { + if (bsp_tbl[irq->name] != default_int_handler) { return 0; } @@ -60,12 +59,12 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) /* * store the new handler */ - bsp_tbl[irq_counter] = irq->hdl; + bsp_tbl[irq->name] = irq->hdl; /* *(volatile unsigned long*)(VICVectAddr0+(irq->name * 4)&0x7c )= (uint32_t) irq->hdl;*/ /* * Enable interrupt on device */ - vic_cntl[irq_counter] = 0x20 | irq->name; + vic_cntl[irq->name] = 0x20 | irq->name; VICIntEnable |= 1 << irq->name; @@ -74,7 +73,6 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) irq->on(irq); } - irq_counter++; rtems_interrupt_enable(level); diff --git a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.h b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.h index 69a2ef596a..428530958a 100644 --- a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.h +++ b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.h @@ -54,6 +54,7 @@ extern void default_int_handler(); #define LPC22xx_INTERRUPT_EINT2 16 /* Externel Interrupt 2 */ #define LPC22xx_INTERRUPT_EINT3 17 /* Externel Interrupt 3 */ #define LPC22xx_INTERRUPT_ADC 18 /* AD Converter */ +/* Following interrupt used by lpc229x */ #define LPC22xx_INTERRUPT_CANERR 19 /* CAN LUTerr interrupt */ #define LPC22xx_INTERRUPT_CAN1TX 20 /* CAN1 Tx interrupt */ #define LPC22xx_INTERRUPT_CAN1RX 21 /* CAN1 Rx interrupt */ |