summaryrefslogtreecommitdiffstats
path: root/sys/dev/si/sireg.h
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1995-08-09 13:13:47 +0000
committerpeter <peter@FreeBSD.org>1995-08-09 13:13:47 +0000
commit95dd59f2aea9a41c65987a24c1e174fc190e1578 (patch)
tree35cd8e58cd1f7f915d76d0b7b8fb5996c08ba377 /sys/dev/si/sireg.h
parent1e1a18756b2feed803677bc3d80ae25309cc9294 (diff)
downloadFreeBSD-src-95dd59f2aea9a41c65987a24c1e174fc190e1578.zip
FreeBSD-src-95dd59f2aea9a41c65987a24c1e174fc190e1578.tar.gz
Bring in my long-overdue version of the Specialix driver.
This was originally ported to BSDI by Andy Rutter <andy@acronym.co.uk>. At the end of the day, this code has very little in common with Andy's version, or the Specialix SYSV version. Essentially it has been gradually and almost completely rewritten, with LOTS of advice and inspiration from Bruce Evans. There are a couple of missing bits still, but they are minor. The user-mode "sicontrol" program is in sad shape and will come in soon. Transparent printing died a timely death.. Maybe later.. Jeremy Rolls @ Specialix (Development directory) has confirmed this is OK to distribute, and Andy personally sent me his version that I started from. Although this driver stood up to a nasty stress-test in this form, I am not confident that there are no nasty bugs lurking. People are welcome to try it, but dont go out and buy one just yet.. :-) And *DONT* use it on a mission-critical machine... This is ALPHA QUALITY!
Diffstat (limited to 'sys/dev/si/sireg.h')
-rw-r--r--sys/dev/si/sireg.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/sys/dev/si/sireg.h b/sys/dev/si/sireg.h
new file mode 100644
index 0000000..6a8dd4f
--- /dev/null
+++ b/sys/dev/si/sireg.h
@@ -0,0 +1,69 @@
+/*
+ * Device driver for Specialix range (SLXOS) of serial line multiplexors.
+ * 'C' definitions for Specialix serial multiplex driver.
+ *
+ * Copyright (C) 1990, 1992 Specialix International,
+ * Copyright (C) 1993, Andy Rutter <andy@acronym.co.uk>
+ * Copyright (C) 1995, Peter Wemm <peter@haywire.dialix.com>
+ *
+ * Derived from: SunOS 4.x version
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notices, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notices, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Andy Rutter of
+ * Advanced Methods and Tools Ltd. based on original information
+ * from Specialix International.
+ * 4. Neither the name of Advanced Methods and Tools, nor Specialix
+ * International may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
+ * NO EVENT SHALL THE AUTHORS BE LIABLE.
+ *
+ * $Id$
+ */
+
+/*
+ * Hardware parameters which should be changed at your peril!
+ */
+
+/* Base and mask for SI Host 2.x (SIHOST2) */
+#define SIPLSIG 0x7FF8 /* Start of control space */
+#define SIPLCNTL 0x7FF8 /* Ditto */
+#define SIPLRESET SIPLCNTL /* 0 = reset */
+#define SIPLIRQ11 (SIPLCNTL+1) /* 0 = mask irq 11 */
+#define SIPLIRQ12 (SIPLCNTL+2) /* 0 = mask irq 12 */
+#define SIPLIRQ15 (SIPLCNTL+3) /* 0 = mask irq 15 */
+#define SIPLIRQSET (SIPLCNTL+4) /* 0 = interrupt host */
+#define SIPLIRQCLR (SIPLCNTL+5) /* 0 = clear irq */
+
+/* SI Host 1.x */
+#define SIRAM 0x0000 /* Ram Starts here */
+#define SIRESET 0x8000 /* Set reset */
+#define SIRESET_CL 0xc000 /* Clear reset */
+#define SIWAIT 0x9000 /* Set wait */
+#define SIWAIT_CL 0xd000 /* Set wait */
+#define SIINTCL 0xA000 /* Clear host int */
+#define SIINTCL_CL 0xE000 /* Clear host int */
+
+/*
+ * MEMSIZE is the total shared mem region
+ * RAMSIZE is value to use when probing
+ */
+#define SIHOST_MEMSIZE 0x10000
+#define SIHOST_RAMSIZE 0x8000
+#define SIHOST2_MEMSIZE 0x8000
+#define SIHOST2_RAMSIZE 0x7ff7
+#define SIEISA_MEMSIZE 0x10000
+#define SEISAT_RAMSIZE 0x10000
+
OpenPOWER on IntegriCloud