xref: /freebsd/share/man/man4/superio.4 (revision 4f8f43b06ed07e96a250855488cc531799d5b78f)
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.Dd October 11, 2019
28.Dt SUPERIO 4
29.Os
30.Sh NAME
31.Nm superio
32.Nd Super I/O controller and bus driver
33.Sh SYNOPSIS
34To compile this driver into the kernel,
35place the following line in your
36kernel configuration file:
37.Bd -ragged -offset indent
38.Cd "device superio"
39.Ed
40.Pp
41Alternatively, to load the driver as a
42module at boot time, place the following line in
43.Xr loader.conf 5 :
44.Bd -literal -offset indent
45superio_load="YES"
46.Ed
47.Sh DESCRIPTION
48Super I/O is an I/O controller that combines various low-bandwidth devices
49that can be functionally unrelated otherwise.
50A typical Super I/O can contain devices such as
51.Pp
52.Bl -bullet -compact
53.It
54a floppy disk controller
55.It
56a parallel port
57.It
58a serial port
59.It
60a PS/2 mouse and keyboard controller
61.It
62a hardware monitoring controller
63.It
64a watchdog timer
65.It
66a controller for general purpose input-output
67.El
68.Pp
69The
70.Nm
71driver provides support for devices residing in the Super I/O controller
72that can only be accessed or discovered using the controller's interface.
73Some of the Super I/O devices have standardized interfaces.
74Such devices either use well-known legacy resources or they are advertised
75via ACPI or both.
76They can be configured either using ISA bus hints or they are auto-configured by
77.Xr acpi 4 .
78The
79.Nm
80driver is not designed to interact with that kind of devices.
81They can be handled by their respective drivers without any knowledge of the
82Super I/O specifics.
83For instance,
84.Xr fdc 4
85provides access to the floppy disk controller.
86.Pp
87There are other Super I/O devices that do not have any standardized interface.
88Drivers for those devices can be written using facilities of the
89.Nm
90driver.
91.Pp
92The driver itself attaches to the ISA bus as all supported controllers are
93accessed via LPC I/O ports.
94.Pp
95The
96.Nm
97driver is unusual as it is both a controller driver for a variety of Super I/O
98controllers and a bus driver for supported devices in those controllers.
99.Sh HARDWARE
100The
101.Nm
102driver supports a multitude of Super I/O controllers produced by Nuvoton,
103formerly known as Winbond, and ITE, namely:
104.Pp
105.Bl -bullet -compact
106.It
107Fintek F81803
108.It
109Fintek F81865
110.It
111Nuvoton NCT5104D/NCT6102D/NCT6106D rev. A and B+
112.It
113Nuvoton NCT5585D
114.It
115Nuvoton NCT6116D
116.It
117Nuvoton NCT6775
118.It
119Nuvoton NCT6776
120.It
121Nuvoton NCT6779
122.It
123Nuvoton NCT6791
124.It
125Nuvoton NCT6792
126.It
127Nuvoton NCT6793
128.It
129Nuvoton NCT6795
130.It
131Nuvoton NCT6796D-E
132.It
133Winbond 83627HF/F/HG/G/S/THF/EHF/DHG/UHG/DHG-P
134.It
135Winbond 83637HF
136.It
137Winbond 83667HG/HG-B
138.It
139Winbond 83687THF
140.It
141Winbond 83697HF/UG
142.El
143.Sh SEE ALSO
144.Xr superio 9
145.Sh HISTORY
146The
147.Nm
148driver was written by
149.An Andriy Gapon Aq Mt avg@FreeBSD.org .
150