Add Serge V. Vakulenko <vak@zebub.msk.su>.
[unix-history] / share / man / man4 / man4.i386 / sio.4
CommitLineData
52ac9c69
RG
1.\" Copyright (c) 1990, 1991 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" the Systems Programming Group of the University of Utah Computer
6.\" Science Department.
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\" notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\" notice, this list of conditions and the following disclaimer in the
14.\" documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\" must display the following acknowledgement:
17.\" This product includes software developed by the University of
18.\" California, Berkeley and its contributors.
19.\" 4. Neither the name of the University nor the names of its contributors
20.\" may be used to endorse or promote products derived from this software
21.\" without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91
36.\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
b99eee8c 37.\" $Id: sio.4,v 1.2 1994/02/09 23:49:45 ache Exp $
52ac9c69 38.\"
63ec8d43 39.Dd February 9, 1994
52ac9c69
RG
40.Dt SIO 4 i386
41.Os FreeBSD
42.Sh NAME
43.Nm sio
44.Nd
63ec8d43 45fast interrupt driven asynchronous serial communications interface
52ac9c69 46.Sh SYNOPSIS
63ec8d43 47For standard ports:
52ac9c69
RG
48.Cd "device sio0 at isa? port" \&"IO_COM1\&" tty irq 4 vector siointr
49.Cd "device sio1 at isa? port" \&"IO_COM2\&" tty irq 3 vector siointr
50.Cd "device sio2 at isa? port" \&"IO_COM3\&" tty irq 5 vector siointr
51.Cd "device sio3 at isa? port" \&"IO_COM4\&" tty irq 9 vector siointr
63ec8d43
AC
52.sp
53For multiport cards:
54.Cd "options" \&"COM_MULTIPORT\&"
55.Cd "device sio4 at isa? port 0x2a0 tty irq 12 vector siointr flags 0x401"
56.Cd "device sio5 at isa? port 0x2a8 tty vector siointr flags 0x401"
57.Cd "device sio6 at isa? port 0x2b0 tty vector siointr flags 0x401"
58.Cd "device sio7 at isa? port 0x2b8 tty vector siointr flags 0x401"
59.sp
60For bidirectional use of ports:
61.Cd "options" \&"COM_BIDIR\&"
62.sp
63For control FIFO trigger:
64.Cd "options" \&"FIFO_TRIGGER=FIFO_TRIGGER_14\&"
65.sp
66Use 0x02 bit in flags field to disable FIFO on specified port.
52ac9c69
RG
67.Sh DESCRIPTION
68The
69.Nm sio
63ec8d43 70driver provides support for NS8250-, NS16450-, NS16550 and NS16550A-based
52ac9c69
RG
71.Tn EIA
72.Tn RS-232C
73.Pf ( Tn CCITT
63ec8d43 74.Tn V.24 )
52ac9c69 75communications interfaces. The NS8250 and NS16450 have single character
63ec8d43 76buffers, the NS16550A has a 16 character FIFO buffer.
52ac9c69
RG
77.Pp
78Input and output for each line may set to one of following baud rates;
7950, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600,
63ec8d43
AC
8019200, 38400, 57600, or 115200. Your hardware may limit your baud
81rate choices.
82.Pp
83For multiport cards the
84.Nm flags
85keyword in the kernel configuration file determines which port of
86your multiport card is the master device, and whether the
b99eee8c
AC
87port is part of a multiport card. The master device is the port which
88has register through which all interrupts of the card are funneled.
89All ports of a multiport card report pending interrupts using this
90single register.
91.sp
92The master device is indicated
93.Nm bitwise
94, so all sio entries in the kernel config file that are part of a
95multiport card must include the correct
96.Nm flags
97specification. The bitwise assignment allows multiple multiport cards to
98be configured in one system. It does
99.Nm not
100imply that the hardware can share the same physical interrupt line!
63ec8d43
AC
101.Pp
102In the synopsis the
103.Nm flags 0x401
104means that the 4th port (sio4) is the master
105device (so the MSB of the flags), and that the ports are part of a
106multiport card (the LSB of the flags, actually only the LS
107.Nm bit
108).
109F.e. if you have only two standard ports in addition to multiport
110card, this
111.Nm flags
112will be
113.Nm 0x201 .
114.Pp
115Which port is the master device depends on the card type. Consult
116the hardware documentation of your card.
63ec8d43
AC
117.Pp
118Serial ports controlled by the
119.Nm sio
120driver can be used for both dialin and dialout. Use
121.Xr comcontrol 8
122to enable/disable bidirectional use of the
123.Nm sio
124ports. The minor number of the dialout
125port is 128 higher than that of the corresponding dialin port. Use
126.Xr stty 1
127to enable or disable modem control as required by your setup.
52ac9c69
RG
128.Sh FILES
129.Bl -tag -width Pa
63ec8d43
AC
130.It Pa /dev/tty0? for dialin
131.It Pa /dev/cua0? for dialout
52ac9c69
RG
132.El
133.Sh DIAGNOSTICS
134.Bl -diag
135.It sio%d: silo overflow.
136The single-character input
137.Dq silo
138has overflowed and incoming data has been lost.
139.\".It com%d: weird interrupt: %x.
140.\"The device has generated an unexpected interrupt
141.\"with the code listed.
142.El
143.Sh SEE ALSO
63ec8d43
AC
144.Xr tty 4 ,
145.Xr comcontrol 8 ,
146.Xr stty 1 .
52ac9c69
RG
147.Sh HISTORY
148The
149.Nm
150driver is derived from the
151.Nm HP9000/300
152.Nm dca
153driver and is
154.Ud
155.Sh BUGS
b99eee8c
AC
156Data loss is not near as likely on busy systems as they are with the
157.Xr com 4
158driver but they still can occur at very high baud rates on slow systems. The
63ec8d43 159use of NS16550A's helps lot to handle high baud rates.
52ac9c69 160.Pp
b99eee8c
AC
161Stay away from NS16550 (so without the trailing A). These are early
162implementations of the chip with non-functional FIFO hardware.
163.Pp
52ac9c69 164The constants which define the locations
63ec8d43 165of the various serial ports are holdovers from
52ac9c69 166.Nm DOS .
b99eee8c 167As shown, hex addresses can be and for clarity probably should be used instead.
63ec8d43
AC
168.Pp
169As usual, you get what you pay for; cheap NS16550 clones generally don't work.
170.Pp
b99eee8c
AC
171The multiport example is based on an AST/4 card, your
172mileage may vary however. Note that on the AST/4 the card's dipswitches should
173.Nm not
174be set to use interrupt sharing. AST/4-like interrupt sharing is only used when
175.Nm multiple
176AST/4 cards are installed in the same system. The sio driver does not
177support more than 1 AST/4 on one IRQ.