xref: /freebsd/share/man/man4/uart.4 (revision fdae0df42a014a000dffdefa8a08e4f0bdf5205f)
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