source: rtems/c/src/lib/libbsp/arm/lpc176x/include/irq.h @ 19260fb

4.115
Last change on this file since 19260fb was 19260fb, checked in by Martin Boretto <martin.boretto@…>, on Jun 9, 2014 at 2:27:18 PM

bsp/lpc176x: New BSP

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup bsp_interrupt
5 *
6 * @brief LPC176X interrupt definitions.
7 */
8
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.com/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
32/**
33 * @addtogroup bsp_interrupt
34 *
35 * @{
36 */
37
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
85/**
86 * @brief Sets the priority according to the current interruption.
87 *
88 * @param vector   Interrupt to be attended.
89 * @param priority Interrupts priority.
90 */
91void lpc176x_irq_set_priority(
92  rtems_vector_number vector,
93  unsigned            priority
94);
95
96/**
97 * @brief Gets the priority number according to the current interruption.
98 *
99 * @param  vector Interrupts to be attended.
100 * @return The priority number according to the current interruption.
101 */
102unsigned lpc176x_irq_get_priority( rtems_vector_number vector );
103
104#endif /* ASM */
105
106/** @} */
107
108#endif /* LIBBSP_ARM_LPC176X_IRQ_H */
Note: See TracBrowser for help on using the repository browser.