1 /******************************************************************************
2 *                                                                             *
3 * License Agreement                                                           *
4 *                                                                             *
5 * Copyright (c) 2009 Altera Corporation, San Jose, California, USA.           *
6 * All rights reserved.                                                        *
7 *                                                                             *
8 * Permission is hereby granted, free of charge, to any person obtaining a     *
9 * copy of this software and associated documentation files (the "Software"),  *
10 * to deal in the Software without restriction, including without limitation   *
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,    *
12 * and/or sell copies of the Software, and to permit persons to whom the       *
13 * Software is furnished to do so, subject to the following conditions:        *
14 *                                                                             *
15 * The above copyright notice and this permission notice shall be included in  *
16 * all copies or substantial portions of the Software.                         *
17 *                                                                             *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  *
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,    *
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE *
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      *
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING     *
23 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER         *
24 * DEALINGS IN THE SOFTWARE.                                                   *
25 *                                                                             *
26 *                                                                             *
27 ******************************************************************************/
28 
29 /*
30  * Support for the Nios II internal interrupt controller.
31  */
32 
33 #ifndef __ALT_NIOS2_GEN2_IRQ_H__
34 #define __ALT_NIOS2_GEN2_IRQ_H__
35 
36 #ifdef __cplusplus
37 extern "C"
38 {
39 #endif /* __cplusplus */
40 
41 /*
42  * The macro ALTERA_NIOS2_GEN2_IRQ_INSTANCE is used by the alt_irq_init()
43  * function in the auto-generated file alt_sys_init.c to create an
44  * instance of this interrupt controller device driver state if this
45  * module contains an interrupt controller.
46  * Only one instance of a Nios II is allowed so this macro is just empty.
47  */
48 
49 #define ALTERA_NIOS2_GEN2_IRQ_INSTANCE(name, state)
50 
51 /*
52  * altera_nios2_gen2_irq_init() is called by the auto-generated function
53  * alt_irq_init() once for the Nios II if it contains an interrupt controller.
54  * The altera_nios2_gen2_irq_init() routine is called using the
55  * ALTERA_NIOS2_GEN2_IRQ_INIT macro given below.
56  *
57  * This function initializes the internal interrupt controller
58  * so is not called if the Nios II contains an external interrupt
59  * controller port (because the internal interrupt controller
60  * is removed if this port is present).
61  */
62 
63 extern void altera_nios2_gen2_irq_init( void );
64 
65 /*
66  * The macro ALTERA_NIOS2_GEN2_IRQ_INIT is used by the alt_irq_init() routine
67  * in the auto-generated file alt_sys_init.c to initialize an instance
68  * of the interrupt controller device driver state.
69  */
70 
71 #define ALTERA_NIOS2_GEN2_IRQ_INIT(name, state) altera_nios2_gen2_irq_init()
72 
73 #ifdef __cplusplus
74 }
75 #endif /* __cplusplus */
76 
77 #endif /* __ALT_NIOS2_ULTRA_IRQ_H__ */
78