RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
VMEConfig.h
1#ifndef RTEMS_BSP_VME_CONFIG_H
2#define RTEMS_BSP_VME_CONFIG_H
3
4/* BSP specific address space configuration parameters */
5
6/*
7 * Authorship
8 * ----------
9 * This software ('beatnik' RTEMS BSP for MVME6100 and MVME5500) was
10 * created by Till Straumann <strauman@slac.stanford.edu>, 2005-2007,
11 * Stanford Linear Accelerator Center, Stanford University.
12 *
13 * Acknowledgement of sponsorship
14 * ------------------------------
15 * The 'beatnik' BSP was produced by
16 * the Stanford Linear Accelerator Center, Stanford University,
17 * under Contract DE-AC03-76SFO0515 with the Department of Energy.
18 *
19 * Government disclaimer of liability
20 * ----------------------------------
21 * Neither the United States nor the United States Department of Energy,
22 * nor any of their employees, makes any warranty, express or implied, or
23 * assumes any legal liability or responsibility for the accuracy,
24 * completeness, or usefulness of any data, apparatus, product, or process
25 * disclosed, or represents that its use would not infringe privately owned
26 * rights.
27 *
28 * Stanford disclaimer of liability
29 * --------------------------------
30 * Stanford University makes no representations or warranties, express or
31 * implied, nor assumes any liability for the use of this software.
32 *
33 * Stanford disclaimer of copyright
34 * --------------------------------
35 * Stanford University, owner of the copyright, hereby disclaims its
36 * copyright and all other rights in this software. Hence, anyone may
37 * freely use it for any purpose without restriction.
38 *
39 * Maintenance of notices
40 * ----------------------
41 * In the interest of clarity regarding the origin and status of this
42 * SLAC software, this and all the preceding Stanford University notices
43 * are to remain affixed to any copy or derivative of this software made
44 * or distributed by the recipient and are to be affixed to any copy of
45 * software made or distributed by the recipient that contains a copy or
46 * derivative of this software.
47 *
48 * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
49 */
50
51#define _VME_DRIVER_TSI148
52#define _VME_DRIVER_UNIVERSE
53
54/*
55 * NOTE: the BSP (startup/bspstart.c) uses
56 * hardcoded window lengths that match this
57 * layout when setting BATs:
58 */
59#define _VME_A32_WIN0_ON_PCI 0x90000000
60/* If _VME_CSR_ON_PCI is defined then the A32 window is reduced to accommodate
61 * CSR for space.
62 */
63#define _VME_CSR_ON_PCI 0x9e000000
64#define _VME_A24_ON_PCI 0x9f000000
65#define _VME_A16_ON_PCI 0x9fff0000
66
67/* start of the A32 window on the VME bus
68 * TODO: this should perhaps be a configuration option
69 */
70#define _VME_A32_WIN0_ON_VME 0x20000000
71
72/* if _VME_DRAM_OFFSET is defined, the BSP
73 * will map our RAM onto the VME bus, starting
74 * at _VME_DRAM_OFFSET
75 */
76#define _VME_DRAM_OFFSET 0x90000000
77
78extern int BSP_VMEInit(void);
79extern int BSP_VMEIrqMgrInstall(void);
80
81#define BSP_VME_INSTALL_IRQ_MGR(err) \
82 do { \
83 err = -1; \
84 switch (BSP_getBoardType()) { \
85 case MVME6100: \
86 err = theOps->install_irq_mgr( \
87 VMETSI148_IRQ_MGR_FLAG_SHARED, \
88 0, BSP_IRQ_GPP_0 + 20, \
89 1, BSP_IRQ_GPP_0 + 21, \
90 2, BSP_IRQ_GPP_0 + 22, \
91 3, BSP_IRQ_GPP_0 + 23, \
92 -1); \
93 break; \
94\
95 case MVME5500: \
96 err = theOps->install_irq_mgr( \
97 VMEUNIVERSE_IRQ_MGR_FLAG_SHARED | \
98 VMEUNIVERSE_IRQ_MGR_FLAG_PW_WORKAROUND, \
99 0, BSP_IRQ_GPP_0 + 12, \
100 1, BSP_IRQ_GPP_0 + 13, \
101 2, BSP_IRQ_GPP_0 + 14, \
102 3, BSP_IRQ_GPP_0 + 15, \
103 -1); \
104 break; \
105\
106 default: \
107 printk("WARNING: unknown board; "); \
108 break; \
109 } \
110 if ( err ) \
111 printk("VME interrupt manager NOT INSTALLED (error: %i)\n", err); \
112 } while (0)
113
114#endif