RTEMS  5.1
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 
78 extern int BSP_VMEInit(void);
79 extern 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