Devicetree
 help / color / mirror / Atom feed
* [PATCH v5 0/4] Add support for AD5710R/AD5711R DAC
@ 2026-09-04  8:35 Kim Seer Paller
  2026-09-04  8:35 ` [PATCH v5 1/4] iio: ABI: Add DAC current powerdown attributes and 15kohm_to_gnd mode Kim Seer Paller
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Kim Seer Paller @ 2026-09-04  8:35 UTC (permalink / raw)
  To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
	Michael Hennerich, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Philipp Zabel
  Cc: linux-iio, linux-kernel, linux, devicetree, Kim Seer Paller

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>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-09-04 15:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04  8:35 [PATCH v5 0/4] Add support for AD5710R/AD5711R DAC Kim Seer Paller
2026-09-04  8:35 ` [PATCH v5 1/4] iio: ABI: Add DAC current powerdown attributes and 15kohm_to_gnd mode Kim Seer Paller
2026-09-04  8:43   ` sashiko-bot
2026-09-04  8:35 ` [PATCH v5 2/4] dt-bindings: iio: dac: add adi,ad5710r.yaml Kim Seer Paller
2026-09-04 15:21   ` Conor Dooley
2026-09-04  8:35 ` [PATCH v5 3/4] iio: dac: ad3530r: parameterize DAC resolution Kim Seer Paller
2026-09-04  8:35 ` [PATCH v5 4/4] iio: dac: ad3530r: add support for AD5710R/AD5711R Kim Seer Paller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox