xref: /freebsd/share/man/man4/superio.4 (revision c6989859ae9388eeb46a24fe88f9b8d07101c710)
1.\"
2.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3.\"
4.\" Copyright (c) 2019 Andriy Gapon <avg@FreeBSD.org>
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25.\" SUCH DAMAGE.
26.\"
27.\" $FreeBSD$
28.\"
29.Dd October 11, 2019
30.Dt SUPERIO 4
31.Os
32.Sh NAME
33.Nm superio
34.Nd Super I/O controller and bus driver
35.Sh SYNOPSIS
36To compile this driver into the kernel,
37place the following line in your
38kernel configuration file:
39.Bd -ragged -offset indent
40.Cd "device superio"
41.Ed
42.Pp
43Alternatively, to load the driver as a
44module at boot time, place the following line in
45.Xr loader.conf 5 :
46.Bd -literal -offset indent
47superio_load="YES"
48.Ed
49.Sh DESCRIPTION
50Super I/O is an I/O controller that combines various low-bandwidth devices
51that can be functionally unrelated otherwise.
52A typical Super I/O can contain devices such as
53.Bl -bullet -compact
54.It
55a floppy disk controller
56.It
57a parallel port
58.It
59a serial port
60.It
61a PS/2 mouse and keyboard controller
62.It
63a hardware monitoring controller
64.It
65a watchdog timer
66.It
67a controller for general purpose input-output
68.El
69.Pp
70The
71.Nm
72driver provides support for devices residing in the Super I/O controller
73that can only be accessed or discovered using the controller's interface.
74Some of the Super I/O devices have standardized interfaces.
75Such devices either use well-known legacy resources or they are advertised
76via ACPI or both.
77They can be configured either using ISA bus hints or they are auto-configured by
78.Xr acpi 4 .
79The
80.Nm
81driver is not designed to interact with that kind of devices.
82They can be handled by their respective drivers without any knowledge of the
83Super I/O specifics.
84For instance,
85.Xr fdc 4
86provides access to the floppy disk controller.
87.Pp
88There are other Super I/O devices that do not have any standardized interface.
89Drivers for those devices can be written using facilities of the
90.Nm
91driver.
92.Pp
93The driver itself attaches to the ISA bus as all supported controllers are
94accessed via LPC I/O ports.
95.Pp
96The
97.Nm
98driver is unusual as it is both a controller driver for a variety of Super I/O
99controllers and a bus driver for supported devices in those controllers.
100.Sh HARDWARE
101The
102.Nm
103driver supports a multitude of Super I/O controllers produced by Nuvoton,
104formerly known as Winbond, and ITE.
105.Sh SEE ALSO
106.Xr superio 9
107.Sh HISTORY
108The
109.Nm
110driver was written by
111.An Andriy Gapon Aq Mt avg@FreeBSD.org .
112