Previous version restored back after Jordan's damage.
[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
22d83443 37.\" $Id: sio.4,v 1.3 1994/02/13 00:16:23 ache Exp $
52ac9c69 38.\"
22d83443 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
22d83443 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
22d83443 52.sp
63ec8d43
AC
53For multiport cards:
54.Cd "options" \&"COM_MULTIPORT\&"
22d83443
AC
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:
63ec8d43 61.Cd "options" \&"COM_BIDIR\&"
22d83443
AC
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
22d83443 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,
22d83443
AC
8019200, 38400, 57600, or 115200. Your hardware may limit your baud
81rate choices.
63ec8d43
AC
82.Pp
83For multiport cards the
84.Nm flags
22d83443
AC
85keyword in the kernel configuration file determines which port of
86your multiport card is the master device, and whether the
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.
b99eee8c
AC
91.sp
92The master device is indicated
93.Nm bitwise
22d83443 94, so all sio entries in the kernel config file that are part of a
b99eee8c
AC
95multiport card must include the correct
96.Nm flags
22d83443
AC
97specification. The bitwise assignment allows multiple multiport cards to
98be configured in one system. It does
b99eee8c
AC
99.Nm not
100imply that the hardware can share the same physical interrupt line!
22d83443
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
63ec8d43
AC
106multiport card (the LSB of the flags, actually only the LS
107.Nm bit
22d83443
AC
108).
109F.e. if you have only two standard ports in addition to multiport
110card, this
37d58e3c 111.Nm flags
22d83443
AC
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.
117.Pp
118Serial ports controlled by the
63ec8d43
AC
119.Nm sio
120driver can be used for both dialin and dialout. Use
22d83443
AC
121.Xr comcontrol 8
122to enable/disable bidirectional use of the
63ec8d43 123.Nm sio
22d83443
AC
124ports. The minor number of the dialout
125port is 128 higher than that of the corresponding dialin port. Use
126.Xr stty 1
63ec8d43 127to enable or disable modem control as required by your setup.
52ac9c69
RG
128.Sh FILES
129.Bl -tag -width Pa
22d83443
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.
22d83443
AC
139.\".It com%d: weird interrupt: %x.
140.\"The device has generated an unexpected interrupt
141.\"with the code listed.
52ac9c69
RG
142.El
143.Sh SEE ALSO
22d83443
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
22d83443 156Data loss is not near as likely on busy systems as they are with the
b99eee8c 157.Xr com 4
22d83443
AC
158driver but they still can occur at very high baud rates on slow systems. The
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
22d83443 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 168.Pp
22d83443 169As usual, you get what you pay for; cheap NS16550 clones generally don't work.
63ec8d43 170.Pp
b99eee8c 171The multiport example is based on an AST/4 card, your
22d83443 172mileage may vary however. Note that on the AST/4 the card's dipswitches should
b99eee8c
AC
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
22d83443 177support more than 1 AST/4 on one IRQ.