tail head cat sleep
QR code linking to this page

Manual Pages  — SUPERIO

NAME

superio, superio_devid, superio_dev_disable, superio_dev_enable, superio_dev_enabled, superio_find_dev, superio_get_dma, superio_get_iobase, superio_get_irq, superio_get_ldn, superio_get_type, superio_read, superio_revid, superio_vendor, superio_write – Super I/O bus interface

CONTENTS

SYNOPSIS

#include <sys/bus.h>
#include <dev/superio/superio.h>

uint16_t
superio_devid(device_t dev);

void
superio_dev_disable(device_t dev, uint8_t mask);

void
superio_dev_enable(device_t dev, uint8_t mask);

bool
superio_dev_enabled(device_t dev, uint8_t mask);

device_t
superio_find_dev(device_t dev, superio_dev_type_t type, int ldn);

uint8_t
superio_get_dma(device_t dev);

uint16_t
superio_get_iobase(device_t dev);

uint8_t
superio_get_irq(device_t dev);

uint8_t
superio_get_ldn(device_t dev);

superio_dev_type_t
superio_get_type(device_t dev);

uint8_t
superio_read(device_t dev, uint8_t reg);

uint8_t
superio_revid(device_t dev);

superio_vendor_t
superio_vendor(device_t dev);

void
superio_write(device_t dev, uint8_t reg, uint8_t val);

DESCRIPTION

The superio set of functions are used for managing Super I/O devices. The functions provide support for raw configuration access, locating devices, device information, and device configuration.

The controller interface

The superio_vendor() function is used to get a vendor of the Super I/O controller dev. Possible return values are SUPERIO_VENDOR_ITE and SUPERIO_VENDOR_NUVOTON.

The superio_devid() function is used to get a device ID of the Super I/O controller dev.

The superio_revid() function is used to get a revision ID of the Super I/O controller dev.

The superio_find_dev() function is used to find a device on the superio(4) bus, specified by dev, that has the requested type and logical device number. Either of those, but not both, can be a wildcard. Supported types are SUPERIO_DEV_GPIO, SUPERIO_DEV_HWM, and SUPERIO_DEV_WDT. The wildcard value for type is SUPERIO_DEV_NONE. The wildcard value for ldn is -1.

The device interface

The superio_read() function is used to read data from the Super I/O configuration register of the device dev.

The superio_write() function is used to write data to the Super I/O configuration register of the device dev.

The superio_dev_enable(), superio_dev_disable(), and superio_dev_enabled() functions are used to enable, disable, or check status of the device dev. The mask parameter selects sub-functions of a device that supports them. For devices that do not have sub-functions, mask should be set to 1.

The accessor interface

The superio_get_dma() is used to get a DMA channel number configured for the device dev.

The superio_get_iobase() is used to get a base I/O port configured for the device dev. The device may expose additional or alternative configuration access via the I/O ports.

The superio_get_irq() is used to get an interrupt number configured for the device dev.

The superio_get_ldn() is used to get a Logical Device Number of the device dev.

The superio_get_type() is used to get a type of the device dev.

SEE ALSO

superio(4), device(9), driver(9)

AUTHORS

This manual page was written by Andriy Gapon Mt avg@FreeBSD.org

SUPERIO (9) October 11, 2019

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Today, the Unix equivalent of a power drill would have 20 dials and switches, come with a nonstandard plug, require the user to hand-wind the motor coil, and not accept 3/8" or 7/8" drill bits (though this would be documented in the BUGS section of its instruction manual).
— The Unix Haters' handbook