[PATCH v2 00/12] New features for the AD5686 IIO driver

From: Rodrigo Alencar via B4 Relay

Date: Tue Jun 09 2026 - 06:30:33 EST


This is the second series of three on updating the AD5686 driver.

Initially, a big patch series was sent:
https://lore.kernel.org/r/20260422-ad5313r-iio-support-v1-0-ed7dca001d1b@xxxxxxxxxx

Then, the first patch series added fixes and cleanups:
https://lore.kernel.org/linux-iio/20260524-ad5686-fixes-v7-0-b6bf395d08bd@xxxxxxxxxx/

This one is introducing new features:
- Consume optional reset and correct power supplies;
- LDAC GPIO handling (active-low, held low when unused);
- SPI bus sync() implementation for batching multiple transfers;
- Triggered buffer support, leveraging LDAC and sync() to flush
all channel writes atomically;
- Gain control support through the scale property.

Signed-off-by: Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>
---
Changes in v2:
- Get reset control deasserted.
- Update entire spi_transfer struct rather than individual fields.
- Replace udelay() for fsleep() in probe().
- Minor changes addressing further feedback.
- Link to v1: https://lore.kernel.org/r/20260602-ad5686-new-features-v1-0-691e01883d27@xxxxxxxxxx

---
Rodrigo Alencar (12):
dt-bindings: iio: dac: ad5696: add reset/ldac/gain gpio support
dt-bindings: iio: dac: ad5696: rework on power supplies
dt-bindings: iio: dac: ad5686: add reset/ldac/gain gpio support
dt-bindings: iio: dac: ad5686: rework on power supplies
iio: dac: ad5686: add support for missing power supplies
iio: dac: ad5686: consume optional reset signal
iio: dac: ad5686: add ldac gpio
iio: dac: ad5686: introduce sync operation
iio: dac: ad5686: implement new sync() op for the spi bus
iio: dac: ad5686: add triggered buffer support
iio: dac: ad5686: write_raw: use guard(mutex)()
iio: dac: ad5686: add gain control support

.../devicetree/bindings/iio/dac/adi,ad5686.yaml | 62 +++++-
.../devicetree/bindings/iio/dac/adi,ad5696.yaml | 65 +++++-
drivers/iio/dac/Kconfig | 2 +
drivers/iio/dac/ad5686-spi.c | 122 +++++++++---
drivers/iio/dac/ad5686.c | 219 +++++++++++++++++++--
drivers/iio/dac/ad5686.h | 33 +++-
drivers/iio/dac/ad5696-i2c.c | 2 +-
7 files changed, 444 insertions(+), 61 deletions(-)
---
base-commit: ae696dfa47c30016cd429b9db5e70b259b8f509e
change-id: 20260602-ad5686-new-features-e116c04bddb9

Best regards,
--
Rodrigo Alencar <rodrigo.alencar@xxxxxxxxxx>