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

Antoniu Miclaus posted 5 patches 1 month, 1 week ago
There is a newer version of this series
.../bindings/iio/adc/adi,ad4080.yaml          |  53 +++-
drivers/iio/adc/ad4080.c                      | 243 ++++++++++++++----
drivers/iio/industrialio-backend.c            |  61 +++--
drivers/spi/spi.c                             |  69 ++++-
include/linux/iio/backend.h                   |   2 +
include/linux/spi/spi.h                       |   1 +
6 files changed, 350 insertions(+), 79 deletions(-)
[PATCH v4 0/5] iio: adc: ad4080: add support for AD4880 dual-channel ADC
Posted by Antoniu Miclaus 1 month, 1 week ago
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:
  - SPI core fix to allow ancillary devices to share parent's chip selects
  - New devm_spi_new_ancillary_device() managed helper
  - Refactored devm_iio_backend_get_by_index() for multi-channel backend lookup
  - DT bindings update for AD4880
  - Driver support for AD4880

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

Changes in v4:
  - Add Fixes tag for the SPI ancillary CS conflict (patch 1)
  - Collect Acked-by/Reviewed-by tags from Nuno Sá
  - Drop redundant maxItems from io-backends in dt-bindings since
    the items list already constrains the maximum (patch 4)
  - Use spi_get_chipselect() instead of device_property_read_u32_array()
    for ancillary device chip select lookup (patch 5)

Antoniu Miclaus (5):
  spi: allow ancillary devices to share parent's chip selects
  spi: add devm_spi_new_ancillary_device()
  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                      | 243 ++++++++++++++----
 drivers/iio/industrialio-backend.c            |  61 +++--
 drivers/spi/spi.c                             |  69 ++++-
 include/linux/iio/backend.h                   |   2 +
 include/linux/spi/spi.h                       |   1 +
 6 files changed, 350 insertions(+), 79 deletions(-)

-- 
2.43.0

Re: [PATCH v4 0/5] iio: adc: ad4080: add support for AD4880 dual-channel ADC
Posted by Mark Brown 1 month ago
On Mon, Feb 23, 2026 at 06:20:59PM +0200, Antoniu Miclaus wrote:
> Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC from
> the same family as AD4080.

The following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f:

  Linux 7.0-rc1 (2026-02-22 13:18:59 -0800)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git tags/spi-devm-ancilliary

for you to fetch changes up to e02902dd493bf9c9b05353c761737ac514ad7a5c:

  spi: add devm_spi_new_ancillary_device() (2026-02-24 17:41:42 +0000)

----------------------------------------------------------------
spi: add devm_spi_new_ancillary_device()

Add a managed version of spi_new_ancillary_device()

----------------------------------------------------------------
Alain Volmat (1):
      spi: stm32: fix rx DMA request error handling

Andy Shevchenko (1):
      spi: pxa2xx: use min() instead of min_t()

Antoni Pokusinski (1):
      spi: omap2-mcspi: add support for 3-wire transfers

Antoniu Miclaus (2):
      spi: allow ancillary devices to share parent's chip selects
      spi: add devm_spi_new_ancillary_device()

Charles Keepax (1):
      spi: cs42l43: Don't support sidecar properties on device tree systems

Cosmin Tanislav (1):
      spi: dt-bindings: renesas,rzv2h-rspi: allow multiple DMAs

Krzysztof Kozlowski (1):
      spi: stm32: Use NULL instead of 0 for pointer

Patrice Chotard (1):
      spi: stm32-ospi: Remove exec_op() callback debug log

Pei Xiao (1):
      spi: atcspi200: Remove redundant assignment to .owner

 .../bindings/spi/renesas,rzv2h-rspi.yaml           | 16 ++++-
 drivers/spi/spi-atcspi200.c                        |  1 -
 drivers/spi/spi-cs42l43.c                          |  4 +-
 drivers/spi/spi-omap2-mcspi.c                      | 17 ++++--
 drivers/spi/spi-pxa2xx.c                           | 11 ++--
 drivers/spi/spi-stm32-ospi.c                       |  5 --
 drivers/spi/spi-stm32.c                            | 10 ++--
 drivers/spi/spi.c                                  | 69 ++++++++++++++++++++--
 include/linux/spi/spi.h                            |  1 +
 9 files changed, 101 insertions(+), 33 deletions(-)
Re: (subset) [PATCH v4 0/5] iio: adc: ad4080: add support for AD4880 dual-channel ADC
Posted by Mark Brown 1 month, 1 week ago
On Mon, 23 Feb 2026 18:20:59 +0200, Antoniu Miclaus wrote:
> 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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[2/5] spi: add devm_spi_new_ancillary_device()
      commit: e02902dd493bf9c9b05353c761737ac514ad7a5c

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Re: (subset) [PATCH v4 0/5] iio: adc: ad4080: add support for AD4880 dual-channel ADC
Posted by Jonathan Cameron 1 month ago
On Wed, 25 Feb 2026 19:09:37 +0000
Mark Brown <broonie@kernel.org> wrote:

> On Mon, 23 Feb 2026 18:20:59 +0200, Antoniu Miclaus wrote:
> > 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.
> > 
> > [...]  
> 
> Applied to
> 
>    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
> 
> Thanks!
> 
> [2/5] spi: add devm_spi_new_ancillary_device()
>       commit: e02902dd493bf9c9b05353c761737ac514ad7a5c
Hi Mark,

Can I have an immutable branch for this so I can merge it into IIO
once the rest of the series is good to go?

Thanks

Jonathan

> 
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
> 
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
> 
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
> 
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
> 
> Thanks,
> Mark
>