RTEMS: bsps/arm/lpc176x/include/bsp/irq.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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
91void lpc176x_irq_set_priority(
92 rtems_vector_number vector,
93 unsigned priority
94);
95
102unsigned lpc176x_irq_get_priority( rtems_vector_number vector );
103
104#endif /* ASM */
105
108#endif /* LIBBSP_ARM_LPC176X_IRQ_H */
irq.h
rtems_vector_number
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
lpc176x_irq_set_priority
void lpc176x_irq_set_priority(rtems_vector_number vector, unsigned priority)
Sets the priority according to the current interruption.
Definition: irq.c:44
lpc176x_irq_get_priority
unsigned lpc176x_irq_get_priority(rtems_vector_number vector)
Gets the priority number according to the current interruption.
Definition: irq.c:64
irq-extension.h
Header file for the Interrupt Manager Extension.
rtems.h