diff options
author | David Nugent <davidn@FreeBSD.org> | 1997-03-13 04:21:44 +0000 |
---|---|---|
committer | David Nugent <davidn@FreeBSD.org> | 1997-03-13 04:21:44 +0000 |
commit | 3875dc8d63f848c0c090313fb48a347902b387dd (patch) | |
tree | 50fc6ef7c84a652c4639d34b92c917e2e550c96b /usr.sbin/stallion/bootcode/stl.4 | |
parent | 4511a3a921c1477e0f3ab48e0d47256903e70a01 (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.4 | 321 |
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). |