[PATCH 0/3] Add AD5710R/AD5711R DAC

Kim Seer Paller posted 3 patches 1 week, 2 days ago
Documentation/ABI/testing/sysfs-bus-iio            |  10 +-
.../devicetree/bindings/iio/dac/adi,ad5710r.yaml   | 143 ++++++
MAINTAINERS                                        |   8 +
drivers/iio/dac/Kconfig                            |  11 +
drivers/iio/dac/Makefile                           |   1 +
drivers/iio/dac/ad5710r.c                          | 484 +++++++++++++++++++++
6 files changed, 656 insertions(+), 1 deletion(-)
[PATCH 0/3] Add AD5710R/AD5711R DAC
Posted by Kim Seer Paller 1 week, 2 days ago
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>
---
Kim Seer Paller (3):
      iio: ABI: add DAC high_z powerdown mode and current output entries
      dt-bindings: iio: dac: add adi,ad5710r.yaml
      iio: dac: ad5710r: Add driver for AD5710R and AD5711R

 Documentation/ABI/testing/sysfs-bus-iio            |  10 +-
 .../devicetree/bindings/iio/dac/adi,ad5710r.yaml   | 143 ++++++
 MAINTAINERS                                        |   8 +
 drivers/iio/dac/Kconfig                            |  11 +
 drivers/iio/dac/Makefile                           |   1 +
 drivers/iio/dac/ad5710r.c                          | 484 +++++++++++++++++++++
 6 files changed, 656 insertions(+), 1 deletion(-)
---
base-commit: aa58ecc73466d0cb8c418de98e2225490bf600e3
change-id: 20260716-iio-ad5710r-upstream-e41c298614c6

Best regards,
--  
Kim Seer Paller <kimseer.paller@analog.com>
Re: [PATCH 0/3] Add AD5710R/AD5711R DAC
Posted by Andy Shevchenko 1 week, 1 day ago
On Thu, Jul 16, 2026 at 03:59:24PM +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).

Why a brand new driver?

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

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH 0/3] Add AD5710R/AD5711R DAC
Posted by Kim Seer Paller 1 week, 1 day ago
On Fri Jul 17, 2026 at 1:58 AM PST, Andy Shevchenko wrote:
> On Thu, Jul 16, 2026 at 03:59:24PM +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).
>
> Why a brand new driver?

After looking more closely, the register map is the same as the AD3530R family.
I originally kept it separate because of the functional differences: per channel
VDAC/IDAC selection described in device tree via adi,ch-func, selectable 12/16 bit
resolution, and current output path. But those can be fit the existing chip_info
abstraction. Given that, I'm leaning toward extending ad3530r to support the
ad5710r/ad5711r and dropping the standalone driver. Does that direction work for
you? If so, I will do it in v2.

>
> > Datasheet:
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ad5711r-ad5710r.pdf
>
> -- 
> With Best Regards,
> Andy Shevchenko
Re: [PATCH 0/3] Add AD5710R/AD5711R DAC
Posted by Andy Shevchenko 1 week, 1 day ago
On Fri, Jul 17, 2026 at 03:50:08PM +0800, Kim Seer Paller wrote:
> On Fri Jul 17, 2026 at 1:58 AM PST, Andy Shevchenko wrote:
> > On Thu, Jul 16, 2026 at 03:59:24PM +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).
> >
> > Why a brand new driver?
> 
> After looking more closely, the register map is the same as the AD3530R family.
> I originally kept it separate because of the functional differences: per channel
> VDAC/IDAC selection described in device tree via adi,ch-func, selectable 12/16 bit
> resolution, and current output path. But those can be fit the existing chip_info
> abstraction. Given that, I'm leaning toward extending ad3530r to support the
> ad5710r/ad5711r and dropping the standalone driver. Does that direction work for
> you? If so, I will do it in v2.

Yes, pretty much!

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

-- 
With Best Regards,
Andy Shevchenko