This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
gsoc:2024-gsoc-iio-driver [2024/01/12 18:47] till created |
gsoc:2024-gsoc-iio-driver [2024/02/08 05:54] marcelosc Better formatting, proposal tips, example of previous projects |
||
---|---|---|---|
Line 10: | Line 10: | ||
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). | 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). | ||
+ | |||
+ | ==== More about IIO ==== | ||
+ | |||
+ | * [[https://wiki.analog.com/software/linux/docs/iio/iio|ADI's Linux Industrial I/O Subsystem wiki page]] | ||
+ | * [[https://www.youtube.com/watch?v=644oH1FXdtE|10 Years of the Industrial I/O Kernel Subsystem]] | ||
+ | * [[https://www.youtube.com/watch?v=yBjaI1uyXGY|Using Raspberry Pi With Connected Analog as Lab Instrumentation]] | ||
+ | * [[https://www.youtube.com/watch?v=p_VntEwUe24|LibIIO - A Library for Interfacing with Linux IIO Devices]] | ||
+ | * [[https://www.youtube.com/watch?v=ct6Y5GBwVSQ|Software Defined Radio - Sdr]] | ||
+ | |||
===== Project Proposal ===== | ===== Project Proposal ===== | ||
- | **To be updated** | + | ==== Create a Linux IIO driver for Analog Devices, Inc.'s AD7294-2 12-bit control system with ADC, DACs, temperature sensor, and current sense ==== |
- | Create a Linux IIO driver for one of the Analog Devices, Inc.'s parts. We are open for suggestions in identifying the exact component. If there won’t be suggestions, or they don’t make sense, we will propose one component to the chosen student. | + | **Project Size:** 1 contributor medium (175 hours), **Level of difficulty:** Intermediate |
- | The driver should be tested on the real hardware. The proposed setup is Raspberry Pi 3 Model B + the chosen component's evaluation board. | + | **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. | ||
+ | |||
+ | Code repository: [[https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/]] | ||
+ | |||
+ | Code License: GPLv2 | ||
+ | |||
+ | ==== Tips for writing a good proposal ==== | ||
+ | |||
+ | * Start with a section telling a bit about you with basic info such as name, summary of skills, email address, etc. | ||
+ | * Then provide a short bio and coding skills subsections. | ||
+ | * Next, add a section about your motivations for participating in the IIO driver GSoC project. This is a good opportunity to tell your experiences with the IIO subsystem if you have been involved with it before. | ||
+ | * If you made any contribution to the Linux kernel or any other open source project, you might list them in a section too. | ||
+ | * If you are very excited about participating GSoC and want to do more than the Linux driver you may add more sections describing additional ideas or plans. | ||
+ | * Finally, add a section about the project and the planned work schedule. Previous IIO driver GSoC project proposals have presented work schedules divided into weeks. For easy visualization of deadlines, we kindly ask participants to also display GSoC evaluation dates in their work schedules. | ||
+ | * Feel free to share your draft before submitting the final version. | ||
+ | |||
+ | === Drivers developed in previous GSoC projects === | ||
+ | |||
+ | * [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/accel/adxl355_core.c|drivers/iio/accel/adxl355*]] | ||
+ | * [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/accel/adxl313_core.c|drivers/iio/accel/adxl313*]] | ||
+ | * [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/adc/ad7292.c|drivers/iio/adc/ad7292.c]] | ||
- | The end goal of the project is to submit the code upstream. | ||
===== Contact ===== | ===== Contact ===== | ||
- | == Mentors: == | + | Mailing list: [[https://lore.kernel.org/linux-iio/]], [[http://vger.kernel.org/vger-lists.html#linux-iio]] |
- | Ciprian Hegbeli <ciprian.hegbeli@analog.com>\\ | + | |
- | Marcelo Schmitt <marcelo.schmitt@analog.com>\\ | + | IRC: #linux-iio on OFTC |
- | Dragos Bogdan <dragos.bogdan@analog.com>\\ | + | |
+ | Mentors: | ||
+ | |||
+ | * Ciprian Hegbeli (ciprian dot hegbeli at analog.com) | ||
+ | * Marcelo Schmitt (marcelo dot schmitt at analog.com) | ||
+ | * Dragos Bogdan (dragos dot bogdan at analog.com) | ||
+ | |||
+ | Note: Email addresses are displayed in a non-strict format to protect recipients from spam bots. Please replace all occurrences of “ at ” and “ dot ” by “@” and “.” respectively. | ||