summaryrefslogtreecommitdiff
path: root/nuttx/arch/z16/include/z16f/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/z16/include/z16f/irq.h')
-rw-r--r--nuttx/arch/z16/include/z16f/irq.h67
1 files changed, 39 insertions, 28 deletions
diff --git a/nuttx/arch/z16/include/z16f/irq.h b/nuttx/arch/z16/include/z16f/irq.h
index bcea8806c..e2ffd58b8 100644
--- a/nuttx/arch/z16/include/z16f/irq.h
+++ b/nuttx/arch/z16/include/z16f/irq.h
@@ -50,36 +50,47 @@
****************************************************************************/
/* Interrupt Vectors */
-
-#define Z16F_IRQ_RESET ( 0) /* Vector: 0x04 Reset */
-#define Z16F_IRQ_SYSEXC ( 1) /* Vector: 0x08 Sysexec */
-#define Z16F_IRQ_TIMER2 ( 2) /* Vector: 0x10 Timer 2 */
-#define Z16F_IRQ_TIMER1 ( 3) /* Vector: 0x14 Timer 1 */
-#define Z16F_IRQ_TIMER0 ( 4) /* Vector: 0x18 Timer 0 */
-#define Z16F_IRQ_UART0RX ( 5) /* Vector: 0x1C UART0 RX */
-#define Z16F_IRQ_UART0TX ( 6) /* Vector: 0x20 UART0 TX */
-#define Z16F_IRQ_I2C ( 7) /* Vector: 0x24 I2C */
-#define Z16F_IRQ_SPI ( 8) /* Vector: 0x28 SPI */
-#define Z16F_IRQ_ADC ( 9) /* Vector: 0x2C ADC */
-#define Z16F_IRQ_P7AD (10) /* Vector: 0x30 P7AD */
-#define Z16F_IRQ_P6AD (11) /* Vector: 0x34 P6AD */
-#define Z16F_IRQ_P5AD (12) /* Vector: 0x38 P5AD */
-#define Z16F_IRQ_P4AD (13) /* Vector: 0x3C P4AD */
-#define Z16F_IRQ_P3AD (14) /* Vector: 0x40 P3AD */
-#define Z16F_IRQ_P2AD (15) /* Vector: 0x44 P2AD */
-#define Z16F_IRQ_P1AD (16) /* Vector: 0x48 P1AD */
-#define Z16F_IRQ_P0AD (17) /* Vector: 0x4C P0AD */
-#define Z16F_IRQ_PWMTIMER (18) /* Vector: 0x50 PWM Timer */
-#define Z16F_IRQ_UART1RX (19) /* Vector: 0x54 UART1 RX */
-#define Z16F_IRQ_UART1TX (20) /* Vector: 0x58 UART1 TX */
-#define Z16F_IRQ_PWMFAULT (21) /* Vector: 0x5C PWM Fault */
-#define Z16F_IRQ_C3 (22) /* Vector: 0x60 C3 */
-#define Z16F_IRQ_C2 (23) /* Vector: 0x64 C2 */
-#define Z16F_IRQ_C1 (24) /* Vector: 0x68 C1 */
-#define Z16F_IRQ_C0 (25) /* Vector: 0x6C C0 */
+
+#define Z16F_IRQ_SYSEXC ( 0) /* Vector: 0x08 System Exceptions */
+
+#define Z16F_IRQ_IRQ0 ( 1) /* First of 8 IRQs controlled by IRQ0 registers */
+#define Z16F_IRQ_ADC ( 1) /* Vector: 0x2C IRQ0.0 ADC */
+#define Z16F_IRQ_SPI ( 2) /* Vector: 0x28 IRQ0.1 SPI */
+#define Z16F_IRQ_I2C ( 3) /* Vector: 0x24 IRQ0.2 I2C */
+#define Z16F_IRQ_UART0TX ( 4) /* Vector: 0x20 IRQ0.3 UART0 TX */
+#define Z16F_IRQ_UART0RX ( 5) /* Vector: 0x1C IRQ0.4 UART0 RX */
+#define Z16F_IRQ_TIMER0 ( 6) /* Vector: 0x18 IRQ0.5 Timer 0 */
+#define Z16F_IRQ_TIMER1 ( 7) /* Vector: 0x14 IRQ0.6 Timer 1 */
+#define Z16F_IRQ_TIMER2 ( 8) /* Vector: 0x10 IRQ0.7 Timer 2 */
+
+#define Z16F_IRQ_IRQ1 ( 9) /* First of 8 IRQs controlled by IRQ1 registers */
+#define Z16F_IRQ_P0AD ( 9) /* Vector: 0x4C IRQ1.0 Port A/D0, rising/falling edge */
+#define Z16F_IRQ_P1AD (10) /* Vector: 0x48 IRQ1.1 Port A/D1, rising/falling edge */
+#define Z16F_IRQ_P2AD (11) /* Vector: 0x44 IRQ1.2 Port A/D2, rising/falling edge */
+#define Z16F_IRQ_P3AD (12) /* Vector: 0x40 IRQ1.3 Port A/D3, rising/falling edge */
+#define Z16F_IRQ_P4AD (13) /* Vector: 0x3C IRQ1.4 Port A/D4, rising/falling edge */
+#define Z16F_IRQ_P5AD (14) /* Vector: 0x38 IRQ1.5 Port A/D5, rising/falling edge */
+#define Z16F_IRQ_P6AD (15) /* Vector: 0x34 IRQ1.6 Port A/D6, rising/falling edge */
+#define Z16F_IRQ_P7AD (16) /* Vector: 0x30 IRQ1.7 Port A/D7, rising/falling edge */
+
+#define Z16F_IRQ_IRQ2 (17) /* First of 8 IRQs controlled by IRQ2 registers */
+#define Z16F_IRQ_C0 (17) /* Vector: IRQ2.0 0x6C Port C0, both edges DMA3 */
+#define Z16F_IRQ_C1 (18) /* Vector: IRQ2.1 0x68 Port C1, both edges DMA3 */
+#define Z16F_IRQ_C2 (19) /* Vector: IRQ2.2 0x64 Port C2, both edges DMA3 */
+#define Z16F_IRQ_C3 (20) /* Vector: IRQ2.3 0x60 Port C3, both edges DMA3 */
+#define Z16F_IRQ_PWMFAULT (21) /* Vector: IRQ2.4 0x5C PWM Fault */
+#define Z16F_IRQ_UART1TX (22) /* Vector: IRQ2.5 0x58 UART1 TX */
+#define Z16F_IRQ_UART1RX (23) /* Vector: IRQ2.6 0x54 UART1 RX */
+#define Z16F_IRQ_PWMTIMER (24) /* Vector: IRQ2.7 0x50 PWM Timer */
#define Z16F_IRQ_SYSTIMER Z16F_IRQ_TIMER0
-#define NR_IRQS (26)
+#define NR_IRQS (25)
+
+/* These macros will map an IRQ to a register bit position */
+
+#define Z16F_IRQ0_BIT(i) (1 << ((i)-Z16F_IRQ_IRQ0))
+#define Z16F_IRQ1_BIT(i) (1 << ((i)-Z16F_IRQ_IRQ1))
+#define Z16F_IRQ2_BIT(i) (1 << ((i)-Z16F_IRQ_IRQ2))
/* IRQ Stack Frame Format
*