summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2006-01-27 00:35:27 +0000
committerTill Straumann <strauman@slac.stanford.edu>2006-01-27 00:35:27 +0000
commit6f10ffee3a6e5edc4c3a5bdbdc994f634000de33 (patch)
tree178b908cf6264bfc324b8eda887312e100d8a441 /c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c
parent2006-01-23 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-6f10ffee3a6e5edc4c3a5bdbdc994f634000de33.tar.bz2
2006-01-26 Till Straumann <strauman@slac.stanford.edu>
* vmeUniverse/vmeTsi148.c, vmeUniverse/vmeUniverse.c, vmeUniverse/vmeUniverse.h, vmeUniverse/vme_amd_defs.h: Added 2F address modifier for VME64 CSR access.
Diffstat (limited to 'c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c')
-rw-r--r--c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c b/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c
index 888d71da13..87f17d91e8 100644
--- a/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c
+++ b/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c
@@ -25,6 +25,7 @@
#define UNIV_CTL_VAS16 (0x00000000)
#define UNIV_CTL_VAS24 (0x00010000)
#define UNIV_CTL_VAS32 (0x00020000)
+#define UNIV_MCTL_VASCSR (0x00050000)
#define UNIV_CTL_VAS (0x00070000)
#define UNIV_MCTL_EN (0x80000000)
@@ -347,6 +348,12 @@ unsigned long mode=0;
mode |= UNIV_CTL_VAS16;
break;
+ case VME_AM_CSR:
+ if ( !ismaster )
+ return -1;
+ mode |= UNIV_MCTL_VASCSR;
+ break;
+
case 0: /* disable the port alltogether */
break;
@@ -543,9 +550,11 @@ showUniversePort(
}
switch (cntrl & UNIV_CTL_VAS) {
- case UNIV_CTL_VAS16: uprintf(f,"A16, "); break;
- case UNIV_CTL_VAS24: uprintf(f,"A24, "); break;
- case UNIV_CTL_VAS32: uprintf(f,"A32, "); break;
+ case UNIV_CTL_VAS16: uprintf(f,"A16, "); break;
+ case UNIV_CTL_VAS24: uprintf(f,"A24, "); break;
+ case UNIV_CTL_VAS32: uprintf(f,"A32, "); break;
+ case UNIV_MCTL_VASCSR: if ( ismaster ) { uprintf(f,"CSR, "); break; }
+ /* else fallthru */
default: uprintf(f,"A??, "); break;
}