RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
irq.h
Go to the documentation of this file.
1
9/*
10 * COPYRIGHT (c) 1989-2012.
11 * On-Line Applications Research Corporation (OAR).
12 *
13 * The license and distribution terms for this file may be
14 * found in the file LICENSE in this distribution or at
15 * http://www.rtems.org/license/LICENSE.
16 */
17
18#ifndef LIBBSP_MIPS_MALTA_IRQ_H
19#define LIBBSP_MIPS_MALTA_IRQ_H
20
21#ifndef ASM
22 #include <rtems.h>
23 #include <rtems/irq.h>
24 #include <rtems/irq-extension.h>
25 #include <rtems/score/mips.h>
26#endif
27
34#define BSP_INTERRUPT_VECTOR_MIN 0
35
36/*
37 * Interrupt Vector Numbers
38 *
39 * NOTE: Numbers 0-15 directly map to levels on the IRC.
40 * Number 16 is "1xxxx" per p. 164 of the TX3904 manual.
41 */
42#define MALTA_CPU_INT_START MIPS_INTERRUPT_BASE+0
43#define MALTA_CPU_INT_SW0 MALTA_CPU_INT_START+0
44#define MALTA_CPU_INT_SW2 MALTA_CPU_INT_START+1
45#define MALTA_CPU_INT0 MALTA_CPU_INT_START+2
46#define MALTA_CPU_INT1 MALTA_CPU_INT_START+3
47#define MALTA_CPU_INT2 MALTA_CPU_INT_START+4
48#define MALTA_CPU_INT3 MALTA_CPU_INT_START+5
49#define MALTA_CPU_INT4 MALTA_CPU_INT_START+6
50#define MALTA_CPU_INT5 MALTA_CPU_INT_START+7
51#define MALTA_CPU_INT_LAST MALTA_CPU_INT5
52
53#define MALTA_SB_IRQ_START MALTA_CPU_INT_LAST+1
54#define MALTA_SB_IRQ_0 MALTA_SB_IRQ_START+0
55#define MALTA_SB_IRQ_1 MALTA_SB_IRQ_START+1
56#define MALTA_SB_IRQ_2 MALTA_SB_IRQ_START+2
57#define MALTA_SB_IRQ_3 MALTA_SB_IRQ_START+3
58#define MALTA_SB_IRQ_4 MALTA_SB_IRQ_START+4
59#define MALTA_SB_IRQ_5 MALTA_SB_IRQ_START+5
60#define MALTA_SB_IRQ_6 MALTA_SB_IRQ_START+6
61#define MALTA_SB_IRQ_7 MALTA_SB_IRQ_START+7
62#define MALTA_SB_IRQ_8 MALTA_SB_IRQ_START+8
63#define MALTA_SB_IRQ_9 MALTA_SB_IRQ_START+9
64#define MALTA_SB_IRQ_10 MALTA_SB_IRQ_START+10
65#define MALTA_SB_IRQ_11 MALTA_SB_IRQ_START+11
66#define MALTA_SB_IRQ_12 MALTA_SB_IRQ_START+12
67#define MALTA_SB_IRQ_13 MALTA_SB_IRQ_START+13
68#define MALTA_SB_IRQ_14 MALTA_SB_IRQ_START+14
69#define MALTA_SB_IRQ_15 MALTA_SB_IRQ_START+15
70#define MALTA_SB_IRQ_LAST MALTA_SB_IRQ_15
71
72#define MALTA_PCI_ADP_START MALTA_SB_IRQ_LAST+1
73#define MALTA_PCI_ADP20 MALTA_PCI_ADP_START+0
74#define MALTA_PCI_ADP21 MALTA_PCI_ADP_START+1
75#define MALTA_PCI_ADP22 MALTA_PCI_ADP_START+2
76#define MALTA_PCI_ADP27 MALTA_PCI_ADP_START+3
77#define MALTA_PCI_ADP28 MALTA_PCI_ADP_START+4
78#define MALTA_PCI_ADP29 MALTA_PCI_ADP_START+5
79#define MALTA_PCI_ADP30 MALTA_PCI_ADP_START+6
80#define MALTA_PCI_ADP31 MALTA_PCI_ADP_START+7
81#define MALTA_PCI_ADP_LAST MALTA_PCI_ADP31
82#
83
84#define BSP_INTERRUPT_VECTOR_MAX MALTA_PCI_ADP_LAST
85
86/*
87 * Redefine interrupts with more descriptive names.
88 * The Generic ones above match the hardware name,
89 * where these match the device name.
90 */
91#define MALTA_INT_SOUTHBRIDGE_INTR MALTA_CPU_INT0
92#define MALTA_INT_SOUTHBRIDGE_SMI MALTA_CPU_INT1
93#define MALTA_INT_TTY2 MALTA_CPU_INT2
94#define MALTA_INT_COREHI MALTA_CPU_INT3
95#define MALTA_INT_CORELO MALTA_CPU_INT4
96#define MALTA_INT_TICKER MALTA_CPU_INT5
97
98#define MALTA_IRQ_TIMER_SOUTH_BRIDGE MALTA_SB_IRQ_0
99#define MALTA_IRQ_KEYBOARD_SUPERIO MALTA_SB_IRQ_1
100#define MALTA_IRQ_RESERVED1_SOUTH_BRIDGE MALTA_SB_IRQ_2
101#define MALTA_IRQ_TTY1 MALTA_SB_IRQ_3
102#define MALTA_IRQ_TTY0 MALTA_SB_IRQ_4
103#define MALTA_IRQ_NOT_USED MALTA_SB_IRQ_5
104#define MALTA_IRQ_FLOPPY_SUPERIO MALTA_SB_IRQ_6
105#define MALTA_IRQ_PARALLEL_PORT_SUPERIO MALTA_SB_IRQ_7
106#define MALTA_IRQ_REALTIME_CLOCK_SOUTH_BRIDGE MALTA_SB_IRQ_8
107#define MALTA_IRQ_I2C_SOUTH_BRIDGE MALTA_SB_IRQ_9
108/* PCI A, PCI B (including Ethernet) PCI slot 1..4, Ethernet */
109#define MALTA_IRQ_PCI_A_B MALTA_SB_IRQ_10
110/* PCI slot 1..4 (audio, USB) */
111#define MALTA_IRQ_PCI_C_D MALTA_SB_IRQ_11
112#define MALTA_IRQ_MOUSE_SUPERIO MALTA_SB_IRQ_12
113#define MALTA_IRQ_RESERVED2_SOUTH_BRIDGE MALTA_SB_IRQ_13
114#define MALTA_IRQ_PRIMARY_IDE MALTA_SB_IRQ_14
115#define MALTA_IRQ_SECONDARY_IDE MALTA_SB_IRQ_15
116#define MALTA_IRQ_SOUTH_BRIDGE MALTA_PCI_ADP20
117#define MALTA_IRQ_ETHERNET MALTA_IRQ_PCI_A_B
118#define MALTA_IRQ_AUDIO MALTA_PCI_ADP22
119#define MALTA_IRQ_CORE_CARD MALTA_PCI_ADP27
120#define MALTA_IRQ_PCI_CONNECTOR_1 MALTA_PCI_ADP28
121#define MALTA_IRQ_PCI_CONNECTOR_2 MALTA_PCI_ADP29
122#define MALTA_IRQ_PCI_CONNECTOR_3 MALTA_PCI_ADP30
123#define MALTA_IRQ_PCI_CONNECTOR_4 MALTA_PCI_ADP31
124
125#ifndef ASM
126
127#endif /* ASM */
128
131#endif /* LIBBSP_MIPS_MALTA_IRQ_H */
Header file for the Interrupt Manager Extension.
Information to build RTEMS for a "no cpu" while in protected mode.