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