source: rtems/bsps/include/bsp/VME.h @ caccc5b

5
Last change on this file since caccc5b was caccc5b, checked in by Sebastian Huber <sebastian.huber@…>, on 07/24/18 at 09:35:09

bsps: Fix function declaration warnings

  • Property mode set to 100644
File size: 3.6 KB
RevLine 
[e87b300]1/**
2 *  @file
3 *
4 *  @ingroup shared_vme
5 *
6 *  @brief SVGM et al. BSP's VME support
7 */
8
[1687b05]9#ifndef RTEMS_BSP_VME_API_H
10#define RTEMS_BSP_VME_API_H
11
[ac7af4a]12/*
[1687b05]13 * Authorship
14 * ----------
15 * This software was created by
16 *     Till Straumann <strauman@slac.stanford.edu>, 2002,
17 *         Stanford Linear Accelerator Center, Stanford University.
[ac7af4a]18 *
[1687b05]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.
[ac7af4a]24 *
[1687b05]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.
[ac7af4a]33 *
[1687b05]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.
[ac7af4a]38 *
[1687b05]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
[ac7af4a]43 * freely use it for any purpose without restriction.
44 *
[1687b05]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.
[ac7af4a]53 *
[1687b05]54 * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
[ac7af4a]55 */
[1687b05]56
57#include <stdio.h>
58
59/* address modifiers & friends */
60#include <bsp/vme_am_defs.h>
61
[5e45d36]62#ifdef __cplusplus
63extern "C" {
64#endif
65
[e87b300]66/**
67 *  @defgroup shared_vme VME related declarations
68 *
69 *  @ingroup shared_vmeuniverse
70 *
71 *  @brief BSP-specific configuration routine; sets up
[1687b05]72 * VME windows and installs the VME interrupt manager.
73 */
[e87b300]74
[caccc5b]75void BSP_vme_config(void);
[1687b05]76
77/* translate through host bridge and vme master window of vme bridge */
78int
79BSP_vme2local_adrs(unsigned long am, unsigned long vmeaddr, unsigned long *plocaladdr);
80
81/* how a CPU address is mapped to the VME bus (if at all) */
82int
83BSP_local2vme_adrs(unsigned long am, unsigned long localaddr, unsigned long *pvmeaddr);
84
85/* interrupt handlers and levels */
86typedef void (*BSP_VME_ISR_t)(void *usrArg, unsigned long vector);
87
88int
89BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
90int
91BSP_removeVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
92
93/* retrieve the currently installed ISR for a given vector */
94BSP_VME_ISR_t
95BSP_getVME_isr(unsigned long vector, void **parg);
96
97int
98BSP_enableVME_int_lvl(unsigned int level);
99
100int
101BSP_disableVME_int_lvl(unsigned int level);
102
103int
104BSP_VMEOutboundPortCfg(
105        unsigned long port,
106        unsigned long address_space,
107        unsigned long vme_address,
108        unsigned long pci_address,
109        unsigned long size);
110
111int
112BSP_VMEInboundPortCfg(
113        unsigned long port,
114        unsigned long address_space,
115        unsigned long vme_address,
116        unsigned long pci_address,
117        unsigned long size);
118
119void
120BSP_VMEOutboundPortsShow(FILE *f);
121
122void
123BSP_VMEInboundPortsShow(FILE *f);
124
[231680a6]125/* Assert VME SYSRESET */
126void
127BSP_VMEResetBus(void);
128
[5e45d36]129#ifdef __cplusplus
130}
131#endif
132
[1687b05]133#endif
Note: See TracBrowser for help on using the repository browser.