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