Technical Blogs

ADXRS290’s First Words

GSoC 2020 [ 0x04 ]

There are a few more things to cook after our silhouette driver to attain a cheerful face from a successful probe test. We’ll attempt a OF style match of our ADXRS290 device with the skeleton driver, i.e. by creating a device-tree overlay. Configuring our kernel so as to build the drivers/iio/gyro/adxrs290.c module, statically or dynamically, will be explored too. Additionally, kernel practices such as on how to fill the MAINTAINERS document for the automated process of mailing a patch to the maintainers of a driver upstream using ./scripts/get_maintainer.pl, how to create a binding document for the device-tree overlay file, etc. will be covered in this tutorial.

Sketching a Silhouette for ADXRS290’s Driver - Part 2 of 2

GSoC 2020 [ 0x03 ]

Carrying on from where we have left Part 1, this post presents the structure of a bare-minimal IIO driver which, when “bound” to our ADXRS290 slave on the SPI master bus, prints a sweet greeting message during its probe() callback.

Sketching a Silhouette for ADXRS290’s Driver - Part 1 of 2

GSoC 2020 [ 0x02 ]

My take on kicking off writing the driver support for ADXRS290 gyroscope in the Linux kernel is to first sketch an outline of how the driver is supposed to look in the IIO subsystem, the silhouette, and once that is accepted, proceed with “coloring” the intricate details of the driver. Although I assume the reader to be familiar with the Linux Device Model (LDM), I nevertheless drop some resources for the same in this tutorial (?) for the reader to dive into. In this post, I also unravel the ingredients that make up the IIO subsystem in an attempt to reason why it is the suitable home for our gyroscope. Ending the first part, I hypothesize an outline of how the IIO driver support for ADXRS290 would look like.

Rate My Setup - The Layman Version

GSoC 2020 [ 0x01 ]

Here comes the long deferred post briefing on how to setup for an IIO device driver project. Although my setup is specifically targeted for my GSoC project, I think you’d still get a decent idea on how to proceed with your own one. The final (working) setup is achieved using an Ethernet cable (to share the network of the host laptop) to SSH into Raspberry Pi 3B+ running Analog Devices’ Kuiper OS. VNC server and client is additionaly configured to be able to remotely view IIO Oscilloscope’s GUI from the virtual desktop once we have buffer support for our device.

Device Drivers for Dummies

Disclaimer : This article is intended to act as an entry point for beings interested in Linux kernel development and learning about the Linux kernel alongside. I’m aware of numerous such posts on the Internet by kernel veterans but what I intend to bring on the table is the same journey but with a fellow layman, trying to wrap his head around the magnificient piece of art - the Linux kernel - in the hopes of a fun, collaborative approach towards learning.

\begin {iio_driver_for_adxrs290}

GSoC 2020 [ 0x00 ]

GSoC2020 under The Linux Foundation