summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-07-21 08:38:04 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-07-21 08:38:04 +0000
commitd374492cc69fa8bd041852d868ae379b79c59ba4 (patch)
tree14fa506e5c9564844d5fa0436ae4d2d456a74dda /c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h
parentUpdate to binutils-2.19.51-20090721. (diff)
downloadrtems-d374492cc69fa8bd041852d868ae379b79c59ba4.tar.bz2
Update for MPC55XX changes
Diffstat (limited to '')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h69
1 files changed, 43 insertions, 26 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h b/c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h
index 90a129c234..6b2be34fe5 100644
--- a/c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h
+++ b/c/src/lib/libcpu/powerpc/mpc55xx/include/irq.h
@@ -33,57 +33,74 @@ extern "C" {
*/
/* Basics */
-#define MPC55XX_IRQ_MIN 0
-#define MPC55XX_IRQ_MAX 328
+#define MPC55XX_IRQ_MIN 0U
+#define MPC55XX_IRQ_MAX 328U
#define MPC55XX_IRQ_BASE MPC55XX_IRQ_MIN
-#define MPC55XX_IRQ_NUMBER (MPC55XX_IRQ_MAX + 1)
+#define MPC55XX_IRQ_NUMBER (MPC55XX_IRQ_MAX + 1U)
/* Software interrupts */
-#define MPC55XX_IRQ_SOFTWARE_MIN 0
-#define MPC55XX_IRQ_SOFTWARE_MAX 7
-#define MPC55XX_IRQ_SOFTWARE_NUMBER (MPC55XX_IRQ_SOFTWARE_MAX + 1)
+#define MPC55XX_IRQ_SOFTWARE_MIN 0U
+#define MPC55XX_IRQ_SOFTWARE_MAX 7U
+#define MPC55XX_IRQ_SOFTWARE_GET_INDEX( v) (v)
+#define MPC55XX_IRQ_SOFTWARE_GET_REQUEST( i) (i)
+#define MPC55XX_IRQ_SOFTWARE_NUMBER (MPC55XX_IRQ_SOFTWARE_MAX + 1U)
/* eDMA interrupts */
-#define MPC55XX_IRQ_EDMA_ERROR_LOW 10
-#define MPC55XX_IRQ_EDMA_ERROR_HIGH 210
-#define MPC55XX_IRQ_EDMA_REQUEST_LOW_MIN 11
-#define MPC55XX_IRQ_EDMA_REQUEST_LOW_MAX 42
-#define MPC55XX_IRQ_EDMA_REQUEST_HIGH_MIN 211
-#define MPC55XX_IRQ_EDMA_REQUEST_HIGH_MAX 242
-#define MPC55XX_IRQ_EDMA_GET_CHANNEL( i) (((i) > MPC55XX_IRQ_EDMA_REQUEST_LOW_MAX) ? ((i) - MPC55XX_IRQ_EDMA_REQUEST_HIGH_MIN + 32) : ((i) - MPC55XX_IRQ_EDMA_REQUEST_LOW_MIN))
-#define MPC55XX_IRQ_EDMA_GET_REQUEST( c) (((c) > 31) ? ((c) + MPC55XX_IRQ_EDMA_REQUEST_HIGH_MIN - 32) : ((c) + MPC55XX_IRQ_EDMA_REQUEST_LOW_MIN))
+#define MPC55XX_IRQ_EDMA_ERROR_LOW 10U
+#define MPC55XX_IRQ_EDMA_ERROR_HIGH 210U
+#define MPC55XX_IRQ_EDMA_REQUEST_LOW_MIN 11U
+#define MPC55XX_IRQ_EDMA_REQUEST_LOW_MAX 42U
+#define MPC55XX_IRQ_EDMA_REQUEST_HIGH_MIN 211U
+#define MPC55XX_IRQ_EDMA_REQUEST_HIGH_MAX 242U
+#define MPC55XX_IRQ_EDMA_GET_CHANNEL( v) (((v) > MPC55XX_IRQ_EDMA_REQUEST_LOW_MAX) ? ((v) + 32U - MPC55XX_IRQ_EDMA_REQUEST_HIGH_MIN) : ((v) - MPC55XX_IRQ_EDMA_REQUEST_LOW_MIN))
+#define MPC55XX_IRQ_EDMA_GET_REQUEST( c) (((c) >= 32U) ? ((c) - 32U + MPC55XX_IRQ_EDMA_REQUEST_HIGH_MIN) : ((c) + MPC55XX_IRQ_EDMA_REQUEST_LOW_MIN))
+
+/* SIU external interrupts */
+#define MPC55XX_IRQ_SIU_EXTERNAL_0 46U
+#define MPC55XX_IRQ_SIU_EXTERNAL_1 47U
+#define MPC55XX_IRQ_SIU_EXTERNAL_2 48U
+#define MPC55XX_IRQ_SIU_EXTERNAL_3 49U
+#define MPC55XX_IRQ_SIU_EXTERNAL_4_15 50U
+
+/* eMIOS interrupts */
+#define MPC55XX_IRQ_EMIOS_REQUEST_LOW_MIN 51U
+#define MPC55XX_IRQ_EMIOS_REQUEST_LOW_MAX 66U
+#define MPC55XX_IRQ_EMIOS_REQUEST_HIGH_MIN 202U
+#define MPC55XX_IRQ_EMIOS_REQUEST_HIGH_MAX 209U
+#define MPC55XX_IRQ_EMIOS_GET_CHANNEL( v) (((v) > MPC55XX_IRQ_EMIOS_REQUEST_LOW_MAX) ? ((v) + 16U - MPC55XX_IRQ_EMIOS_REQUEST_HIGH_MIN) : ((v) - MPC55XX_IRQ_EMIOS_REQUEST_LOW_MIN))
+#define MPC55XX_IRQ_EMIOS_GET_REQUEST( c) (((c) >= 16U) ? ((c) - 16U + MPC55XX_IRQ_EMIOS_REQUEST_HIGH_MIN) : ((c) + MPC55XX_IRQ_EMIOS_REQUEST_LOW_MIN))
/* Checks */
-#define MPC55XX_IRQ_IS_VALID(i) ((i) >= MPC55XX_IRQ_MIN && (i) <= MPC55XX_IRQ_MAX)
-#define MPC55XX_IRQ_IS_SOFTWARE(i) ((i) >= MPC55XX_IRQ_SOFTWARE_MIN && (i) <= MPC55XX_IRQ_SOFTWARE_MAX)
+#define MPC55XX_IRQ_IS_VALID(v) ((v) >= MPC55XX_IRQ_MIN && (v) <= MPC55XX_IRQ_MAX)
+#define MPC55XX_IRQ_IS_SOFTWARE(v) ((v) >= MPC55XX_IRQ_SOFTWARE_MIN && (v) <= MPC55XX_IRQ_SOFTWARE_MAX)
/*
* Interrupt controller
*/
-#define MPC55XX_INTC_INVALID_PRIORITY -1
-#define MPC55XX_INTC_DISABLED_PRIORITY 0
-#define MPC55XX_INTC_MIN_PRIORITY 1
-#define MPC55XX_INTC_MAX_PRIORITY 15
-#define MPC55XX_INTC_DEFAULT_PRIORITY MPC55XX_INTC_MIN_PRIORITY
+#define MPC55XX_INTC_MIN_PRIORITY 1U
+#define MPC55XX_INTC_MAX_PRIORITY 15U
+#define MPC55XX_INTC_DISABLED_PRIORITY 0U
+#define MPC55XX_INTC_INVALID_PRIORITY (MPC55XX_INTC_MAX_PRIORITY + 1)
+#define MPC55XX_INTC_DEFAULT_PRIORITY (MPC55XX_INTC_MIN_PRIORITY + 1)
#define MPC55XX_INTC_IS_VALID_PRIORITY(p) ((p) >= MPC55XX_INTC_DISABLED_PRIORITY && (p) <= MPC55XX_INTC_MAX_PRIORITY)
rtems_status_code mpc55xx_interrupt_handler_install(
rtems_vector_number vector,
- int priority,
const char *info,
rtems_option options,
+ unsigned priority,
rtems_interrupt_handler handler,
void *arg
);
-rtems_status_code mpc55xx_intc_get_priority( int i, int *p);
+rtems_status_code mpc55xx_intc_get_priority( rtems_vector_number vector, unsigned *priority);
-rtems_status_code mpc55xx_intc_set_priority( int i, int p);
+rtems_status_code mpc55xx_intc_set_priority( rtems_vector_number vector, unsigned priority);
-rtems_status_code mpc55xx_intc_raise_software_irq( int i);
+rtems_status_code mpc55xx_intc_raise_software_irq( rtems_vector_number vector);
-rtems_status_code mpc55xx_intc_clear_software_irq( int i);
+rtems_status_code mpc55xx_intc_clear_software_irq( rtems_vector_number vector);
#ifdef __cplusplus
};