127d5dc18SMarcel Moolenaar.\" 227d5dc18SMarcel Moolenaar.\" Copyright (c) 2003 Marcel Moolenaar 327d5dc18SMarcel Moolenaar.\" All rights reserved. 427d5dc18SMarcel Moolenaar.\" 527d5dc18SMarcel Moolenaar.\" Redistribution and use in source and binary forms, with or without 627d5dc18SMarcel Moolenaar.\" modification, are permitted provided that the following conditions 727d5dc18SMarcel Moolenaar.\" are met: 827d5dc18SMarcel Moolenaar.\" 927d5dc18SMarcel Moolenaar.\" 1. Redistributions of source code must retain the above copyright 1027d5dc18SMarcel Moolenaar.\" notice, this list of conditions and the following disclaimer. 1127d5dc18SMarcel Moolenaar.\" 2. Redistributions in binary form must reproduce the above copyright 1227d5dc18SMarcel Moolenaar.\" notice, this list of conditions and the following disclaimer in the 1327d5dc18SMarcel Moolenaar.\" documentation and/or other materials provided with the distribution. 1427d5dc18SMarcel Moolenaar.\" 1527d5dc18SMarcel Moolenaar.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 1627d5dc18SMarcel Moolenaar.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 1727d5dc18SMarcel Moolenaar.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1827d5dc18SMarcel Moolenaar.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 1927d5dc18SMarcel Moolenaar.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2027d5dc18SMarcel Moolenaar.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2127d5dc18SMarcel Moolenaar.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2227d5dc18SMarcel Moolenaar.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2327d5dc18SMarcel Moolenaar.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 2427d5dc18SMarcel Moolenaar.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2527d5dc18SMarcel Moolenaar.\" 2627d5dc18SMarcel Moolenaar.\" $FreeBSD$ 2727d5dc18SMarcel Moolenaar.\" 2827d5dc18SMarcel Moolenaar.Dd August 25, 2003 2927d5dc18SMarcel Moolenaar.Dt UART 4 3027d5dc18SMarcel Moolenaar.Os 3127d5dc18SMarcel Moolenaar.\" 3227d5dc18SMarcel Moolenaar.Sh NAME 3327d5dc18SMarcel Moolenaar.Nm uart 3427d5dc18SMarcel Moolenaar.Nd driver for Universal Asynchronous Receiver/Transmitter (UART) devices 3527d5dc18SMarcel Moolenaar.\" 3627d5dc18SMarcel Moolenaar.Sh SYNOPSIS 3727d5dc18SMarcel Moolenaar.Cd "device uart" 3827d5dc18SMarcel Moolenaar.Pp 3927d5dc18SMarcel Moolenaar.Cd "device puc" 4027d5dc18SMarcel Moolenaar.Cd "device uart" 4127d5dc18SMarcel Moolenaar.\" 4227d5dc18SMarcel Moolenaar.Sh DESCRIPTION 4327d5dc18SMarcel MoolenaarThe 4427d5dc18SMarcel Moolenaar.Nm 4527d5dc18SMarcel Moolenaardevice driver provides support for various classes of UARTs implementing the 4627d5dc18SMarcel MoolenaarEIA RS-232C (CCITT V.24) serial communications interface. 47c48524c2SMike PritchardEach such interface is controlled by a separate and independent instance of 4827d5dc18SMarcel Moolenaarthe 4927d5dc18SMarcel Moolenaar.Nm 5027d5dc18SMarcel Moolenaardriver. 5127d5dc18SMarcel MoolenaarThe primary support for devices that contain multiple serial interfaces or 5227d5dc18SMarcel Moolenaarthat contain other functionality besides one or more serial interfaces is 5327d5dc18SMarcel Moolenaarprovided by the 5427d5dc18SMarcel Moolenaar.Xr puc 4 5527d5dc18SMarcel Moolenaardevice driver. 5627d5dc18SMarcel MoolenaarHowever, the serial interfaces of those devices that are managed by the 5727d5dc18SMarcel Moolenaar.Xr puc 4 5827d5dc18SMarcel Moolenaardriver are controlled by the 5927d5dc18SMarcel Moolenaar.Nm 6027d5dc18SMarcel Moolenaardriver. 6127d5dc18SMarcel MoolenaarAs such, the 6227d5dc18SMarcel Moolenaar.Xr puc 4 6327d5dc18SMarcel Moolenaardriver provides umbrella functionality for the 6427d5dc18SMarcel Moolenaar.Nm 6527d5dc18SMarcel Moolenaardriver and hides the complexities that are inherent when elementary components 6627d5dc18SMarcel Moolenaarare packaged together. 6727d5dc18SMarcel Moolenaar.Pp 6827d5dc18SMarcel MoolenaarThe 6927d5dc18SMarcel Moolenaar.Nm 7027d5dc18SMarcel Moolenaardriver has a modular design to allow it to be used on differing hardware and 7127d5dc18SMarcel Moolenaarfor various purposes. 7227d5dc18SMarcel MoolenaarIn the following sections the components are discussed in detail. 7327d5dc18SMarcel MoolenaarOptions are described in the section that covers the component to which each 7427d5dc18SMarcel Moolenaaroption applies. 7527d5dc18SMarcel Moolenaar.\" 7627d5dc18SMarcel Moolenaar.Ss CORE COMPONENT 7727d5dc18SMarcel MoolenaarAt the heart of the 7827d5dc18SMarcel Moolenaar.Nm 79fdae0df4SHiten Pandyadriver is the core component. 80fdae0df4SHiten PandyaIt contains the bus attachments and the low-level interrupt handler. 8127d5dc18SMarcel Moolenaar.\" 8227d5dc18SMarcel Moolenaar.Ss HARDWARE DRIVERS 8327d5dc18SMarcel MoolenaarThe core component and the kernel interfaces talk to the hardware through the 8427d5dc18SMarcel Moolenaarhardware interface. 8527d5dc18SMarcel MoolenaarThis interface serves as an abstraction of the hardware and allows varying 8627d5dc18SMarcel MoolenaarUARTs to be used for serial communications. 8727d5dc18SMarcel Moolenaar.\" 8827d5dc18SMarcel Moolenaar.Ss SYSTEM DEVICES 8927d5dc18SMarcel MoolenaarSystem devices are UARTs that have a special purpose by way of hardware 9027d5dc18SMarcel Moolenaardesign or software setup. 9127d5dc18SMarcel MoolenaarFor example, Sun UltraSparc machines use UARTs as their keyboard interface. 9227d5dc18SMarcel MoolenaarSuch an UART cannot be used for general purpose communications. 9327d5dc18SMarcel MoolenaarLikewise, when the kernel is configured for a serial console, the 9427d5dc18SMarcel Moolenaarcorresponding UART will in turn be a system device so that the kernel can 9527d5dc18SMarcel Moolenaaroutput boot messages early on in the boot process. 9627d5dc18SMarcel Moolenaar.\" 9727d5dc18SMarcel Moolenaar.Ss KERNEL INTERFACES 9827d5dc18SMarcel MoolenaarThe last but not least of the components is the kernel interface. 9927d5dc18SMarcel MoolenaarThis component ultimately determines how the UART is made visible to the 10027d5dc18SMarcel Moolenaarkernel in particular and to users in general. 10127d5dc18SMarcel MoolenaarThe default kernel interface is the TTY interface. 10227d5dc18SMarcel MoolenaarThis allows the UART to be used for terminals, modems and serial line IP 10327d5dc18SMarcel Moolenaarapplications. 10427d5dc18SMarcel MoolenaarSystem devices, with the notable exception of serial consoles, generally 10527d5dc18SMarcel Moolenaarhave specialized kernel interfaces. 10627d5dc18SMarcel Moolenaar.\" 107a814fd62SMarcel Moolenaar.Sh HARDWARE 108a814fd62SMarcel MoolenaarThe 109a814fd62SMarcel Moolenaar.Nm 110a814fd62SMarcel Moolenaardriver supports the following classes of UARTs: 111a814fd62SMarcel Moolenaar.Pp 112a814fd62SMarcel Moolenaar.Bl -bullet -compact 113a814fd62SMarcel Moolenaar.It 114a814fd62SMarcel MoolenaarNS8250: standard hardware based on the 8250, 16450, 16550, 16650, 16750 or 115a814fd62SMarcel Moolenaarthe 16950 UARTs 116a814fd62SMarcel Moolenaar.It 117a814fd62SMarcel MoolenaarSAB82532: Siemens SAB 82532 based serial communications controllers in 118c2c08524SJoel Dahlasynchronous mode. 119a814fd62SMarcel Moolenaar.It 120c2c08524SJoel DahlZ8530: Zilog 8530 based serial communications controllers in asynchronous 121a814fd62SMarcel Moolenaarmode. 122a814fd62SMarcel Moolenaar.El 123a814fd62SMarcel Moolenaar.\" 12406f40e96SJohn-Mark Gurney.Sh FILES 12506f40e96SJohn-Mark Gurney.Bl -tag -width /dev/ttyu?.init -compact 12606f40e96SJohn-Mark Gurney.It Pa /dev/ttyu? 12706f40e96SJohn-Mark Gurneyfor callin ports 12806f40e96SJohn-Mark Gurney.It Pa /dev/ttyu?.init 12906f40e96SJohn-Mark Gurney.It Pa /dev/ttyu?.lock 13006f40e96SJohn-Mark Gurneycorresponding callin initial-state and lock-state devices 13106f40e96SJohn-Mark Gurney.Pp 13206f40e96SJohn-Mark Gurney.It Pa /dev/cuau? 13306f40e96SJohn-Mark Gurneyfor callout ports 13406f40e96SJohn-Mark Gurney.It Pa /dev/cuau?.init 13506f40e96SJohn-Mark Gurney.It Pa /dev/cuau?.lock 13606f40e96SJohn-Mark Gurneycorresponding callout initial-state and lock-state devices 13706f40e96SJohn-Mark Gurney.El 13827d5dc18SMarcel Moolenaar.Sh SEE ALSO 13927d5dc18SMarcel Moolenaar.Xr puc 4 14027d5dc18SMarcel Moolenaar.\" 14127d5dc18SMarcel Moolenaar.Sh HISTORY 14227d5dc18SMarcel MoolenaarThe 14327d5dc18SMarcel Moolenaar.Nm 14427d5dc18SMarcel Moolenaardevice driver first appeared in 14527d5dc18SMarcel Moolenaar.Fx 5.2 . 146fdae0df4SHiten Pandya.Sh AUTHORS 147af3f61ebSHiten PandyaThis manual page was written by 14806b7363bSMarcel Moolenaar.An Marcel Moolenaar Aq marcel@xcllnt.net . 149