summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc24xx/irq
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-15 15:20:47 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-15 15:20:47 +0000
commitc468f18bb73a570bf2b3eb279a7dea60b91c3319 (patch)
treeb181297c2b4a0f8fa3edbb9987fd99a3ecc45a8b /c/src/lib/libbsp/arm/lpc24xx/irq
parentadd support for ARM11, reimplement nested interrupts (diff)
downloadrtems-c468f18bb73a570bf2b3eb279a7dea60b91c3319.tar.bz2
add support for LPC32xx
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx/irq')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/irq/irq.c35
1 files changed, 16 insertions, 19 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c
index 0c5e9a307d..d3073315f8 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c
+++ b/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c
@@ -23,14 +23,14 @@
#include <bsp/irq-generic.h>
#include <bsp/lpc24xx.h>
-static inline bool lpc24xx_irq_is_valid( rtems_vector_number vector)
+static inline bool lpc24xx_irq_is_valid(rtems_vector_number vector)
{
return vector <= BSP_INTERRUPT_VECTOR_MAX;
}
-void lpc24xx_irq_set_priority( rtems_vector_number vector, unsigned priority)
+void lpc24xx_irq_set_priority(rtems_vector_number vector, unsigned priority)
{
- if (lpc24xx_irq_is_valid( vector)) {
+ if (lpc24xx_irq_is_valid(vector)) {
if (priority > LPC24XX_IRQ_PRIORITY_VALUE_MAX) {
priority = LPC24XX_IRQ_PRIORITY_VALUE_MAX;
}
@@ -39,16 +39,16 @@ void lpc24xx_irq_set_priority( rtems_vector_number vector, unsigned priority)
}
}
-unsigned lpc24xx_irq_priority( rtems_vector_number vector)
+unsigned lpc24xx_irq_get_priority(rtems_vector_number vector)
{
- if (lpc24xx_irq_is_valid( vector)) {
+ if (lpc24xx_irq_is_valid(vector)) {
return VICVectPriorityBase [vector];
} else {
return LPC24XX_IRQ_PRIORITY_VALUE_MIN - 1U;
}
}
-void bsp_interrupt_dispatch( void)
+void bsp_interrupt_dispatch(void)
{
/* Read current vector number */
rtems_vector_number vector = VICVectAddr;
@@ -57,37 +57,34 @@ void bsp_interrupt_dispatch( void)
uint32_t psr = arm_status_irq_enable();
/* Dispatch interrupt handlers */
- bsp_interrupt_handler_dispatch( vector);
+ bsp_interrupt_handler_dispatch(vector);
/* Restore program status register */
- arm_status_restore( psr);
+ arm_status_restore(psr);
/* Acknowledge interrupt */
VICVectAddr = 0;
}
-rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
{
- if (lpc24xx_irq_is_valid( vector)) {
+ if (lpc24xx_irq_is_valid(vector)) {
VICIntEnable = 1U << vector;
}
return RTEMS_SUCCESSFUL;
}
-rtems_status_code bsp_interrupt_vector_disable( rtems_vector_number vector)
+rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
{
- if (lpc24xx_irq_is_valid( vector)) {
+ if (lpc24xx_irq_is_valid(vector)) {
VICIntEnClear = 1U << vector;
}
return RTEMS_SUCCESSFUL;
}
-/* FIXME */
-void arm_exc_interrupt( void);
-
-rtems_status_code bsp_interrupt_facility_initialize( void)
+rtems_status_code bsp_interrupt_facility_initialize(void)
{
volatile uint32_t *addr = VICVectAddrBase;
volatile uint32_t *prio = VICVectPriorityBase;
@@ -117,12 +114,12 @@ rtems_status_code bsp_interrupt_facility_initialize( void)
VICVectAddr = 0;
/* Install the IRQ exception handler */
- _CPU_ISR_install_vector( ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL);
+ _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL);
return RTEMS_SUCCESSFUL;
}
-void bsp_interrupt_handler_default( rtems_vector_number vector)
+void bsp_interrupt_handler_default(rtems_vector_number vector)
{
- printk( "spurious interrupt: %u\n", vector);
+ printk("spurious interrupt: %u\n", vector);
}