User Tools

Site Tools


gsoc:2024-gsoc-iio-driver

This is an old revision of the document!


Google Summer of Code 2024: IIO Driver

Industrial I/O subsystem (IIO)

The main purpose of the Industrial I/O subsystem (IIO) is to provide support for devices that in some sense perform either analog-to-digital conversion (ADC) or digital-to-analog conversion (DAC) or both. The aim is to fill the gap between the somewhat similar hwmon and input subsystems. Hwmon is directed at low sample rate sensors used to monitor and control the system itself, like fan speed control or temperature measurement. Input is, as its name suggests, focused on human interaction input devices (keyboard, mouse, touchscreen). In some cases there is considerable overlap between these and IIO.

Devices that fall into this category include: analog to digital converters (ADCs), accelerometers, capacitance to digital converters (CDCs), digital to analog converters (DACs), gyroscopes, inertial measurement units (IMUs), color and light sensors, magnetometers, pressure sensors, proximity sensors, temperature sensors, etc.

Usually these sensors are connected via SPI or I2C. A common use case of the sensors devices is to have combined functionality (e.g. light plus proximity sensor).

Project Proposal

Create a Linux IIO driver for Analog Devices, Inc.'s AD7294-2 12-bit control system with ADC, DACs, temperature synsor, and current sense.

Project Size: 1 contributor medium (175 hours), Level of difficulty: Intermediate

Desired knowledge: C, Bash, operating systems elementary concepts

The driver should be tested on the real hardware. The proposed setup is Raspberry Pi 3 Model B and EVAL-AD7294-2 evaluation board.

The goal of the project is to provide support for AD7294-2 chips within Linux which will require writing device tree documentation for AD7294-2 part and developing an IIO device driver. The desired final project state is to have AD7294-2 driver and associated device tree documentation merged with upstream IIO tree.

We are also open for suggestions for different ADI's component. If there won’t be suggestions, or they don’t make sense, we will choose one component for the accepted student.

Contact

Mailing list: https://lore.kernel.org/linux-iio/, http://vger.kernel.org/vger-lists.html#linux-iio

IRC: #linux-iio on OFTC

Code repository: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/

Code License: GPLv2

Mentors:

Ciprian Hegbeli ciprian.hegbeli@analog.com Marcelo Schmitt marcelo.schmitt@analog.com Dragos Bogdan dragos.bogdan@analog.com

gsoc/2024-gsoc-iio-driver.1707342454.txt.gz · Last modified: 2024/02/07 21:47 by till