This series adds support for multiple nanoDAC parts, adding triggered buffer and gain control support to the ad5686 DAC driver family, along with a number of driver cleanups and fixes.
Initial patches update the device-tree bindings: - Add compatible entries for missing and new parts; - Add GPIO properties for RESET, GAIN and LDAC pins; - Add missing power supplies properties. Driver cleanups and fixes: - Refactor include headers (IWYU); - Switch to device managed mutex initialization; - Drop enum chip id in favor of per-device chip_info structs; - Fix voltage reference control on single-channel devices; - Fix powerdown control on dual-channel devices; - Introduce bus ops struct with a sync() operation for batching bus transfers. New functionality: - Device support for: AD5316R, AD5675, AD5697R, AD5313R, AD5317R, AD5674, AD5679, AD5687, AD5687R, AD5689 and AD5689R; - Consume optional reset and new 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 <[email protected]> --- Rodrigo Alencar (22): dt-bindings: iio: dac: ad5696: extend device support 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: extend device support dt-bindings: iio: dac: ad5686: add reset/ldac/gain gpio support dt-bindings: iio: dac: ad5686: rework on power supplies iio: dac: ad5686: refactor include headers iio: dac: ad5686: remove redundant register definition iio: dac: ad5686: drop enum id iio: dac: ad5686: add of_match table to the spi driver iio: dac: ad5686: fix ref bit initialization for single-channel parts iio: dac: ad5686: fix powerdown control iio: dac: ad5686: fix input raw value check iio: dac: ad5686: add support for missing power supplies iio: dac: ad5686: create bus ops struct iio: dac: ad5686: extend device support with new parts iio: dac: ad5686: update device list description iio: dac: ad5686: consume optional reset signal iio: dac: ad5686: add ldac gpio iio: dac: ad5686: implement new sync() op for the spi bus iio: dac: ad5686: add triggered buffer support iio: dac: ad5686: add gain control support .../devicetree/bindings/iio/dac/adi,ad5686.yaml | 61 +- .../devicetree/bindings/iio/dac/adi,ad5696.yaml | 60 +- drivers/iio/dac/Kconfig | 18 +- drivers/iio/dac/ad5686-spi.c | 200 ++++-- drivers/iio/dac/ad5686.c | 775 +++++++++++++-------- drivers/iio/dac/ad5686.h | 144 ++-- drivers/iio/dac/ad5696-i2c.c | 94 +-- 7 files changed, 906 insertions(+), 446 deletions(-) --- base-commit: eade2b843d9b1f668fc1775f15611bb0a1999cd9 change-id: 20260325-ad5313r-iio-support-882ad39356e1 Best regards, -- Rodrigo Alencar <[email protected]>

