gold: Fix hardcoded library search path
[dragonfly.git] / share / man / man4 / man4.i386 / stl.4
1 .\" Copyright (c) 1996-1998 Greg Ungerer (gerg@stallion.oz.au).
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by Greg Ungerer.
15 .\" 4. Neither the name of the author nor the names of any co-contributors
16 .\"    may be used to endorse or promote products derived from this software
17 .\"    without specific prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" SUCH DAMAGE.
30 .\"
31 .\" $FreeBSD: src/usr.sbin/stallion/bootcode/stl.4,v 1.8.2.5 2001/12/14 16:41:52 ru Exp $
32 .\"
33 .Dd August 6, 2009
34 .Dt STL 4 i386
35 .Os
36 .Sh NAME
37 .Nm stl ,
38 .Nm stli
39 .Nd "drivers for Stallion Technologies multiport serial controllers"
40 .Sh SYNOPSIS
41 .Cd "device stl"
42 .Cd "device stl0 at isa? port <addr> irq <irq>"
43 .Cd "device stli0 at isa? port <io-addr> iomem <mem-addr> iosiz <size> flags <type> "
44 .Sh DESCRIPTION
45 This is a kernel driver for Stallion Technologies multiport serial boards.
46 There are two drivers, each supporting a different class of boards.
47 The
48 .Nm
49 driver supports the EasyIO,
50 EasyConnection 8/32 and
51 EasyConnection 8/64-PCI boards,
52 while the
53 .Nm stli
54 driver supports all other types, including
55 ONboard, Brumby and EasyConnection 8/64 (ISA).
56 .Sh CONFIGURATION
57 Each non-PCI board installed in the system needs a configuration entry in the
58 kernel configuration file.
59 Slightly different options and parameters are required for each of the
60 different board types.
61 Depending on the type of board one of the
62 .Nm
63 or
64 .Nm stli
65 drivers will be used.  The
66 .Nm
67 and
68 .Nm stli
69 drivers can support up to 8 boards.
70 .Pp
71 Configuration of the hardware - DIP switches, jumpers, etc - varies
72 from board to board.
73 Consult documentation supplied with the board for hardware
74 configuration details.
75 Alternatively the board documentation is available on Stallion
76 Technologies WWW site at
77 .Pa http://www.stallion.com .
78 .Pp
79 The EasyIO, EasyConnection 8/32 and EasyConnection 8/64-PCI
80 families of boards use the
81 .Nm
82 driver.
83 ISA board configuration entries for the
84 .Nm
85 driver take the general form of:
86 .Pp
87 .Cd "device stlX at isa? port <io-addr> irq <irq>"
88 .Pp
89 .Ar X
90 is the unit number assigned to the board.
91 Any unique value between 0 and 7 is valid.
92 .Pp
93 The I/O address used by the board is specified by
94 .Ar <io-addr> .
95 Each of the EasyIO and EasyConnection 8/32-AT boards can use
96 an I/O address in the range from 0 to 0x400.
97 .Pp
98 All EasyIO and EasyConnection 8/32 boards require an interrupt,
99 and this interrupt is specified by
100 .Ar <irq> .
101 Legal IRQ values for the ISA boards are 3, 4, 5, 7, 10, 11, 12 and 15.
102 Interrupts are software programmed on all boards except the EasyIO-8M.
103 .Pp
104 The EasyConnection 8/32-AT board uses a secondary I/O address region,
105 and this is fixed at address 0x280 in the driver code.
106 All EasyConnection 8/32-AT boards may share the same secondary address
107 region.
108 .Pp
109 All EasyIO and EasyConnection PCI boards are detected
110 automatically by the drivers on boot up.
111 No configuration information is required in advance for these
112 board types.
113 During boot up the
114 .Nm
115 driver will issue messages to indicate that a Stallion
116 PCI board was found, and some information about it.
117 If no ISA card is being configured, an entry like
118 .Pp
119 .Cd "device stl"
120 .Pp
121 will include the driver for PCI cards only.
122 .Pp
123 Following are some examples of configuration entries for each of the ISA
124 boards supported by the
125 .Nm
126 driver.
127 Each example also describes some important details about each of the
128 board types.
129 .Pp
130 Each EasyIO board requires 8 bytes of I/O address space and 1 IRQ line.
131 A configuration entry for an EasyIO board would look like:
132 .Pp
133 .Cd "device stl0 at isa? port 0x2a8 irq 15"
134 .Pp
135 This entry specifies an EasyIO board at I/O address 0x2a8 using IRQ 15.
136 The I/O and IRQ values can be modified as required.
137 .Pp
138 Each EasyConnection 8/32-AT board requires 2 sets of I/O addresses
139 and 1 IRQ line.
140 The primary I/O address range is 2 bytes in size, and must be unique
141 to each EasyConnection 8/32-AT board in the system.
142 The secondary I/O address range is 32 bytes in size, but can be shared
143 by multiple EasyConnection 8/32-AT boards.
144 This secondary I/O address is set at 0x280 in the driver code.
145 A configuration entry would look like:
146 .Pp
147 .Cd "device stl0 at isa? port 0x2a0 irq 10"
148 .Pp
149 This specifies an EasyConnection 8/32-AT with primary I/O address 0x2a0,
150 secondary I/O address of 0x280 and IRQ 10.
151 .Pp
152 The ONboard, Brumby and EasyConnection 8/64
153 families of boards use the
154 .Nm stli
155 driver.  The
156 .Nm stli
157 driver supports the ISA members of these families.
158 .Pp
159 ISA board configuration entries for the
160 .Nm stli
161 driver take the general form of:
162 .Pp
163 .Cd "device stliX at isa? port <io-addr> iomem <mem-addr> iosiz <size> flags <type>"
164 .Pp
165 .Ar X
166 is the unit number assigned to the board.
167 Any unique value between 0 and 7 is valid.
168 .Pp
169 The I/O address used by the board is specified by
170 .Ar <io-addr> .
171 Each of the different supported board types has restrictions on valid
172 I/O addresses and also the amount of I/O space required varies between
173 the boards.
174 .Pp
175 All boards using the
176 .Nm stli
177 driver require a shared memory region to operate.
178 Depending on the board type the region required varies in size
179 from 4 kbytes to 64 kbytes.  The size of the board region is specified
180 by field
181 .Ar <size>
182 of the configuration entry, and the address of the region is specified by
183 .Ar <mem-addr> .
184 .Pp
185 The flags field specifies the particular board type that this entry
186 applies to.
187 Not all board types are distinguishable by the driver at runtime,
188 so this field is required by the driver.
189 Valid board types are:
190 .Bd -literal -offset indent
191 BOARD NAME                      TYPE    I/O SIZE
192
193 Brumby                            2     0x4000
194 ONboard                           4     0x10000
195 ONboard/E                         7     0x10000
196 EasyConnection 8/64-AT           23     0x1000
197 .Ed
198 .Pp
199 Following are some examples of configuration entries for each of the
200 boards supported by the
201 .Nm stli
202 driver. Each example also describes some important details about
203 each of the board types.
204 .Pp
205 The EasyConnection 8/64-AT board requires 4 bytes of I/O address space and
206 4 kbytes of memory space.
207 A configuration entry would look like:
208 .Pp
209 .Cd "device stli0 at isa? port 0x2a0 iomem 0xcc000 iosiz 0x1000 flags 23"
210 .Pp
211 The flags field of this entry specifies that this is an
212 EasyConnection 8/64-AT board.
213 It is set to I/O address 0x2a0 and memory address 0xcc000.
214 The
215 .Ar iosiz
216 parameter specifies a memory region size
217 of 4 kbytes.
218 .Pp
219 Each ONboard ISA board requires 16 bytes of I/O space and a 64 kbyte
220 section of memory address space.
221 Valid ONboard I/O addresses are in the range 0x200 to 0x300.
222 A configuration entry for an ONboard ISA would look like:
223 .Pp
224 .Cd "device stli0 at isa? port 0x240 iomem 0xd0000 iosiz 0x10000 flags 4"
225 .Pp
226 This entry specifies an ONboard ISA by setting flags to 4.
227 It uses I/O address 0x240 and a memory region of 64 kbytes at memory
228 address 0xd0000.
229 .Pp
230 Each Brumby board requires 16 bytes of I/O address space and a 4 kbyte
231 region of shared memory space.
232 The valid Brumby I/O addresses are in the range 0x300 to 0x400.
233 The shared memory region of the Brumby must be in the 0xc0000 to
234 0xdc000 region of the memory address space.
235 A configuration entry for a Brumby would be like:
236 .Pp
237 .Cd "device stli0 at isa? port 0x360 iomem 0xc8000 iosiz 0x4000 flags 2"
238 .Pp
239 This specifies a Brumby board at I/O address 0x360 using a shared memory
240 region at address 0xc8000.
241 .Sh NOTES
242 Each driver has a separate major number allocated,
243 so even though the port device names are the same for each driver,
244 the major number of the device node is different.
245 .Pp
246 The intelligent board types (ONboard, Brumby and
247 EasyConnection 8/64 (ISA))
248 require a firmware download before the ports will be operational.
249 This is achieved by using the
250 .Nm stlload
251 command.
252 See its manual page for details on usage.
253 .Sh FILES
254 .Bl -tag -width "/dev/staliomem?" -compact
255 .It Pa /dev/ttyE?
256 stl standard callin devices
257 .It Pa /dev/ttyiE?
258 stl initial-state callin devices
259 .It Pa /dev/ttylE?
260 stl lock-state callin devices
261 .It Pa /dev/cuaE?
262 stl standard callout devices
263 .It Pa /dev/cuaiE?
264 stl initial-state callout devices
265 .It Pa /dev/cualE?
266 stl lock-state callout devices
267 .It Pa /dev/ttyF?
268 stli standard callin devices
269 .It Pa /dev/ttyiF?
270 stli initial-state callin devices
271 .It Pa /dev/ttylF?
272 stli lock-state callin devices
273 .It Pa /dev/cuaF?
274 stli standard callout devices
275 .It Pa /dev/cuaiF?
276 stli initial-state callout devices
277 .It Pa /dev/cualF?
278 stli lock-state callout devices
279 .It Pa /dev/staliomem?
280 board control device
281 .El
282 .Pp
283 Note that the port numbers start at 0 for port 0 of board 0.
284 Each board has 64 port slots allocated for it.
285 So the second boards ports start at 64 and go through 127.
286 .Sh SEE ALSO
287 .Xr stty 1 ,
288 .Xr termios 4 ,
289 .Xr tty 4 ,
290 .Xr comcontrol 8 ,
291 .Xr stlload 8 ,
292 .Xr stlstats 8 ,
293 .Xr stlstty 8
294 .Sh HISTORY
295 This driver was originally developed by Greg Ungerer (gerg@stallion.com).
296 .Sh BUGS
297 The /dev/staliomem? device name is shared between both the
298 .Nm
299 and
300 .Nm stli
301 drivers.  This may cause confusion if both drivers are present in the
302 system at the same time.
303 .Pp
304 Device names use integer suffixes, rather than the 0-9 a-z sequence
305 that other drivers use.
306 .Pp
307 There will be many unused ttyE device names in a system with more than
308 one card.