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

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
STL(4)              FreeBSD Kernel Interfaces Manual (i386)             STL(4)

NAME
     stl, stli - drivers for Stallion Technologies multiport serial
     controllers

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
     hardware 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
     information 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
     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 _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
     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:

     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
     configuration 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
     configuration 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
     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 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
     operational.  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.0-PRERELEASE         January 8, 1998        FreeBSD 11.0-PRERELEASE

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