Recently saw a little lkml, found inside a subsystem called "IIO". Have not been contacted before, so Google down.
The IIO subsystem full name is
Industrial i /O subsystem
(Industrial I/O subsystem),is now in
needs to be perfectedIn the kernel tree, located in the drivers/
StagingThe/iio directory. According to the description of the kernel description document:
The industrial I/O subsystem is designed to provide support for devices that, in a sense, act as an analog-to-digital converter (ADC). The purpose of this subsystem is to fill in the types of devices that are located between Hwmon (Hardware monitor) and input subsystems when classifying. In some cases, there is considerable overlap between iio and Hwmon, and input.
the devices belonging to IIO are as follows (refer to the Adi Wiki):
- ADCs (Analog-to-digital converters)
- Acceleration Sensor
- Gyroscope
- IMUs (Inertial measurement unit)
- Capacitance-to-digital converters (CDCs)
- pressure, temperature and light sensors
from the source directory can be seen, there are:
magnetometer sensor, Power meter, resolver -to-digital converterIt
can be seen that these peripherals are indeed used in the industrial sector , of course, some of which are used in other areas, such as
- acceleration Sensors, Gyroscope, temperature and light sensors are also widely used in mobile devices (mobile phones, tablets).
The IIO main framework is as follows (ADI Wiki content):for the introduction of Iio, Adi Wiki is relatively clear, I can conveniently translate this document into Chinese, share the following:IIO Overview.pdf.rar The kernel documentation is also of great reference value, and is more detailed. Location: Drivers/staging/iio/documentationI also translated the Overview.txt file, share the following: II O_o Verview.txt.pdf.rarHere's just a quick look at the system. Later, I will continue to analyze the system, translate the kernel document, and then write the analysis document.
Linux IIO Subsystem Analysis