Documentation/ABI/testing/sysfs-bus-iio | 5 + .../devicetree/bindings/iio/dac/adi,ad5710r.yaml | 143 ++++++++++ MAINTAINERS | 1 + drivers/iio/dac/Kconfig | 1 + drivers/iio/dac/ad3530r.c | 302 +++++++++++++++++++-- 5 files changed, 430 insertions(+), 22 deletions(-)
The AD5710R (16-bit) and AD5711R (12-bit) are 8-channel, low-power,
configurable current/voltage output DACs with an on-chip 2.5V reference.
Each channel can be independently configured as a voltage output
(0V to VREF or 0V to 2xVREF) or a current output (0mA to 50mA).
This series adds support for these parts:
- ABI documentation for the high_z powerdown mode and the current-output
powerdown attributes
- device tree bindings for the AD5710R/AD5711R
- basic IIO DAC driver, supporting per-channel voltage/current output
selection, per-channel powerdown, software or hardware (LDAC) DAC
updates, optional output range doubling, internal or external
reference, and hardware reset (with a software-reset fallback).
Datasheet:
https://www.analog.com/media/en/technical-documentation/data-sheets/ad5711r-ad5710r.pdf
Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
Changes in v3:
- ad3530r: factor the op-mode register/mask computation into a helper
shared by the powerdown access and channel parsing.
- ad3530r: pass iio_dev into setup/parse and set channels/num_channels
directly, dropping the duplicated pointers in driver state.
- ad3530r: use regmap_test_bits() for the powerdown reads and drop the
unused AD5710R_NUM_CHANNELS macro.
- ad3530r: split the file header comment into separate AD5710R/AD5711R lines.
- dt-bindings: drop the redundant items wrapper on channel reg and tidy
the 2 x Vref wording.
- Link to v2: https://patch.msgid.link/20260721-iio-ad5710r-upstream-v2-0-324949dc72da@analog.com
Changes in v2:
- Drop the standalone ad5710r driver and fold AD5710R/AD5711R support
into the existing ad3530r driver.
- Add a preparatory patch parameterizing the DAC resolution in ad3530r
so the 12-/16-bit AD5711R/AD5710R can reuse the raw/scale paths.
- ABI: drop the "high_z" powerdown mode, which is a synonym of the
existing "three_state" and use "three_state" instead.
- Link to v1: https://patch.msgid.link/20260716-iio-ad5710r-upstream-v1-0-e848a4bb701f@analog.com
To: Jonathan Cameron <jic23@kernel.org>
To: David Lechner <dlechner@baylibre.com>
To: Nuno Sá <nuno.sa@analog.com>
To: Andy Shevchenko <andy@kernel.org>
To: Michael Hennerich <Michael.Hennerich@analog.com>
To: Kim Seer Paller <kimseer.paller@analog.com>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
Cc: linux-iio@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux@analog.com
Cc: devicetree@vger.kernel.org
---
Kim Seer Paller (4):
iio: ABI: Add DAC current powerdown attributes and 15kohm_to_gnd mode
dt-bindings: iio: dac: add adi,ad5710r.yaml
iio: dac: ad3530r: parameterize DAC resolution
iio: dac: ad3530r: add support for AD5710R/AD5711R
Documentation/ABI/testing/sysfs-bus-iio | 5 +
.../devicetree/bindings/iio/dac/adi,ad5710r.yaml | 143 ++++++++++
MAINTAINERS | 1 +
drivers/iio/dac/Kconfig | 1 +
drivers/iio/dac/ad3530r.c | 302 +++++++++++++++++++--
5 files changed, 430 insertions(+), 22 deletions(-)
---
base-commit: fc69c7ed31f2c36d0232a6d04750acec8f9e0c31
change-id: 20260716-iio-ad5710r-upstream-e41c298614c6
Best regards,
--
Kim Seer Paller <kimseer.paller@analog.com>
On Mon, 17 Aug 2026 14:37:10 +0800 Kim Seer Paller <kimseer.paller@analog.com> wrote: > The AD5710R (16-bit) and AD5711R (12-bit) are 8-channel, low-power, > configurable current/voltage output DACs with an on-chip 2.5V reference. > Each channel can be independently configured as a voltage output > (0V to VREF or 0V to 2xVREF) or a current output (0mA to 50mA). > > This series adds support for these parts: > - ABI documentation for the high_z powerdown mode and the current-output > powerdown attributes > - device tree bindings for the AD5710R/AD5711R > - basic IIO DAC driver, supporting per-channel voltage/current output > selection, per-channel powerdown, software or hardware (LDAC) DAC > updates, optional output range doubling, internal or external > reference, and hardware reset (with a software-reset fallback). > > Datasheet: > https://www.analog.com/media/en/technical-documentation/data-sheets/ad5711r-ad5710r.pdf > > Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com> I took another look and don't have anything to add. If Andy hadn't left you with some choices (and I don't care either way) then might have just tweaked them whilst applying. Still need an Ack for the dt-binding anyway so I can't pick them up today. I'd suggest a v4 resolving those opens in Andy's feedback. Also, Sashiko got a bit confused in places on this one. I took a look and don't think we care about any of the stuff it has raised, some of which is incorrect anyway. Jonathan > --- > Changes in v3: > - ad3530r: factor the op-mode register/mask computation into a helper > shared by the powerdown access and channel parsing. > - ad3530r: pass iio_dev into setup/parse and set channels/num_channels > directly, dropping the duplicated pointers in driver state. > - ad3530r: use regmap_test_bits() for the powerdown reads and drop the > unused AD5710R_NUM_CHANNELS macro. > - ad3530r: split the file header comment into separate AD5710R/AD5711R lines. > - dt-bindings: drop the redundant items wrapper on channel reg and tidy > the 2 x Vref wording. > - Link to v2: https://patch.msgid.link/20260721-iio-ad5710r-upstream-v2-0-324949dc72da@analog.com > > Changes in v2: > - Drop the standalone ad5710r driver and fold AD5710R/AD5711R support > into the existing ad3530r driver. > - Add a preparatory patch parameterizing the DAC resolution in ad3530r > so the 12-/16-bit AD5711R/AD5710R can reuse the raw/scale paths. > - ABI: drop the "high_z" powerdown mode, which is a synonym of the > existing "three_state" and use "three_state" instead. > - Link to v1: https://patch.msgid.link/20260716-iio-ad5710r-upstream-v1-0-e848a4bb701f@analog.com > > To: Jonathan Cameron <jic23@kernel.org> > To: David Lechner <dlechner@baylibre.com> > To: Nuno Sá <nuno.sa@analog.com> > To: Andy Shevchenko <andy@kernel.org> > To: Michael Hennerich <Michael.Hennerich@analog.com> > To: Kim Seer Paller <kimseer.paller@analog.com> > To: Rob Herring <robh@kernel.org> > To: Krzysztof Kozlowski <krzk+dt@kernel.org> > To: Conor Dooley <conor+dt@kernel.org> > Cc: linux-iio@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: linux@analog.com > Cc: devicetree@vger.kernel.org > > --- > Kim Seer Paller (4): > iio: ABI: Add DAC current powerdown attributes and 15kohm_to_gnd mode > dt-bindings: iio: dac: add adi,ad5710r.yaml > iio: dac: ad3530r: parameterize DAC resolution > iio: dac: ad3530r: add support for AD5710R/AD5711R > > Documentation/ABI/testing/sysfs-bus-iio | 5 + > .../devicetree/bindings/iio/dac/adi,ad5710r.yaml | 143 ++++++++++ > MAINTAINERS | 1 + > drivers/iio/dac/Kconfig | 1 + > drivers/iio/dac/ad3530r.c | 302 +++++++++++++++++++-- > 5 files changed, 430 insertions(+), 22 deletions(-) > --- > base-commit: fc69c7ed31f2c36d0232a6d04750acec8f9e0c31 > change-id: 20260716-iio-ad5710r-upstream-e41c298614c6 > > Best regards, > -- > Kim Seer Paller <kimseer.paller@analog.com> >
© 2016 - 2026 Red Hat, Inc.