summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h')
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h81
1 files changed, 42 insertions, 39 deletions
diff --git a/c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h b/c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h
index b3bcceee4a..986a01674e 100644
--- a/c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h
+++ b/c/src/lib/libbsp/powerpc/beatnik/vme/VMEConfig.h
@@ -8,13 +8,13 @@
* ----------
* This software ('beatnik' RTEMS BSP for MVME6100 and MVME5500) was
* created by Till Straumann <strauman@slac.stanford.edu>, 2005-2007,
- * Stanford Linear Accelerator Center, Stanford University.
+ * Stanford Linear Accelerator Center, Stanford University.
*
* Acknowledgement of sponsorship
* ------------------------------
* The 'beatnik' BSP was produced by
* the Stanford Linear Accelerator Center, Stanford University,
- * under Contract DE-AC03-76SFO0515 with the Department of Energy.
+ * under Contract DE-AC03-76SFO0515 with the Department of Energy.
*
* Government disclaimer of liability
* ----------------------------------
@@ -56,56 +56,59 @@
* hardcoded window lengths that match this
* layout when setting BATs:
*/
-#define _VME_A32_WIN0_ON_PCI 0x90000000
+#define _VME_A32_WIN0_ON_PCI 0x90000000
/* If _VME_CSR_ON_PCI is defined then the A32 window is reduced to accommodate
* CSR for space.
*/
-#define _VME_CSR_ON_PCI 0x9e000000
-#define _VME_A24_ON_PCI 0x9f000000
-#define _VME_A16_ON_PCI 0x9fff0000
+#define _VME_CSR_ON_PCI 0x9e000000
+#define _VME_A24_ON_PCI 0x9f000000
+#define _VME_A16_ON_PCI 0x9fff0000
/* start of the A32 window on the VME bus
* TODO: this should perhaps be a configuration option
*/
-#define _VME_A32_WIN0_ON_VME 0x20000000
+#define _VME_A32_WIN0_ON_VME 0x20000000
/* if _VME_DRAM_OFFSET is defined, the BSP
* will map our RAM onto the VME bus, starting
* at _VME_DRAM_OFFSET
*/
-#define _VME_DRAM_OFFSET 0x90000000
+#define _VME_DRAM_OFFSET 0x90000000
-#define BSP_VME_INSTALL_IRQ_MGR(err) \
- do { \
- err = -1; \
- switch (BSP_getBoardType()) { \
- case MVME6100: \
- err = theOps->install_irq_mgr( \
- VMETSI148_IRQ_MGR_FLAG_SHARED, \
- 0, BSP_IRQ_GPP_0 + 20, \
- 1, BSP_IRQ_GPP_0 + 21, \
- 2, BSP_IRQ_GPP_0 + 22, \
- 3, BSP_IRQ_GPP_0 + 23, \
- -1); \
- break; \
- \
- case MVME5500: \
- err = theOps->install_irq_mgr( \
- VMEUNIVERSE_IRQ_MGR_FLAG_SHARED | \
- VMEUNIVERSE_IRQ_MGR_FLAG_PW_WORKAROUND, \
- 0, BSP_IRQ_GPP_0 + 12, \
- 1, BSP_IRQ_GPP_0 + 13, \
- 2, BSP_IRQ_GPP_0 + 14, \
- 3, BSP_IRQ_GPP_0 + 15, \
- -1); \
- break; \
- \
- default: \
- printk("WARNING: unknown board; "); \
- break; \
- } \
- if ( err ) \
- printk("VME interrupt manager NOT INSTALLED (error: %i)\n", err); \
+extern int BSP_VMEInit(void);
+extern int BSP_VMEIrqMgrInstall(void);
+
+#define BSP_VME_INSTALL_IRQ_MGR(err) \
+ do { \
+ err = -1; \
+ switch (BSP_getBoardType()) { \
+ case MVME6100: \
+ err = theOps->install_irq_mgr( \
+ VMETSI148_IRQ_MGR_FLAG_SHARED, \
+ 0, BSP_IRQ_GPP_0 + 20, \
+ 1, BSP_IRQ_GPP_0 + 21, \
+ 2, BSP_IRQ_GPP_0 + 22, \
+ 3, BSP_IRQ_GPP_0 + 23, \
+ -1); \
+ break; \
+\
+ case MVME5500: \
+ err = theOps->install_irq_mgr( \
+ VMEUNIVERSE_IRQ_MGR_FLAG_SHARED | \
+ VMEUNIVERSE_IRQ_MGR_FLAG_PW_WORKAROUND, \
+ 0, BSP_IRQ_GPP_0 + 12, \
+ 1, BSP_IRQ_GPP_0 + 13, \
+ 2, BSP_IRQ_GPP_0 + 14, \
+ 3, BSP_IRQ_GPP_0 + 15, \
+ -1); \
+ break; \
+\
+ default: \
+ printk("WARNING: unknown board; "); \
+ break; \
+ } \
+ if ( err ) \
+ printk("VME interrupt manager NOT INSTALLED (error: %i)\n", err); \
} while (0)
#endif