RTEMS 6.1-rc7
Loading...
Searching...
No Matches
irq.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2008, 2012 embedded brains GmbH & Co. KG
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36#ifndef LIBBSP_ARM_LPC24XX_IRQ_H
37#define LIBBSP_ARM_LPC24XX_IRQ_H
38
39#ifndef ASM
40 #include <rtems.h>
41 #include <rtems/irq.h>
42 #include <rtems/irq-extension.h>
43#endif
44
51#ifdef ARM_MULTILIB_ARCH_V4
52 #define LPC24XX_IRQ_WDT 0
53 #define LPC24XX_IRQ_SOFTWARE 1
54 #define LPC24XX_IRQ_ARM_CORE_0 2
55 #define LPC24XX_IRQ_ARM_CORE_1 3
56 #define LPC24XX_IRQ_TIMER_0 4
57 #define LPC24XX_IRQ_TIMER_1 5
58 #define LPC24XX_IRQ_UART_0 6
59 #define LPC24XX_IRQ_UART_1 7
60 #define LPC24XX_IRQ_PWM 8
61 #define LPC24XX_IRQ_I2C_0 9
62 #define LPC24XX_IRQ_SPI_SSP_0 10
63 #define LPC24XX_IRQ_SSP_1 11
64 #define LPC24XX_IRQ_PLL 12
65 #define LPC24XX_IRQ_RTC 13
66 #define LPC24XX_IRQ_EINT_0 14
67 #define LPC24XX_IRQ_EINT_1 15
68 #define LPC24XX_IRQ_EINT_2 16
69 #define LPC24XX_IRQ_EINT_3 17
70 #define LPC24XX_IRQ_ADC_0 18
71 #define LPC24XX_IRQ_I2C_1 19
72 #define LPC24XX_IRQ_BOD 20
73 #define LPC24XX_IRQ_ETHERNET 21
74 #define LPC24XX_IRQ_USB 22
75 #define LPC24XX_IRQ_CAN 23
76 #define LPC24XX_IRQ_SD_MMC 24
77 #define LPC24XX_IRQ_DMA 25
78 #define LPC24XX_IRQ_TIMER_2 26
79 #define LPC24XX_IRQ_TIMER_3 27
80 #define LPC24XX_IRQ_UART_2 28
81 #define LPC24XX_IRQ_UART_3 29
82 #define LPC24XX_IRQ_I2C_2 30
83 #define LPC24XX_IRQ_I2S 31
84
85 #define BSP_INTERRUPT_VECTOR_COUNT 32
86#else
87 #define LPC24XX_IRQ_WDT 0
88 #define LPC24XX_IRQ_TIMER_0 1
89 #define LPC24XX_IRQ_TIMER_1 2
90 #define LPC24XX_IRQ_TIMER_2 3
91 #define LPC24XX_IRQ_TIMER_3 4
92 #define LPC24XX_IRQ_UART_0 5
93 #define LPC24XX_IRQ_UART_1 6
94 #define LPC24XX_IRQ_UART_2 7
95 #define LPC24XX_IRQ_UART_3 8
96 #define LPC24XX_IRQ_PWM_1 9
97 #define LPC24XX_IRQ_I2C_0 10
98 #define LPC24XX_IRQ_I2C_1 11
99 #define LPC24XX_IRQ_I2C_2 12
100 #define LPC24XX_IRQ_SPI_SSP_0 14
101 #define LPC24XX_IRQ_SSP_1 15
102 #define LPC24XX_IRQ_PLL 16
103 #define LPC24XX_IRQ_RTC 17
104 #define LPC24XX_IRQ_EINT_0 18
105 #define LPC24XX_IRQ_EINT_1 19
106 #define LPC24XX_IRQ_EINT_2 20
107 #define LPC24XX_IRQ_EINT_3 21
108 #define LPC24XX_IRQ_ADC_0 22
109 #define LPC24XX_IRQ_BOD 23
110 #define LPC24XX_IRQ_USB 24
111 #define LPC24XX_IRQ_CAN 25
112 #define LPC24XX_IRQ_DMA 26
113 #define LPC24XX_IRQ_I2S 27
114 #define LPC24XX_IRQ_ETHERNET 28
115 #define LPC24XX_IRQ_SD_MMC 29
116 #define LPC24XX_IRQ_MCPWM 30
117 #define LPC24XX_IRQ_QEI 31
118 #define LPC24XX_IRQ_PLL_ALT 32
119 #define LPC24XX_IRQ_USB_ACTIVITY 33
120 #define LPC24XX_IRQ_CAN_ACTIVITY 34
121 #define LPC24XX_IRQ_UART_4 35
122 #define LPC24XX_IRQ_SSP_2 36
123 #define LPC24XX_IRQ_LCD 37
124 #define LPC24XX_IRQ_GPIO 38
125 #define LPC24XX_IRQ_PWM 39
126 #define LPC24XX_IRQ_EEPROM 40
127
128 #define BSP_INTERRUPT_VECTOR_COUNT 41
129#endif
130
131#define LPC24XX_IRQ_PRIORITY_VALUE_MIN 0
132#ifdef ARM_MULTILIB_ARCH_V4
133 #define LPC24XX_IRQ_PRIORITY_VALUE_MAX 15
134#else
135 #define LPC24XX_IRQ_PRIORITY_VALUE_MAX 255
136#endif
137#define LPC24XX_IRQ_PRIORITY_COUNT (LPC24XX_IRQ_PRIORITY_VALUE_MAX + 1)
138#define LPC24XX_IRQ_PRIORITY_HIGHEST LPC24XX_IRQ_PRIORITY_VALUE_MIN
139#define LPC24XX_IRQ_PRIORITY_LOWEST LPC24XX_IRQ_PRIORITY_VALUE_MAX
140
143#endif /* LIBBSP_ARM_LPC24XX_IRQ_H */
This header file is provided for backward compatiblility.
This header file defines the RTEMS Classic API.