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
#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);
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 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 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 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.