table of contents
| SUPERIO(9) | Kernel Developer's Manual | SUPERIO(9) |
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
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¶
AUTHORS¶
This manual page was written by Andriy Gapon avg@FreeBSD.org
| October 11, 2019 | Debian |