xref: /linux/Documentation/driver-api/iio/intro.rst (revision b4db9f840283caca0d904436f187ef56a9126eaa)
1.. include:: <isonum.txt>
2
3============
4Introduction
5============
6
7The main purpose of the Industrial I/O subsystem (IIO) is to provide support
8for devices that in some sense perform either
9analog-to-digital conversion (ADC) or digital-to-analog conversion (DAC)
10or both. The aim is to fill the gap between the somewhat similar hwmon and
11:doc:`input <../input>` subsystems. Hwmon is directed at low sample rate
12sensors used to monitor and control the system itself, like fan speed control
13or temperature measurement. :doc:`Input <../input>` is, as its name suggests,
14focused on human interaction input devices (keyboard, mouse, touchscreen).
15In some cases there is considerable overlap between these and IIO.
16
17Devices that fall into this category include:
18
19* analog to digital converters (ADCs)
20* accelerometers
21* capacitance to digital converters (CDCs)
22* digital to analog converters (DACs)
23* gyroscopes
24* inertial measurement units (IMUs)
25* color and light sensors
26* magnetometers
27* pressure sensors
28* proximity sensors
29* temperature sensors
30
31Usually these sensors are connected via :doc:`SPI <../spi>` or
32:doc:`I2C <../i2c>`. A common use case of the sensors devices is to have
33combined functionality (e.g. light plus proximity sensor).
34