summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/include/kl/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/arch/arm/include/kl/irq.h')
-rw-r--r--nuttx/arch/arm/include/kl/irq.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/nuttx/arch/arm/include/kl/irq.h b/nuttx/arch/arm/include/kl/irq.h
index 78cb0be46..1d7a8e906 100644
--- a/nuttx/arch/arm/include/kl/irq.h
+++ b/nuttx/arch/arm/include/kl/irq.h
@@ -125,6 +125,52 @@
# define NR_VECTORS (64) /* 64 vectors */
# define NR_IRQS (48) /* 64 interrupts but 48 IRQ numbers */
+#elif defined(CONFIG_ARCH_CHIP_MKL26Z128)
+
+# define KL_IRQ_DMACH0 (16) /* Vector 16: DMA channel 0 transfer complete */
+# define KL_IRQ_DMACH1 (17) /* Vector 17: DMA channel 1 transfer complete */
+# define KL_IRQ_DMACH2 (18) /* Vector 18: DMA channel 2 transfer complete */
+# define KL_IRQ_DMACH3 (19) /* Vector 19: DMA channel 3 transfer complete */
+ /* Vector 20: Reserved */
+# define KL_IRQ_FTFA (21) /* Vector 21: FTFA */
+# define KL_IRQ_LVDLVW (22) /* Vector 22: LVD_LVW */
+# define KL_IRQ_LLW (23) /* Vector 23: LLW */
+# define KL_IRQ_I2C0 (24) /* Vector 24: I2C0 */
+# define KL_IRQ_I2C1 (25) /* Vector 25: I2C1 */
+# define KL_IRQ_SPI0 (26) /* Vector 26: SPI0 */
+# define KL_IRQ_SPI1 (27) /* Vector 27: SPI1 */
+# define KL_IRQ_UART0 (28) /* Vector 28: UART0 */
+# define KL_IRQ_UART1 (29) /* Vector 29: UART1 */
+# define KL_IRQ_UART2 (30) /* Vector 30: UART2 */
+# define KL_IRQ_ADC0 (31) /* Vector 31: Analog Device Converter 0 */
+# define KL_IRQ_CMP0 (32) /* Vector 32: Comparator 0 */
+# define KL_IRQ_TPM0 (33) /* Vector 33: Timer/PWM Module 0 */
+# define KL_IRQ_TPM1 (34) /* Vector 34: Timer/PWM Module 1 */
+# define KL_IRQ_TPM2 (35) /* Vector 35: Timer/PWM Module 2 */
+# define KL_IRQ_RTC (36) /* Vector 36: Realtime Clock */
+# define KL_IRQ_RTCSEC (37) /* Vector 37: Realtime Clock, seconds interrupt */
+# define KL_IRQ_PIT (38) /* Vector 38: Programmable Interrupt Timer */
+ /* Vector 39: Reserved */
+# define KL_IRQ_USB0 (40) /* Vector 40: USB0 */
+# define KL_IRQ_DAC0 (41) /* Vector 41: Digital Analog Converter 0 */
+# define KL_IRQ_TSI0 (42) /* Vector 42: TSI0 */
+# define KL_IRQ_MCG (43) /* Vector 43: MCG */
+# define KL_IRQ_LPTIMER (44) /* Vector 44: Low Power Timer */
+ /* Vector 45: Reserved */
+# define KL_IRQ_PORTA (46) /* Vector 46: GPIO Port A */
+# define KL_IRQ_PORTD (47) /* Vector 47: GPIO Port D */
+
+/* Note that the total number of IRQ numbers supported is equal to the number of
+ * valid interrupt vectors. This is wasteful in that certain tables are sized by
+ * this value. There are only 94 valid interrupts so, potentially the numver of
+ * IRQs to could be reduced to 94. However, equating IRQ numbers with vector numbers
+ * also simplifies operations on NVIC registers and (at least in my state of mind
+ * now) seems to justify the waste.
+ */
+
+# define NR_VECTORS (64) /* 64 vectors */
+# define NR_IRQS (48) /* 64 interrupts but 48 IRQ numbers */
+
#else
/* The interrupt vectors for other parts are defined in other documents and may or
* may not be the same as above (the family members are all very similar) This