RTEMS 6.3
Loading...
Searching...
No Matches
VME.h
Go to the documentation of this file.
1
8
9#ifndef RTEMS_BSP_VME_API_H
10#define RTEMS_BSP_VME_API_H
11
12/*
13 * Authorship
14 * ----------
15 * This software was created by
16 * Till Straumann <strauman@slac.stanford.edu>, 2002,
17 * Stanford Linear Accelerator Center, Stanford University.
18 *
19 * Acknowledgement of sponsorship
20 * ------------------------------
21 * This software was produced by
22 * the Stanford Linear Accelerator Center, Stanford University,
23 * under Contract DE-AC03-76SFO0515 with the Department of Energy.
24 *
25 * Government disclaimer of liability
26 * ----------------------------------
27 * Neither the United States nor the United States Department of Energy,
28 * nor any of their employees, makes any warranty, express or implied, or
29 * assumes any legal liability or responsibility for the accuracy,
30 * completeness, or usefulness of any data, apparatus, product, or process
31 * disclosed, or represents that its use would not infringe privately owned
32 * rights.
33 *
34 * Stanford disclaimer of liability
35 * --------------------------------
36 * Stanford University makes no representations or warranties, express or
37 * implied, nor assumes any liability for the use of this software.
38 *
39 * Stanford disclaimer of copyright
40 * --------------------------------
41 * Stanford University, owner of the copyright, hereby disclaims its
42 * copyright and all other rights in this software. Hence, anyone may
43 * freely use it for any purpose without restriction.
44 *
45 * Maintenance of notices
46 * ----------------------
47 * In the interest of clarity regarding the origin and status of this
48 * SLAC software, this and all the preceding Stanford University notices
49 * are to remain affixed to any copy or derivative of this software made
50 * or distributed by the recipient and are to be affixed to any copy of
51 * software made or distributed by the recipient that contains a copy or
52 * derivative of this software.
53 *
54 * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
55 */
56
57#include <stdio.h>
58
59/* address modifiers & friends */
60#include <bsp/vme_am_defs.h>
61
62#ifndef BSP_LOCAL2PCI_ADDR
63#define BSP_LOCAL2PCI_ADDR(a) ((unsigned long)(a) + PCI_DRAM_OFFSET)
64#endif
65
66#ifdef __cplusplus
67extern "C" {
68#endif
69
78
79void BSP_vme_config(void);
80
81/* translate through host bridge and vme master window of vme bridge */
82int
83BSP_vme2local_adrs(unsigned long am, unsigned long vmeaddr, unsigned long *plocaladdr);
84
85/* how a CPU address is mapped to the VME bus (if at all) */
86int
87BSP_local2vme_adrs(unsigned long am, unsigned long localaddr, unsigned long *pvmeaddr);
88
89/* interrupt handlers and levels */
90typedef void (*BSP_VME_ISR_t)(void *usrArg, unsigned long vector);
91
92int
93BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
94int
95BSP_removeVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
96
97/* retrieve the currently installed ISR for a given vector */
98BSP_VME_ISR_t
99BSP_getVME_isr(unsigned long vector, void **parg);
100
101int
102BSP_enableVME_int_lvl(unsigned int level);
103
104int
105BSP_disableVME_int_lvl(unsigned int level);
106
107int
108BSP_VMEOutboundPortCfg(
109 unsigned long port,
110 unsigned long address_space,
111 unsigned long vme_address,
112 unsigned long pci_address,
113 unsigned long size);
114
115int
116BSP_VMEInboundPortCfg(
117 unsigned long port,
118 unsigned long address_space,
119 unsigned long vme_address,
120 unsigned long pci_address,
121 unsigned long size);
122
123void
124BSP_VMEOutboundPortsShow(FILE *f);
125
126void
127BSP_VMEInboundPortsShow(FILE *f);
128
129/* Assert VME SYSRESET */
130void
131BSP_VMEResetBus(void);
132
133#ifdef __cplusplus
134}
135#endif
136
137#endif
vxworks compatible addressing modes