SUPERIO(4)

NAME
superio - Super I/O controller and bus driver

SYNOPSIS
To compile this driver into the kernel, place the following line in your kernel configuration file:

device superio

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    superio_load="YES"

DESCRIPTION
Super I/O is an I/O controller that combines various low-bandwidth devices that can be functionally unrelated otherwise. A typical Super I/O can contain devices such as

•   a floppy disk controller
•   a parallel port
•   a serial port
•   a PS/2 mouse and keyboard controller
•   a hardware monitoring controller
•   a watchdog timer
•   a controller for general purpose input-output

The superio driver provides support for devices residing in the Super I/O controller that can only be accessed or discovered using the controller's interface. Some of the Super I/O devices have standardized interfaces. Such devices either use well-known legacy resources or they are advertised via ACPI or both. They can be configured either using ISA bus hints or they are auto-configured by acpi(4). The superio driver is not designed to interact with that kind of devices. They can be handled by their respective drivers without any knowledge of the Super I/O specifics. For instance, fdc(4) provides access to the floppy disk controller.

There are other Super I/O devices that do not have any standardized interface. Drivers for those devices can be written using facilities of the superio driver.

The driver itself attaches to the ISA bus as all supported controllers are accessed via LPC I/O ports.

The superio driver is unusual as it is both a controller driver for a variety of Super I/O controllers and a bus driver for supported devices in those controllers.

HARDWARE
The superio driver supports a multitude of Super I/O controllers produced by Nuvoton, formerly known as Winbond, and ITE, namely:

•   Fintek F81803
•   Fintek F81865
•   Nuvoton NCT5104D/NCT6102D/NCT6106D rev. A and B+
•   Nuvoton NCT5585D
•   Nuvoton NCT6116D
•   Nuvoton NCT6775
•   Nuvoton NCT6776
•   Nuvoton NCT6779
•   Nuvoton NCT6791
•   Nuvoton NCT6792
•   Nuvoton NCT6793
•   Nuvoton NCT6795
•   Nuvoton NCT6796D-E
•   Winbond 83627HF/F/HG/G/S/THF/EHF/DHG/UHG/DHG-P
•   Winbond 83637HF
•   Winbond 83667HG/HG-B
•   Winbond 83687THF
•   Winbond 83697HF/UG

SEE ALSO
superio(9)

HISTORY
The superio driver was written by Andriy Gapon <avg@FreeBSD.org>.