aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/stallion/bootcode/stl.4
diff options
context:
space:
mode:
authorDavid Nugent <davidn@FreeBSD.org>1997-03-13 04:21:44 +0000
committerDavid Nugent <davidn@FreeBSD.org>1997-03-13 04:21:44 +0000
commit3875dc8d63f848c0c090313fb48a347902b387dd (patch)
tree50fc6ef7c84a652c4639d34b92c917e2e550c96b /usr.sbin/stallion/bootcode/stl.4
parent4511a3a921c1477e0f3ab48e0d47256903e70a01 (diff)
Submitted by: Greg Ungerer <gerg@stallion.oz.au>
Add manpages for stl, stli drivers. Add manpages for stlload, stlstats. Update stli bootcode. Update stlload, stlstats to revision 1.0.0 from author.
Notes
Notes: svn path=/head/; revision=23831
Diffstat (limited to 'usr.sbin/stallion/bootcode/stl.4')
-rw-r--r--usr.sbin/stallion/bootcode/stl.4321
1 files changed, 321 insertions, 0 deletions
diff --git a/usr.sbin/stallion/bootcode/stl.4 b/usr.sbin/stallion/bootcode/stl.4
new file mode 100644
index 000000000000..b34fd08755f4
--- /dev/null
+++ b/usr.sbin/stallion/bootcode/stl.4
@@ -0,0 +1,321 @@
+.\" Copyright (c) 1996 Greg Ungerer (gerg@stallion.oz.au).
+.\" All rights reserved.
+.\"
+.\" 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
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, 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 Greg Ungerer.
+.\" 4. Neither the name of the author nor the names of any co-contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd December 2, 1996
+.Os FreeBSD
+.Dt STL 4 i386
+.Sh NAME
+.Nm stl ,
+.Nm stli
+.Nd "drivers for Stallion Technologies multiport serial controllers"
+.Sh SYNOPSIS
+.Cd "stl0 at isa? port <addr> tty irq <irq> vector stlintr"
+.Cd "stli0 at isa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type> "
+.Cd "stli0 at eisa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type> "
+.Sh DESCRIPTION
+.Pp
+This is a kernel driver for Stallion Technologies multiport serial boards.
+There are two drivers, each supporting a different class of boards.
+The
+.Nm stl
+driver supports the EasyIO and EasyConnection 8/32
+boards, while the
+.Nm stli
+driver supports all other types, including
+ONboard, Brumby and EasyConnection 8/64.
+.Sh CONFIGURATION
+.Pp
+Each board installed in the system needs a configuration entry in the
+kernel configuration file.
+Slightly different options and parameters are required for each of the
+different board types.
+Depending on the type of board one of the
+.Nm stl
+or
+.Nm stli
+drivers will be used. The
+.Nm stl
+and
+.Nm stli
+drivers can support up to 8 boards.
+.Pp
+Configuration of the hardware - DIP switches, jumpers, etc - varies
+from board to board.
+Consult documentation supplied with the board for hardware
+configuration details.
+Alternatively the board documentation is available on Stallion
+Technologies WWW site at http://www.stallion.com.
+.Pp
+The EasyIO and EasyConnection 8/32 families of boards use the
+.Nm stl
+driver.
+ISA board configuration entries for the
+.Nm stl
+driver take the general form of:
+.Pp
+.Cd "stlX at isa? port <io-addr> tty irq <irq> vector stlintr"
+.Pp
+.Nm X
+is the unit number assigned to the board.
+Any unique value between 0 and 7 is valid.
+.Pp
+The I/O address used by the board is specified by
+.Nm <io-addr>.
+Each of the EasyIO and EasyConnection 8/32-AT boards can use
+an I/O address in the range from 0 to 0x400.
+.Pp
+All EasyIO and EasyConnection 8/32 boards require an interrupt,
+and this interrupt is specified by
+.Nm <irq>.
+Legal IRQ values for the ISA boards are 3, 4, 5, 7, 10, 11, 12 and 15.
+Interrupts are software programmed on all boards except the EasyIO-8M.
+.Pp
+The EasyConnection 8/32-AT board uses a secondary I/O address region,
+and this is fixed at address 0x280 in the driver code.
+All EasyConnection 8/32-AT boards may share the same secondary address
+region.
+.Pp
+EasyConnection 8/32 PCI boards are detected automatically by the
+system on boot up.
+No configuration information is required in advance for these
+board types.
+During boot up the
+.Nm stl
+driver will issue messages to indicate that a EasyConnection 8/32
+PCI board was found, and some information about it.
+.Pp
+Following are some examples of configuration entries for each of the ISA
+boards supported by the
+.Nm stl
+driver.
+Each example also describes some important details about each of the
+board types.
+.Pp
+Each EasyIO board requires 8 bytes of I/O address space and 1 IRQ line.
+A configuration entry for an EasyIO board would look like:
+.Pp
+.Cd "stl0 at isa? port 0x2a8 tty irq 15 vector stlintr"
+.Pp
+This entry specifies an EasyIO board at I/O address 0x2a8 using IRQ 15.
+The I/O and IRQ values can be modified as required.
+.Pp
+Each EasyConnection 8/32-AT board requires 2 sets of I/O addresses
+and 1 IRQ line.
+The primary I/O address range is 2 bytes in size, and must be unique
+to each EasyConnection 8/32-AT board in the system.
+The secondary I/O address range is 32 bytes in size, but can be shared
+by multiple EasyConnection 8/32-AT boards.
+This secondary I/O address is set at 0x280 in the driver code.
+A configuration entry would look like:
+.Pp
+.Cd "stl0 at isa? port 0x2a0 irq 10 tty vector stlintr"
+.Pp
+This specifies an EasyConnection 8/32-AT with primary I/O address 0x2a0,
+secondary I/O address of 0x280 and IRQ 10.
+.Pp
+The ONboard, Brumby and EasyConnection 8/64 families of boards use the
+.Nm stli
+driver. The
+.Nm stli
+driver supports the ISA and EISA members of these families.
+.Pp
+ISA board configuration entries for the
+.Nm stli
+driver take the general form of:
+.Pp
+.Cd "stliX at isa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type>"
+.Pp
+.Nm X
+is the unit number assigned to the board.
+Any unique value between 0 and 7 is valid.
+.Pp
+The I/O address used by the board is specified by
+.Nm <io-addr>.
+Each of the different supported board types has restrictions on valid
+I/O addresses and also the amount of I/O space required varies between
+the boards.
+.Pp
+All boards using the
+.Nm stli
+driver require a shared memory region to operate.
+Depending on the board type the region required varies in size
+from 4 kbytes to 64 kbytes. The size of the board region is specified
+by field
+.Nm <size>
+of the configuration entry, and the address of the region is specified by
+.Nm <mem-addr>.
+.Pp
+The flags field specifies the particular board type that this entry
+applies to.
+Not all board types are distinguishable by the driver at runtime,
+so this field is required by the driver.
+Valid board types are:
+.Bd -literal -offset indent
+BOARD NAME TYPE I/O SIZE
+
+Brumby 2 0x4000
+ONboard 4 0x10000
+ONboard/E 7 0x10000
+EasyConnection 8/64-AT 23 0x1000
+EasyConnection 8/64-EISA 24 0x10000
+.Ed
+.Pp
+Following are some examples of configuration entries for each of the
+boards supported by the
+.Nm stli
+driver. Each example also describes some important details about
+each of the board types.
+.Pp
+The EasyConnection 8/64-AT board requires 4 bytes of I/O address space and
+4 kbytes of memory space.
+A configuration entry would look like:
+.Pp
+.Cd "stli0 at isa? port 0x2a0 tty iomem 0xcc000 iosiz 0x1000 flags 23"
+.Pp
+The flags field of this entry specifies that this is an
+EasyConnection 8/64-AT board.
+It is set to I/O address 0x2a0 and memory address 0xcc000.
+The
+.Nm iosiz
+parameter specifies a memory region size
+of 4 kbytes.
+.Pp
+The EasyConnection 8/64-EISA board requires a 64 kbyte region of
+memory space.
+This region can be anywhere in the 32 bit memory address space.
+A configuration entry would be like:
+.Pp
+.Cd "stli0 at eisa? port 0x2000 tty iomem 0x80000000 iosiz 0x10000 flags 24"
+.Pp
+The flags field is used to specify that this is an EasyConnection 8/64-EISA
+board.
+The I/O (port) address resource is derived from the EISA slot that
+the board is in.
+Each EISA slot is allocated a section of the I/O address space by the
+hardware of the system.
+That address being 0xX000 where X is the slot number.
+The example board is at memory address 0x80000000 which is 2 Gbyte.
+The
+.Nm iosiz
+parameter specifies the size of the memory region,
+in this case 64 kbytes.
+.Pp
+Each ONboard ISA board requires 16 bytes of I/O space and a 64 kbyte
+section of memory address space.
+Valid ONboard I/O addresses are in the range 0x200 to 0x300.
+A configuration entry for an ONboard ISA would look like:
+.Pp
+.Cd "stli0 at isa? port 0x240 tty iomem 0xd0000 iosiz 0x10000 flags 4"
+.Pp
+This entry specifies an ONboard ISA by setting flags to 4.
+It uses I/O address 0x240 and a memory region of 64 kbytes at memory
+address 0xd0000.
+.Pp
+Each ONboard/E board requires a 64 kbyte memory region, and this
+can be anywhere in the 32 bit address space (that is from 0 to 4 Gbyte).
+A configuration entry would look like:
+.Pp
+.Cd "stli0 at eisa? port 0x3000 tty iomem 0xc0000000 iosiz 0x10000 flags 7"
+.Pp
+The specifies an ONboard/E in slot 3 using a shared memory address
+of 0xc0000000 (3 Gbyte).
+.Pp
+Each Brumby board requires 16 bytes of I/O address space and a 4 kbyte
+region of shared memory space.
+The valid Brumby I/O addresses are in the range 0x300 to 0x400.
+The shared memory region of the Brumby must be in the 0xc0000 to
+0xdc000 region of the memory address space.
+A configuration entry for a Brumby would be like:
+.Pp
+.Cd "stli0 at isa? port 0x360 tty iomem 0xc8000 iosiz 0x4000 flags 2"
+.Pp
+This specifies a Brumby board at I/O address 0x360 using a shared memory
+region at address 0xc8000.
+.Sh NOTES
+When building the device nodes for the ports be sure to use the correct
+driver name,
+.Nm stl
+or
+.Nm stli.
+Each driver has a separate major number allocated,
+so even though the port device names are the same for each driver,
+the major number of the device node is different.
+Use the MAKEDEV(8) script to create the devices.
+Use the ttyE and cue tag for the
+.Nm stl
+driver, and
+the ttyEi and cuei tags for the
+.Nm stli
+driver.
+.Pp
+The intelligent board types (ONboard, Brumby and EasyConnection 8/64)
+require a firmware download before the ports will be operational.
+This is achieved by using the
+.Nm stlload
+command.
+See its manual page for details on usage.
+.Sh FILES
+.Bl -tag -width "/dev/staliomem?" -compact
+.It Pa /dev/ttyE?
+standard callin devices
+.It Pa /dev/ttyiE?
+initial-state callin devices
+.It Pa /dev/ttylE?
+lock-state callin devices
+.It Pa /dev/cue?
+standard callout devices
+.It Pa /dev/cuie?
+initial-state callout devices
+.It Pa /dev/cule?
+lock-state callout devices
+.It Pa /dev/staliomem?
+board control device
+.El
+.sp
+Note that the port numbers start at 0 for port 0 of board 0.
+Each board has 64 port slots allocated for it.
+So the second boards ports start at 64 and go through 127.
+Use the MAKEDEV(8) script to create the devices.
+Use the ttyE and cue tag for the
+.Nm stl
+driver, and
+the ttyEi and cuei tags for the
+.Nm stli
+driver.
+.Sh SEE ALSO
+.Xr tty 4 ,
+.Xr termios 4 ,
+.Xr stty 1 ,
+.Xr comcontrol 8 ,
+.Xr stlload 8 ,
+.Xr stlstats 8 ,
+.Xr MAKEDEV 8
+.Sh HISTORY
+This driver was originally developed by Greg Ungerer (gerg@stallion.com).