Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STL(4)		     FreeBSD/i386 Kernel Interfaces Manual		STL(4)

NAME
     stl, stli -- drivers for Stallion Technologies multiport serial con-
     trollers

SYNOPSIS
     device stl
     device stl0 at isa? port <addr> irq <irq>
     device stli0 at isa? port <io-addr> iomem <mem-addr> iosiz	<size> flags
	   <type>
     device stli0 at eisa? port	<io-addr> iomem	<mem-addr> iosiz <size>	flags
	   <type>

DESCRIPTION
     This is a kernel driver for Stallion Technologies multiport serial
     boards.  There are	two drivers, each supporting a different class of
     boards.  The stl driver supports the EasyIO, EasyConnection 8/32 and
     EasyConnection 8/64-PCI boards, while the stli driver supports all	other
     types, including ONboard, Brumby and EasyConnection 8/64 (ISA and EISA).

CONFIGURATION
     Each non-PCI 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 stl or stli drivers will be used.	 The stl and
     stli drivers can support up to 8 boards.

     Configuration of the hardware - DIP switches, jumpers, etc	- varies from
     board to board.  Consult documentation supplied with the board for	hard-
     ware configuration	details.  Alternatively	the board documentation	is
     available on Stallion Technologies	WWW site at http://www.stallion.com.

     The EasyIO, EasyConnection	8/32 and EasyConnection	8/64-PCI families of
     boards use	the stl	driver.	 ISA board configuration entries for the stl
     driver take the general form of:

     device stlX at isa? port <io-addr>	irq <irq>

     X is the unit number assigned to the board.  Any unique value between 0
     and 7 is valid.

     The I/O address used by the board is specified by _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.

     All EasyIO	and EasyConnection 8/32	boards require an interrupt, and this
     interrupt is specified by _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.

     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.

     All EasyIO	and EasyConnection PCI boards are detected automatically by
     the drivers on boot up.  No configuration information is required in
     advance for these board types.  During boot up the	stl driver will	issue
     messages to indicate that a Stallion PCI board was	found, and some	infor-
     mation about it.  If no ISA card is being configured, an entry like

     device stl

     will include the driver for PCI cards only.

     Following are some	examples of configuration entries for each of the ISA
     boards supported by the stl driver.  Each example also describes some
     important details about each of the board types.

     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:

     device stl0 at isa? port 0x2a8 irq	15

     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.

     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:

     device stl0 at isa? port 0x2a0 irq	10

     This specifies an EasyConnection 8/32-AT with primary I/O address 0x2a0,
     secondary I/O address of 0x280 and	IRQ 10.

     The ONboard, Brumby and EasyConnection 8/64 families of boards use	the
     stli driver.  The stli driver supports the	ISA and	EISA members of	these
     families.

     ISA board configuration entries for the stli driver take the general form
     of:

     device stliX at isa? port <io-addr> iomem <mem-addr> iosiz	<size> flags
     <type>

     X is the unit number assigned to the board.  Any unique value between 0
     and 7 is valid.

     The I/O address used by the board is specified by _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.

     All boards	using the stli driver require a	shared memory region to	oper-
     ate.  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 _size_ of the configuration entry, and the address of the region is
     specified by _mem-addr_.

     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:

	   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

     Following are some	examples of configuration entries for each of the
     boards supported by the stli driver. Each example also describes some
     important details about each of the board types.

     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:

     device stli0 at isa? port 0x2a0 iomem 0xcc000 iosiz 0x1000	flags 23

     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 iosiz parameter specifies a memory region size of 4 kbytes.

     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:

     device stli0 at eisa? port	0x2000 iomem 0x80000000	iosiz 0x10000 flags 24

     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 iosiz parameter specifies the
     size of the memory	region,	in this	case 64	kbytes.

     Each ONboard ISA board requires 16	bytes of I/O space and a 64 kbyte sec-
     tion 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:

     device stli0 at isa? port 0x240 iomem 0xd0000 iosiz 0x10000 flags 4

     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.

     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 con-
     figuration	entry would look like:

     device stli0 at eisa? port	0x3000 iomem 0xc0000000	iosiz 0x10000 flags 7

     The specifies an ONboard/E	in slot	3 using	a shared memory	address	of
     0xc0000000	(3 Gbyte).

     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 configura-
     tion entry	for a Brumby would be like:

     device stli0 at isa? port 0x360 iomem 0xc8000 iosiz 0x4000	flags 2

     This specifies a Brumby board at I/O address 0x360	using a	shared memory
     region at address 0xc8000.

NOTES
     When building the device nodes for	the ports be sure to use the correct
     driver name, stl or stli.	Each driver has	a separate major number	allo-
     cated, 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 stl
     driver, and the ttyEi and cuei tags for the stli driver.

     The intelligent board types (ONboard, Brumby and EasyConnection 8/64 (ISA
     and EISA))	require	a firmware download before the ports will be opera-
     tional.  This is achieved by using	the stlload command.  See its manual
     page for details on usage.

FILES
     /dev/ttyE?	      stl standard callin devices
     /dev/ttyiE?      stl initial-state	callin devices
     /dev/ttylE?      stl lock-state callin devices
     /dev/cuaE?	      stl standard callout devices
     /dev/cuaiE?      stl initial-state	callout	devices
     /dev/cualE?      stl lock-state callout devices
     /dev/ttyF?	      stli standard callin devices
     /dev/ttyiF?      stli initial-state callin	devices
     /dev/ttylF?      stli lock-state callin devices
     /dev/cuaF?	      stli standard callout devices
     /dev/cuaiF?      stli initial-state callout devices
     /dev/cualF?      stli lock-state callout devices
     /dev/staliomem?  board control device

     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 ttyEx and cuaEx tag for the stl driver, and the ttyFx and cuaFx
     tags for the stli driver, where x is the board number.  By	default,
     MAKEDEV(8)	only creates 8 devices per board (to keep the directory	size
     reasonable).  To create the remaining devices for EasyConnection 8/32 and
     EasyConnection 8/64 cards,	see the	comments in the	MAKEDEV	script.

BUGS
     The /dev/staliomem? device	name is	shared between both the	stl and	stli
     drivers.  This may	cause confusion	if both	drivers	are present in the
     system at the same	time.

     Device names use integer suffixes,	rather than the	0-9 a-z	sequence that
     other drivers use.

     There will	be many	unused ttyE device names in a system with more than
     one card.

SEE ALSO
     tty(4), termios(4), stty(1), comcontrol(8), stlload(8), stlstats(8),
     stlstty(8), MAKEDEV(8)

HISTORY
     This driver was originally	developed by Greg Ungerer (gerg@stallion.com).

FreeBSD	11.1			January	8, 1998			  FreeBSD 11.1

NAME | SYNOPSIS | DESCRIPTION | CONFIGURATION | NOTES | FILES | BUGS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=stli&sektion=4&manpath=FreeBSD+4.5-RELEASE>

home | help