[PATCH v3 0/4] Add support for AD5710R/AD5711R DAC
Kim Seer Paller <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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/[email protected] 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/[email protected] To: Jonathan Cameron <[email protected]> To: David Lechner <[email protected]> To: Nuno Sá <[email protected]> To: Andy Shevchenko <[email protected]> To: Michael Hennerich <[email protected]> To: Kim Seer Paller <[email protected]> To: Rob Herring <[email protected]> To: Krzysztof Kozlowski <[email protected]> To: Conor Dooley <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- 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 <[email protected]>