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. 4727d5dc18SMarcel MoolenaarEach such interface is controlled by a seperate 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.\" 10727d5dc18SMarcel Moolenaar.Sh SEE ALSO 10827d5dc18SMarcel Moolenaar.Xr puc 4 10927d5dc18SMarcel Moolenaar.\" 11027d5dc18SMarcel Moolenaar.Sh HISTORY 11127d5dc18SMarcel MoolenaarThe 11227d5dc18SMarcel Moolenaar.Nm 11327d5dc18SMarcel Moolenaardevice driver first appeared in 11427d5dc18SMarcel Moolenaar.Fx 5.2 . 115fdae0df4SHiten Pandya.Sh AUTHORS 116fdae0df4SHiten PandyaThis manual page is written by 117fdae0df4SHiten Pandya.An Marcel Molenaar Aq marcel@FreeBSD.ORG . 118