| From: |
| Rodrigo Alencar via B4 Relay <devnull+rodrigo.alencar.analog.com-AT-kernel.org> |
| To: |
| Michael Auchter <michael.auchter-AT-ni.com>, linux-AT-analog.com, linux-iio-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-hardening-AT-vger.kernel.org |
| Subject: |
| [PATCH v6 0/6] New features for the AD5686 IIO driver |
| Date: |
| Sun, 05 Jul 2026 12:38:55 +0100 |
| Message-ID: |
| <20260705-ad5686-new-features-v6-0-269594c7aae5@analog.com> |
| Cc: |
| Michael Hennerich <Michael.Hennerich-AT-analog.com>, Jonathan Cameron <jic23-AT-kernel.org>, David Lechner <dlechner-AT-baylibre.com>, Andy Shevchenko <andy-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Philipp Zabel <p.zabel-AT-pengutronix.de>, Kees Cook <kees-AT-kernel.org>, "Gustavo A. R. Silva" <gustavoars-AT-kernel.org>, Rodrigo Alencar <rodrigo.alencar-AT-analog.com>, Maxwell Doose <m32285159-AT-gmail.com>, Joshua Crofts <joshua.crofts1-AT-gmail.com> |
| Archive-link: |
| Article |
This is the second series of three on updating the AD5686 driver.
Initially, a big patch series was sent:
https://lore.kernel.org/r/20260422-ad5313r-iio-support-v1...
Then, the first patch series added fixes and cleanups:
https://lore.kernel.org/linux-iio/20260524-ad5686-fixes-v...
This one is introducing new features:
- Consume optional reset and correct power supplies;
- LDAC GPIO handling (active-low, held low when unused);
- SPI bus sync() implementation for batching multiple transfers;
- Triggered buffer support, leveraging LDAC and sync() to flush
all channel writes atomically;
- Gain control support through the scale property.
Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
---
Changes in v6:
- Refactor command/data macros in favor of FIELD_PREP()
- Link to v5: https://lore.kernel.org/r/20260628-ad5686-new-features-v5...
Changes in v5:
- Create auxiliary handler for the triggered buffer.
- Do not allow modification of double_scale in case gain_gpio is not set.
- Link to v4: https://lore.kernel.org/r/20260623-ad5686-new-features-v4...
Changes in v4:
- Replace anyof+const for enum in dt-bindings.
- Address some sashiko's comments.
- Use guard(mutex)() in trigger handler and other misc changes.
- Link to v3: https://lore.kernel.org/r/20260616-ad5686-new-features-v3...
Changes in v3:
- Add range-double property.
- Acquire reset control after power-up delay.
- Include cleanup.h and use guard(mutex)() in read_raw().
- Link to v2: https://lore.kernel.org/r/20260609-ad5686-new-features-v2...
Changes in v2:
- Get reset control deasserted.
- Update entire spi_transfer struct rather than individual fields.
- Replace udelay() for fsleep() in probe().
- Minor changes addressing further feedback.
- Link to v1: https://lore.kernel.org/r/20260602-ad5686-new-features-v1...
---
Rodrigo Alencar (6):
iio: dac: ad5686: refactor command/data macros
iio: dac: ad5686: introduce sync operation
iio: dac: ad5686: implement new sync() op for the spi bus
iio: dac: ad5686: read_raw/write_raw: use guard(mutex)()
iio: dac: ad5686: add triggered buffer support
iio: dac: ad5686: add gain control support
drivers/iio/dac/Kconfig | 2 +
drivers/iio/dac/ad5686-spi.c | 136 +++++++++++++++++++++-------
drivers/iio/dac/ad5686.c | 209 +++++++++++++++++++++++++++++++++++++++----
drivers/iio/dac/ad5686.h | 43 ++++++---
drivers/iio/dac/ad5696-i2c.c | 13 +--
5 files changed, 334 insertions(+), 69 deletions(-)
---
base-commit: 4c0ecdbdc0d87570f74e656e21d56bae1ab6a8f1
change-id: 20260602-ad5686-new-features-e116c04bddb9
Best regards,
--
Rodrigo Alencar <rodrigo.alencar@analog.com>