1.\" $NetBSD: com.4,v 1.23 2017/05/21 09:12:19 wiz Exp $ 2.\" 3.\" Copyright (c) 1990, 1991 The Regents of the University of California. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to Berkeley by 7.\" the Systems Programming Group of the University of Utah Computer 8.\" Science Department. 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 3. Neither the name of the University nor the names of its contributors 18.\" may be used to endorse or promote products derived from this software 19.\" without specific prior written permission. 20.\" 21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31.\" SUCH DAMAGE. 32.\" 33.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91 34.\" 35.Dd March 4, 2017 36.Dt COM 4 37.Os 38.Sh NAME 39.Nm com 40.Nd serial communications interface for 41.Tn RS-232C 42.Sh SYNOPSIS 43.Cd "com0 at isa? port" \&"IO_COM1\&" irq 4 44.Cd "com1 at isa? port" \&"IO_COM2\&" irq 3 45.Cd "com* at acpi?" 46.Cd "com* at cardbus?" 47.Cd "com* at isapnp?" 48.Cd "com* at mca? slot ?" 49.Cd "com* at mhzc?" 50.Cd "com* at ofisa?" 51.Cd "com* at pcmcia?" 52.Cd "com* at pcmcom?" 53.Cd "com* at pnpbios? index ?" 54.Cd "com* at puc? port ?" 55.Cd "com* at xirc?" 56.Cd options COM_HAYESP 57.Cd options PPS_SYNC 58.Cd options PPS_TRAILING_EDGE 59.Cd options RND_COM 60.Ss Amiga 61.Cd "com* at clockport?" 62.Ss Arm32 63.Cd "com0 at mainbus? base 0x00210fe0" 64.Cd "com1 at mainbus? base 0x00210be0" 65.Cd "com0 at pxaip?" 66.Ss HP 9000/300 and 400 Series 67.Cd "com* at dio? scode ?" 68.Cd "com* at frodo? offset ?" 69.Ss HP 9000/700 and 800 Series 70.Cd "com* at dino?" 71.Cd "com* at gsc?" 72.Cd "com* at ssio?" 73.Ss IBM PowerPC 4xx 74.Cd "com* at opb?" 75.Ss SPARC 76.Cd "com* at ebus?" 77.Cd "com* at obio0" 78.Ss x68k 79.Cd "com0 at intio0 addr 0xefff00 intr 240" 80.Cd "com1 at intio0 addr 0xefff10 intr 241" 81.Sh DESCRIPTION 82The 83.Nm 84driver provides support for NS8250-, NS16450-, and NS16550-based 85.Tn EIA 86.Tn RS-232C 87.Pf ( Tn CCITT 88.Tn V.28 ) 89communications interfaces. 90The NS8250 and NS16450 have single character 91buffers, and the NS16550 has a 16 character buffer. 92.Pp 93Input and output for each line may set to one of following baud rates; 9450, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 9519200, 38400, 57600, or 115200, or any other baud rate which is a factor 96of 115200. 97.Pp 98The ttyXX devices are traditional dial-in devices; the dtyXX devices are 99used for dial-out. 100(See 101.Xr tty 4 . ) 102.Pp 103.Cd options COM_HAYESP 104adds support for the Hayes ESP serial board. 105.Pp 106.Cd options PPS_SYNC 107enables code to use the Data Carrier Detect (DCD) signal line for attachment 108to an external precision clock source 109.Po 110e.g., 111.Tn GPS , 112.Tn CDMA 113.Pc 114which generates a Pulse Per Second (PPS) signal. 115This is used by 116.Xr ntpd 8 117to discipline the system clock, and more accurately count/measure time. 118See 119.Xr options 4 120for more discussion. 121.Pp 122With 123.Cd options RND_COM 124enabled, the 125.Nm 126driver can be used to collect entropy for the 127.Xr rnd 4 128entropy pool. 129The entropy is generated from interrupt randomness. 130.Ss Arm32 specific 131If 132.Dq flags 1 133is specified, the 134.Nm 135driver will not set the 136.Dv MCR_IENABLE 137bit on the UART. 138This is mainly for use on AST multiport boards, where the 139.Dv MCR_IENABLE 140bit is used to control whether or not the devices use a shared 141interrupt. 142.Sh FILES 143.Bl -tag -width Pa -compact 144.It Pa /dev/dty00 145.It Pa /dev/dty01 146.It Pa /dev/dty02 147.It Pa /dev/tty00 148.It Pa /dev/tty01 149.It Pa /dev/tty02 150.El 151.Sh DIAGNOSTICS 152.Bl -diag 153.It com%d: %d silo overflows 154The input 155.Dq silo 156has overflowed and incoming data has been lost. 157.It com%d: weird interrupt: iir=%x 158The device has generated an unexpected interrupt 159with the code listed. 160.El 161.Sh SEE ALSO 162.Xr acpi 4 , 163.Xr ast 4 , 164.Xr cardbus 4 , 165.Xr i386/pnpbios 4 , 166.Xr isa 4 , 167.Xr isapnp 4 , 168.Xr mca 4 , 169.Xr mhzc 4 , 170.Xr ofisa 4 , 171.Xr options 4 , 172.Xr pcmcia 4 , 173.Xr pcmcom 4 , 174.Xr puc 4 , 175.Xr pxaip 4 , 176.Xr rtfps 4 , 177.Xr tty 4 , 178.Xr xirc 4 , 179.Xr ntpd 8 180.Sh HISTORY 181The 182.Nm 183driver was originally derived from the HP9000/300 184.Ic dca 185driver. 186.Sh BUGS 187Data loss is possible on busy systems with unbuffered UARTs at high speed. 188.Pp 189The name of this driver and the constants which define the locations 190of the various serial ports are holdovers from 191.Tn DOS . 192