Documentation/ABI/testing/sysfs-bus-iio | 5 + .../devicetree/bindings/iio/dac/adi,ad5710r.yaml | 145 ++++++++++ MAINTAINERS | 1 + drivers/iio/dac/Kconfig | 1 + drivers/iio/dac/ad3530r.c | 300 +++++++++++++++++++-- 5 files changed, 429 insertions(+), 23 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 v5:
- ad3530r: make powerdown_mode read-only, dropping the _available list.
- ad3530r: rename the channel flag to configurable_ch_func.
- ad3530r: move the reg declaration into the child-node loop where it is
used
- ad3530r: return -ECHRNG when the channel reg is out of range.
- ad3530r: update copyright year to 2025-2026.
- dt-bindings: spell out the adi,ch-func values and cite ad74413r.h.
- Link to v4: https://patch.msgid.link/20260829-iio-ad5710r-upstream-v4-0-8af3121c7d21@analog.com
Changes in v4:
- Use GENMASK() for the raw write bounds check.
- Add a comment explaining the AD5710R powerdown mode negation.
- Return -ENOENT instead of -ENODEV when no channels are found.
- Link to v3: https://patch.msgid.link/20260817-iio-ad5710r-upstream-v3-0-3a4bf7b9c78b@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 | 145 ++++++++++
MAINTAINERS | 1 +
drivers/iio/dac/Kconfig | 1 +
drivers/iio/dac/ad3530r.c | 300 +++++++++++++++++++--
5 files changed, 429 insertions(+), 23 deletions(-)
---
base-commit: c9f54ead57939ebe76b9b76a9ef17b4331766b97
change-id: 20260716-iio-ad5710r-upstream-e41c298614c6
Best regards,
--
Kim Seer Paller <kimseer.paller@analog.com>
On Fri, Sep 04, 2026 at 04:35:23PM +0800, Kim Seer Paller 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). Reviewed-by: Andy Shevchenko <andy@kernel.org> -- With Best Regards, Andy Shevchenko
On Fri, 4 Sep 2026 16:35:23 +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). Series applied to the testing branch of iio.git. If that all looks good I'll push out in a few days as togreg and linux-next will pick it up. thanks Jonathan
On Sun, Sep 06, 2026 at 07:05:59PM +0100, Jonathan Cameron wrote: > On Fri, 4 Sep 2026 16:35:23 +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). > Series applied to the testing branch of iio.git. If that all looks > good I'll push out in a few days as togreg and linux-next will pick it > up. So, still time to pick-up tags! -- With Best Regards, Andy Shevchenko
On Mon, 7 Sep 2026 07:30:36 +0300 Andy Shevchenko <andriy.shevchenko@intel.com> wrote: > On Sun, Sep 06, 2026 at 07:05:59PM +0100, Jonathan Cameron wrote: > > On Fri, 4 Sep 2026 16:35:23 +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). > > Series applied to the testing branch of iio.git. If that all looks > > good I'll push out in a few days as togreg and linux-next will pick it > > up. > > So, still time to pick-up tags! Yup and done so. Thanks, J >
© 2016 - 2026 Red Hat, Inc.