summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm/lpc22xx/irq
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-10-05 18:58:02 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-10-05 18:58:02 +0000
commit22f39fc0dc7231fd900ddad8376ddb0d41acec66 (patch)
tree222c863caecf326126fca3fb78564273f155123a /c/src/lib/libcpu/arm/lpc22xx/irq
parentRegenerate. (diff)
downloadrtems-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.c8
-rw-r--r--c/src/lib/libcpu/arm/lpc22xx/irq/irq.h1
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 */