xref: /freebsd/share/man/man4/superio.4 (revision c81495a621c461b3d3395a7c5b0e73458201c443)
1.\"
2.\" SPDX-License-Identifier: BSD-2-Clause
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. Namely:
105
106.Bl -bullet -compact
107.It
108Fintek F81803
109.It
110Fintek F81865
111.It
112Nuvoton NCT5104D/NCT6102D/NCT6106D rev. A and B+
113.It
114Nuvoton NCT5585D
115.It
116Nuvoton NCT6116D
117.It
118Nuvoton NCT6775
119.It
120Nuvoton NCT6776
121.It
122Nuvoton NCT6779
123.It
124Nuvoton NCT6791
125.It
126Nuvoton NCT6792
127.It
128Nuvoton NCT6793
129.It
130Nuvoton NCT6795
131.It
132Nuvoton NCT6796D-E
133.It
134Winbond 83627HF/F/HG/G/S/THF/EHF/DHG/UHG/DHG-P
135.It
136Winbond 83637HF
137.It
138Winbond 83667HG/HG-B
139.It
140Winbond 83687THF
141.It
142Winbond 83697HF/UG
143.El
144
145.Sh SEE ALSO
146.Xr superio 9
147.Sh HISTORY
148The
149.Nm
150driver was written by
151.An Andriy Gapon Aq Mt avg@FreeBSD.org .
152