[PATCH v6 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC

From: Antoniu Miclaus

Date: Fri Mar 13 2026 - 07:59:41 EST


Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC from
the same family as AD4080.

The AD4880 has two independent ADC channels, each with its own SPI
configuration interface and LVDS data output. The driver uses
spi_new_ancillary_device() for the second channel's SPI and requires
two io-backend instances for the data interfaces.

This series includes:
- Use __free(fwnode_handle) for automatic cleanup in iio backend
- Refactored devm_iio_backend_get_by_index() for multi-channel backend lookup
- DT bindings update for AD4880
- Driver support for AD4880

This series depends on the SPI ancillary device patches already picked
up in Mark Brown's SPI tree (https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git).
Added base-commit in the cover letter below.

Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ad4880.pdf

Changes in v6:
- Move fwnode_back declaration back to inline position above
IS_ERR() check (patch 2)
- Rebase on top of broonie/spi for-next and use --base to declare
the SPI dependency (cover letter)

Antoniu Miclaus (4):
iio: backend: use __free(fwnode_handle) for automatic cleanup
iio: backend: add devm_iio_backend_get_by_index()
dt-bindings: iio: adc: ad4080: add AD4880 support
iio: adc: ad4080: add support for AD4880 dual-channel ADC

.../bindings/iio/adc/adi,ad4080.yaml | 53 +++-
drivers/iio/adc/ad4080.c | 230 ++++++++++++++----
drivers/iio/industrialio-backend.c | 62 +++--
include/linux/iio/backend.h | 2 +
4 files changed, 278 insertions(+), 69 deletions(-)


base-commit: 2cd3974b9ae59ac731a4792e1608be32621b6e98
--
2.43.0