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) 2013 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_M68K_MCF548X_IRQ_H
37#define LIBBSP_M68K_MCF548X_IRQ_H
38
39#include <rtems.h>
40#include <rtems/irq.h>
41#include <rtems/irq-extension.h>
42
52#define MCF548X_IRQ_EPORT_EPF1 1
53#define MCF548X_IRQ_EPORT_EPF2 2
54#define MCF548X_IRQ_EPORT_EPF3 3
55#define MCF548X_IRQ_EPORT_EPF4 4
56#define MCF548X_IRQ_EPORT_EPF5 5
57#define MCF548X_IRQ_EPORT_EPF6 6
58#define MCF548X_IRQ_EPORT_EPF7 7
59#define MCF548X_IRQ_USB_EP0ISR 15
60#define MCF548X_IRQ_USB_EP1ISR 16
61#define MCF548X_IRQ_USB_EP2ISR 17
62#define MCF548X_IRQ_USB_EP3ISR 18
63#define MCF548X_IRQ_USB_EP4ISR 19
64#define MCF548X_IRQ_USB_EP5ISR 20
65#define MCF548X_IRQ_USB_EP6ISR 21
66#define MCF548X_IRQ_USB_ISR 22
67#define MCF548X_IRQ_USB_AISR 23
68#define MCF548X_IRQ_DSPI_RFOF_TFUF 25
69#define MCF548X_IRQ_DSPI_RFOF 26
70#define MCF548X_IRQ_DSPI_RFDF 27
71#define MCF548X_IRQ_DSPI_TFUF 28
72#define MCF548X_IRQ_DSPI_TCF 29
73#define MCF548X_IRQ_DSPI_TFFF 30
74#define MCF548X_IRQ_DSPI_EOQF 31
75#define MCF548X_IRQ_DSPI 25
76#define MCF548X_IRQ_PSC3 32
77#define MCF548X_IRQ_PSC2 33
78#define MCF548X_IRQ_PSC1 34
79#define MCF548X_IRQ_PSC0 35
80#define MCF548X_IRQ_PSC(i) (35 - (i))
81#define MCF548X_IRQ_COMMTIM 36
82#define MCF548X_IRQ_SEC 37
83#define MCF548X_IRQ_FEC1 38
84#define MCF548X_IRQ_FEC0 39
85#define MCF548X_IRQ_FEC(i) (39 - (i))
86#define MCF548X_IRQ_I2C 40
87#define MCF548X_IRQ_PCIARB 41
88#define MCF548X_IRQ_CBPCI 42
89#define MCF548X_IRQ_XLBPCI 43
90#define MCF548X_IRQ_XLBARB 47
91#define MCF548X_IRQ_DMA 48
92#define MCF548X_IRQ_CAN0_ERROR 49
93#define MCF548X_IRQ_CAN0_BUSOFF 50
94#define MCF548X_IRQ_CAN0_MBOR 51
95#define MCF548X_IRQ_SLT1 53
96#define MCF548X_IRQ_SLT0 54
97#define MCF548X_IRQ_CAN1_ERROR 55
98#define MCF548X_IRQ_CAN1_BUSOFF 56
99#define MCF548X_IRQ_CAN1_MBOR 57
100#define MCF548X_IRQ_GPT3 59
101#define MCF548X_IRQ_GPT2 60
102#define MCF548X_IRQ_GPT1 61
103#define MCF548X_IRQ_GPT0 62
104
105#define BSP_INTERRUPT_VECTOR_COUNT 64
106
107#define BSP_INTERRUPT_CUSTOM_VALID_VECTOR
108
109static inline bool bsp_interrupt_is_valid_vector(rtems_vector_number vector)
110{
111 return 1 <= vector
112 && vector < (rtems_vector_number) BSP_INTERRUPT_VECTOR_COUNT;
113}
114
115void mcf548x_interrupt_vector_install(rtems_vector_number vector);
116
117void mcf548x_interrupt_vector_remove(rtems_vector_number vector);
118
119#define bsp_interrupt_vector_install(v) mcf548x_interrupt_vector_install(v)
120
121#define bsp_interrupt_vector_remove(v) mcf548x_interrupt_vector_remove(v)
122
123#endif /* LIBBSP_M68K_MCF548X_IRQ_H */
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
This header file is provided for backward compatiblility.
This header file defines the RTEMS Classic API.