[Quote] New subsystem iio in Linux Kernel.

來源:互聯網
上載者:User

標籤:

So, here comes the iio subsystem new to Linux Kernel, at least for me, present for for supporting some of the composite sensors in Android.

Some introductions and some basic infos about it.

 

Introduce IIO interface for Android advanced features

iio-a-new-subsystem.pdf

 

Introduction in kernel/drivers/staging/iio/Documentation/overview.txt

 

Overview of IIO

The Industrial I/O subsystem is intended to provide support for devices
that in some sense are analog to digital converters (ADCs). As many
actual devices combine some ADCs with digital to analog converters
(DACs) that functionality is also supported.

The aim is to fill the gap between the somewhat similar hwmon and
input subsystems. Hwmon is very much directed at low sample rate
sensors used in applications such as fan speed control and temperature
measurement. Input is, as it‘s name suggests focused on input
devices. In some cases there is considerable overlap between these and
IIO.

A typical device falling into this category would be connected via SPI
or I2C.

Functionality of IIO

* Basic device registration and handling. This is very similar to
hwmon with simple polled access to device channels via sysfs.

* Event chrdevs. These are similar to input in that they provide a
route to user space for hardware triggered events. Such events include
threshold detectors, free-fall detectors and more complex action
detection. The events themselves are currently very simple with
merely an event code and a timestamp. Any data associated with the
event must be accessed via polling.

Note: A given device may have one or more event channel. These events are
turned on or off (if possible) via sysfs interfaces.

* Hardware buffer support. Some recent sensors have included
fifo / ring buffers on the sensor chip. These greatly reduce the load
on the host CPU by buffering relatively large numbers of data samples
based on an internal sampling clock. Examples include VTI SCA3000
series and Analog Device ADXL345 accelerometers. Each buffer supports
polling to establish when data is available.

* Trigger and software buffer support. In many data analysis
applications it it useful to be able to capture data based on some
external signal (trigger). These triggers might be a data ready
signal, a gpio line connected to some external system or an on
processor periodic interrupt. A single trigger may initialize data
capture or reading from a number of sensors. These triggers are
used in IIO to fill software buffers acting in a very similar
fashion to the hardware buffers described above.

Other documentation:

device.txt - elements of a typical device driver.

trigger.txt - elements of a typical trigger driver.

ring.txt - additional elements required for buffer support.

sysfs-bus-iio - abi documentation file.

[Quote] New subsystem iio in Linux Kernel.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.