Post Go back to editing

Where Can I Find Good Documentation for IIO Subsystem and IIO Drivers

Category: Software

There is a very basic discussion of IIO at

There a very brief introduction to IIO device drivers in Linux Device Driver Development, by John Madieu, 2nd edition (c)2022 Packt Publishing.

There is a very rough sketch of the IIO SPI-Engine framework at

There are various IIO device drivers available, for example or

Then of course is the Linux kernel "documentation," for what it is.

I have asked several questions in this forum that have gone unanswered, and the last one to get answered, I answered it myself.

I am finding it very frustrating to figure anything of any substance from these sources.  Where else should I be looking to know how the IIO system actually operates, what is the sequence of operations for user space libiio calls that end up calling platform and device drivers?

Where is the overall API documentation available to different classes of IIO drivers?  For example, the AD738x driver calls functions such as spi_write_then_read, spi_sync_transfer, iio_push_to_buffer_with_timestamp, iio_trigger_notify_done, and iio_triggered_buffer_setup.  However, the AD400x driver calls functions such as spi_message_add_tail, spy_sync_locked, spi_message_init_with_transfers, iio_device_claim_direct_mode.  That's about where I got annoyed.  The drivers available have differing subsets of capabilities, evidently.

Where can I find a good overview of how all the components and APIs play together, so that I have a starting place for putting together a driver with full capabilities for the IIO system?

fix typos while awaiting a response.
[edited by: ddickerhoof at 8:52 PM (GMT -5) on 30 Jan 2023]