summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared
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
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')
-rw-r--r--c/src/lib/libbsp/shared/ChangeLog5
-rw-r--r--c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c6
-rw-r--r--c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c15
-rw-r--r--c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.h3
-rw-r--r--c/src/lib/libbsp/shared/vmeUniverse/vme_am_defs.h3
5 files changed, 29 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/shared/ChangeLog b/c/src/lib/libbsp/shared/ChangeLog
index 37701444ae..d5ec7c8b4f 100644
--- a/c/src/lib/libbsp/shared/ChangeLog
+++ b/c/src/lib/libbsp/shared/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2006-01-11 Till Straumann <strauman@slac.stanford.edu>
* vmeUniverse/vmeTsi148.c, vmeUniverse/vmeTsi148.h,
vmeUniverse/vmeUniverse.c, vmeUniverse/vmeUniverse.h,
diff --git a/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c b/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
index a2520a06a3..d0ab3df4b3 100644
--- a/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
+++ b/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
@@ -63,6 +63,7 @@
# define TSI_OTAT_ADMODE_A24 1
# define TSI_OTAT_ADMODE_A32 2
# define TSI_OTAT_ADMODE_A64 4
+# define TSI_OTAT_ADMODE_CSR 5
# define TSI_OTAT_ADMODE_USR1 8
# define TSI_OTAT_ADMODE_USR2 9
# define TSI_OTAT_ADMODE_USR3 0xa
@@ -401,6 +402,10 @@ unsigned long tm, mask;
mode |= TSI_OTAT_ADMODE_A16;
break;
+ case VME_AM_CSR:
+ mode |= TSI_OTAT_ADMODE_CSR;
+ break;
+
case 0: /* disable the port alltogether */
break;
@@ -789,6 +794,7 @@ unsigned long long start, limit, offst;
case TSI_OTAT_ADMODE_A24: uprintf(f,"A24"); break;
case TSI_OTAT_ADMODE_A32: uprintf(f,"A32"); break;
case TSI_OTAT_ADMODE_A64: uprintf(f,"A64"); break;
+ case TSI_OTAT_ADMODE_CSR: uprintf(f,"CSR"); break;
default: uprintf(f,"A??"); break;
}
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;
}
diff --git a/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.h b/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.h
index 42283a95da..5e40135e3a 100644
--- a/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.h
+++ b/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.h
@@ -52,6 +52,9 @@
#ifndef VME_AM_EXT_USR_DATA
#define VME_AM_EXT_USR_DATA 0x09
#endif
+#ifndef VME_AM_CSR
+#define VME_AM_CSR 0x2f
+#endif
#ifndef VME_AM_SUP_SHORT_IO
#define VME_AM_SUP_SHORT_IO 0x2d
#endif
diff --git a/c/src/lib/libbsp/shared/vmeUniverse/vme_am_defs.h b/c/src/lib/libbsp/shared/vmeUniverse/vme_am_defs.h
index 7d467cd0e0..34fde7625e 100644
--- a/c/src/lib/libbsp/shared/vmeUniverse/vme_am_defs.h
+++ b/c/src/lib/libbsp/shared/vmeUniverse/vme_am_defs.h
@@ -39,6 +39,9 @@
#ifndef VME_AM_EXT_USR_DATA
#define VME_AM_EXT_USR_DATA 0x09
#endif
+#ifndef VME_AM_CSR
+#define VME_AM_CSR 0x2f
+#endif
#ifndef VME_AM_SUP_SHORT_IO
#define VME_AM_SUP_SHORT_IO 0x2d
#endif