summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c')
-rw-r--r--c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c b/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
index e3a5e35af3..cebb29e073 100644
--- a/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
+++ b/c/src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c
@@ -168,6 +168,18 @@
# define TSI_VMCTRL_VREQL_MSK (3<< 0)
# define TSI_VMCTRL_VREQL(x) ((x)&3)
+#define TSI_VCTRL_REG 0x238
+#define TSI_VCTRL_DLT_MSK (0xf<<24)
+#define TSI_VCTRL_NELBB (1<<20)
+#define TSI_VCTRL_SRESET (1<<17)
+#define TSI_VCTRL_LRESET (1<<16)
+#define TSI_VCTRL_SFAILAI (1<<15)
+#define TSI_VCTRL_BID_MSK (0x1f<<8)
+#define TSI_VCTRL_ATOEN (1<< 7)
+#define TSI_VCTRL_ROBIN (1<< 6)
+#define TSI_VCTRL_GTO_MSK (7<< 0)
+
+
#define TSI_VSTAT_REG 0x23c
# define TSI_VSTAT_CPURST (1<<15) /* clear power-up reset bit */
# define TSI_VSTAT_BDFAIL (1<<14)
@@ -530,6 +542,25 @@ vmeTsi148Reset()
vmeTsi148ResetXX(THEBASE);
}
+void
+vmeTsi148ResetBusXX(BERegister *base)
+{
+unsigned long flags;
+uint32_t v;
+
+ rtems_interrupt_disable(flags);
+ v = TSI_RD(base, TSI_VCTRL_REG);
+ TSI_WR(base, TSI_VCTRL_REG, v | TSI_VCTRL_SRESET);
+ rtems_interrupt_enable(flags);
+}
+
+void
+vmeTsi148ResetBus(void)
+{
+ vmeTsi148ResetBusXX(THEBASE);
+}
+
+
/* convert an address space selector to a corresponding
* Tsi148 control mode word
*/