RTEMS 7.0-rc1
Loading...
Searching...
No Matches
opbintctrl.h
1/* SPDX-License-Identifier: GPL-2.0+-with-RTEMS-exception */
2
3/* opbintctrl.h
4 *
5 * This file contains definitions and declarations for the
6 * Xilinx Off Processor Bus (OPB) Interrupt Controller
7 *
8 * Author: Keith Robertson <kjrobert@alumni.uwaterloo.ca>
9 * COPYRIGHT (c) 2005 by Linn Products Ltd, Scotland
10 *
11 * The license and distribution terms for this file may be
12 * found in the file LICENSE in this distribution or at
13 * http://www.rtems.org/license/LICENSE.
14 */
15
16#ifndef _INCLUDE_OPBINTCTRL_H
17#define _INCLUDE_OPBINTCTRL_H
18
19#include <rtems.h>
20#include <rtems/score/isr.h>
21#include <rtems/irq.h>
22#include <bspopts.h>
23#include RTEMS_XPARAMETERS_H
24
25#define USE_GREG_INTERRUPTS
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31
32/* extern XIntc InterruptController;
33 */
34
35
36/* Maximum number of IRQs. Defined in vhdl model */
37#define OPB_INTC_IRQ_MAX XPAR_INTC_MAX_NUM_INTR_INPUTS
38
39/* Width of INTC registers. Defined in vhdl model */
40#define OPB_INTC_REGISTER_WIDTH 32
41
42/* Base Register address and register offsets. Defined in vhdl model */
43#define OPB_INTC_BASE XPAR_INTC_SINGLE_BASEADDR
44
45
46
47
48
49/* Interrupt Status Register */
50#define OPB_INTC_ISR 0x0
51/* Interrupt Pending Register (ISR && IER) */
52#define OPB_INTC_IPR 0x4
53/* Interrupt Enable Register */
54#define OPB_INTC_IER 0x8
55/* Interrupt Acknowledge Register */
56#define OPB_INTC_IAR 0xC
57/* Set Interrupt Enable (same as read/mask/write to IER) */
58#define OPB_INTC_SIE 0x10
59/* Clear Interrupt Enable (same as read/mask/write to IER) */
60#define OPB_INTC_CIE 0x14
61/* Interrupt Vector Address (highest priority vector number from IPR) */
62#define OPB_INTC_IVR 0x18
63/* Master Enable Register */
64#define OPB_INTC_MER 0x1C
65
66/* Master Enable Register: Hardware Interrupt Enable */
67#define OPB_INTC_MER_HIE 0x2
68
69/* Master Enable Register: Master IRQ Enable */
70#define OPB_INTC_MER_ME 0x1
71
72#ifdef __cplusplus
73}
74#endif
75
76#endif /* _INCLUDE_OPBINTCTRL_H */
Interrupt Handler Support.
This header file provides the main interfaces of the ISR Handler.
This header file defines the RTEMS Classic API.