summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/dev/vs.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-07-19 20:35:38 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-07-19 20:35:38 +0000
commitbbc8053c84aad27f3c2f9013b6ee2985896a6b8d (patch)
tree2e656c65ce6c22364a6b8b2ee7b407a0331c2c72 /sys/arch/mvme88k/dev/vs.c
parent8674c000574e5a0ff1f1704330a5725d90ccd856 (diff)
Recognize the daughter board type, if any - but it is not supported yet.
Diffstat (limited to 'sys/arch/mvme88k/dev/vs.c')
-rw-r--r--sys/arch/mvme88k/dev/vs.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/sys/arch/mvme88k/dev/vs.c b/sys/arch/mvme88k/dev/vs.c
index c7ed1db8983..c575ba333c9 100644
--- a/sys/arch/mvme88k/dev/vs.c
+++ b/sys/arch/mvme88k/dev/vs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vs.c,v 1.46 2004/07/19 20:34:59 miod Exp $ */
+/* $OpenBSD: vs.c,v 1.47 2004/07/19 20:35:37 miod Exp $ */
/*
* Copyright (c) 2004, Miodrag Vallat.
@@ -483,7 +483,7 @@ vs_getiopb(struct vs_softc *sc)
int
vs_initialize(struct vs_softc *sc)
{
- int i, msr;
+ int i, msr, dbid;
/*
* Reset the board, and wait for it to get ready.
@@ -511,7 +511,22 @@ vs_initialize(struct vs_softc *sc)
/* initialize channels id */
sc->sc_pid = csb_read(1, CSB_PID);
- sc->sc_sid = csb_read(1, CSB_SID);
+ sc->sc_sid = -1;
+ switch (dbid = csb_read(1, CSB_DBID)) {
+ case DBID_SCSI2:
+ case DBID_SCSI:
+ printf("daughter board, ");
+ sc->sc_sid = csb_read(1, CSB_SID);
+ break;
+ case DBID_PRINTER:
+ printf("printer port, ");
+ break;
+ case DBID_NONE:
+ break;
+ default:
+ printf("unknown daughterboard id %x, ", dbid);
+ break;
+ }
CRB_CLR_DONE;
mcsb_write(2, MCSB_QHDP, 0);