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 |