[PATCH v4 0/4] iio: adc: ad4000: Add SPI offload support
From: Marcelo Schmitt
Date: Thu Mar 27 2025 - 17:25:13 EST
This patch series extends the ad4000 driver to support SPI offloading.
In addition to that, ad4000 IIO documentation is expanded to:
- list PulSAR parts supported by the ad4000 driver.
- describe some characteristics of AD4000 IIO device.
- describe changes when SPI offload is being used.
Change log v3 -> v4
[IIO driver]
- No longer changing spi_device CS timing parameters.
- SPI offload messages now set only one transfer.
- Degraded offload_xfers from array to single entry field.
- Adjusted ad4000_spi_offload_setup() comment.
- Dropped t_quiet1_ns since it's not used anymore.
- Fixed include order.
- Fixed typo: withouth -> without.
[Documentation]
- Picked up review tags.
- Made phrase about SPI offload engine more generic.
- Complemented SPI offload section with supported wiring configurations.
Change log v2 -> v3
- Dropped patch 1 of v2 series and reverted buffer endianness and SPI transfer
bits_per_word configurations to the way they were in v1.
- Removed dummy transfer in ad4000_prepare_offload_turbo_message().
- Unified offload message preparation.
- Removed spi->cs_hold.value to use cs_inactive to set CNV/CS high time.
- Adjusted max sample rate for AD7983 and AD7984.
- Dropped AD4000_TCONV_NS and made all time related constants a time_spec field.
- Removed _offl param from _CHANNELS() macros and added a comment about that.
- Commented IIO_BE check in ad4000_prepare_3wire_mode_message().
- Now using predisable to balance with postenable.
- Put spi/offload/consumer.h include right after spi/spi.h.
- Removed unrelated brackets in info_mask_separate_available assignment
- Added blank line after if.
Change log v1 -> v2
- Fixed passing inappropriate pointer instead of ret to dev_err_probe()
- [new patch] Set transfer bits_per_word to have data in CPU endianness
- Set iio_dev num_channels close to where channels is set.
- Complement offload message comment about first sample being invalid
- Document why the first buffer sample is invalid when offloading
- Added blank line before a 'simple return'.
Link to v3: https://lore.kernel.org/linux-iio/cover.1742992305.git.marcelo.schmitt@xxxxxxxxxx/
Link to v2: https://lore.kernel.org/linux-iio/cover.1742394806.git.marcelo.schmitt@xxxxxxxxxx/
Link to v1: https://lore.kernel.org/linux-iio/cover.1741970538.git.marcelo.schmitt@xxxxxxxxxx/
Marcelo Schmitt (4):
iio: adc: ad4000: Add support for SPI offload
Documentation: iio: ad4000: Add new supported parts
Documentation: iio: ad4000: Add IIO Device characteristics section
Documentation: iio: ad4000: Describe offload support
Documentation/iio/ad4000.rst | 91 ++++++++-
drivers/iio/adc/Kconfig | 7 +-
drivers/iio/adc/ad4000.c | 382 +++++++++++++++++++++++++++++++----
3 files changed, 444 insertions(+), 36 deletions(-)
base-commit: 9f36acefb2621d980734a5bb7d74e0e24e0af166
prerequisite-patch-id: 3d517eef53a799adba5922815fe684b913e36773
--
2.47.2