source: rtems/c/src/lib/libbsp/powerpc/shared/vme/VME.h @ 073b310

4.104.114.84.95
Last change on this file since 073b310 was 6d3ff66f, checked in by Till Straumann <strauman@…>, on 11/04/05 at 08:10:42

2005-11-03 Till Straumann <strauman@…>

  • shared/vme/README, shared/vme/vme_universe.c: New files.
  • Makefile.am, motorola_powerpc/Makefile.am, mvme5500/vme/vmeconfig.c, shared/vme/VME.h, shared/vme/VMEConfig.h, shared/vme/vmeconfig.c: Several VME related upgrades and fixes, hopefully addressing PR#835: Separated API, API-implementation by a specific VME bridge driver and BSP-specific configuration of the driver into different files, describing their purpose in a README. All of these changes use the upgraded vmeUniverse.c driver.
  • Property mode set to 100644
File size: 1.6 KB
Line 
1#ifndef RTEMS_BSP_VME_API_H
2#define RTEMS_BSP_VME_API_H
3/* $Id$ */
4
5/* SVGM et al. BSP's VME support */
6/* Author: Till Straumann, <strauman@slac.stanford.edu> */
7
8#include <stdio.h>
9
10/* address modifiers & friends */
11#include <bsp/vme_am_defs.h>
12
13/* VME related declarations */
14
15/*
16 * BSP-specific configuration routine; sets up
17 * VME windows and installs the VME interrupt manager.
18 */
19void BSP_vme_config() __attribute__((weak));
20
21/* translate through host bridge and vme master window of vme bridge */
22int
23BSP_vme2local_adrs(unsigned long am, unsigned long vmeaddr, unsigned long *plocaladdr);
24
25/* how a CPU address is mapped to the VME bus (if at all) */
26int
27BSP_local2vme_adrs(unsigned long am, unsigned long localaddr, unsigned long *pvmeaddr);
28
29/* interrupt handlers and levels */
30typedef void (*BSP_VME_ISR_t)(void *usrArg, unsigned long vector);
31
32int
33BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
34int
35BSP_removeVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
36
37/* retrieve the currently installed ISR for a given vector */
38BSP_VME_ISR_t
39BSP_getVME_isr(unsigned long vector, void **parg);
40
41int
42BSP_enableVME_int_lvl(unsigned int level);
43
44int
45BSP_disableVME_int_lvl(unsigned int level);
46
47int
48BSP_VMEOutboundPortCfg(
49        unsigned long port,
50        unsigned long address_space,
51        unsigned long vme_address,
52        unsigned long pci_address,
53        unsigned long size);
54
55int
56BSP_VMEInboundPortCfg(
57        unsigned long port,
58        unsigned long address_space,
59        unsigned long vme_address,
60        unsigned long pci_address,
61        unsigned long size);
62
63void
64BSP_VMEOutboundPortsShow(FILE *f);
65
66void
67BSP_VMEInboundPortsShow(FILE *f);
68
69#endif
Note: See TracBrowser for help on using the repository browser.