RTEMS  5.1
irq.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
11  *
12  * embedded brains GmbH
13  * Obere Lagerstr. 30
14  * 82178 Puchheim
15  * Germany
16  * <rtems@embedded-brains.de>
17  *
18  * The license and distribution terms for this file may be
19  * found in the file LICENSE in this distribution or at
20  * http://www.rtems.org/license/LICENSE.
21  */
22 
23 #ifndef LIBBSP_ARM_LPC176X_IRQ_H
24 #define LIBBSP_ARM_LPC176X_IRQ_H
25 
26 #ifndef ASM
27 #include <rtems.h>
28 #include <rtems/irq.h>
29 #include <rtems/irq-extension.h>
30 #endif
31 
38 #define BSP_INTERRUPT_VECTOR_MIN 0U
39 
40 #define LPC176X_IRQ_WDT 0U
41 #define LPC176X_IRQ_TIMER_0 1U
42 #define LPC176X_IRQ_TIMER_1 2U
43 #define LPC176X_IRQ_TIMER_2 3U
44 #define LPC176X_IRQ_TIMER_3 4U
45 #define LPC176X_IRQ_UART_0 5U
46 #define LPC176X_IRQ_UART_1 6U
47 #define LPC176X_IRQ_UART_2 7U
48 #define LPC176X_IRQ_UART_3 8U
49 #define LPC176X_IRQ_PWM_1 9U
50 #define LPC176X_IRQ_PLL 16U
51 #define LPC176X_IRQ_RTC 17U
52 #define LPC176X_IRQ_EINT_0 18U
53 #define LPC176X_IRQ_EINT_1 19U
54 #define LPC176X_IRQ_EINT_2 20U
55 #define LPC176X_IRQ_EINT_3 21U
56 #define LPC176X_IRQ_ADC_0 22U
57 #define LPC176X_IRQ_BOD 23U
58 #define LPC176X_IRQ_USB 24U
59 #define LPC176X_IRQ_CAN 25U
60 #define LPC176X_IRQ_DMA 26U
61 #define LPC176X_IRQ_I2S 27U
62 #define LPC176X_IRQ_SD_MMC 29U
63 #define LPC176X_IRQ_MCPWM 30U
64 #define LPC176X_IRQ_QEI 31U
65 #define LPC176X_IRQ_PLL_ALT 32U
66 #define LPC176X_IRQ_USB_ACTIVITY 33U
67 #define LPC176X_IRQ_CAN_ACTIVITY 34U
68 #define LPC176X_IRQ_UART_4 35U
69 #define LPC176X_IRQ_GPIO 38U
70 #define LPC176X_IRQ_PWM 39U
71 #define LPC176X_IRQ_EEPROM 40U
72 
73 #define BSP_INTERRUPT_VECTOR_MAX 40
74 
75 #define LPC176X_IRQ_PRIORITY_VALUE_MIN 0U
76 
77 #define LPC176X_IRQ_PRIORITY_VALUE_MAX 31U
78 
79 #define LPC176X_IRQ_PRIORITY_COUNT ( LPC176X_IRQ_PRIORITY_VALUE_MAX + 1U )
80 #define LPC176X_IRQ_PRIORITY_HIGHEST LPC176X_IRQ_PRIORITY_VALUE_MIN
81 #define LPC176X_IRQ_PRIORITY_LOWEST LPC176X_IRQ_PRIORITY_VALUE_MAX
82 
83 #ifndef ASM
84 
92  rtems_vector_number vector,
93  unsigned priority
94 );
95 
103 
104 #endif /* ASM */
105 
108 #endif /* LIBBSP_ARM_LPC176X_IRQ_H */
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
unsigned lpc176x_irq_get_priority(rtems_vector_number vector)
Gets the priority number according to the current interruption.
Definition: irq.c:64
Header file for the Interrupt Manager Extension.
void lpc176x_irq_set_priority(rtems_vector_number vector, unsigned priority)
Sets the priority according to the current interruption.
Definition: irq.c:44