[PATCH v2 0/5] iio: dac: ad5504: fix voltage scaling and add missing bindings

From: Taha Ed-Dafili

Date: Tue Mar 10 2026 - 13:51:44 EST


This series fixes the voltage scale calculation for the AD5504 DAC and
updates the devicetree bindings to support the necessary hardware
configuration.

Previously, the driver calculated the scale based on the VCC supply
voltage. However, the AD5504 has an integrated precision reference,
and the output range is determined strictly by the state of the
R_SEL pin (0-30V or 0-60V).

This series updates the bindings to use standard IIO DAC properties,
aligns the driver headers with the IWYU principle, and fixes the core
scaling bug while adding support for the hardware's optional GPIOs.

Changes in v2:
- Replaced vendor-specific adi,output-range-volts with the standard
output-range-microvolt property array (Krzysztof).
- Replaced adi,output-range-gpios with standard range-sel-gpios
(Krzysztof).
- Refactored allOf block in bindings to use not/required logic
(Krzysztof).
- Split header updates into two patches: alphabetical sorting and IWYU
compliance (Andy).
- Used MILLI and MICRO macros to replace hardcoded values (Andy).
- Used a local dev pointer to respect the 80-character limit and realigned
function arguments accordingly (Andy).
- Added driver implementation for the optional CLR and LDAC
GPIOs (new in v2)

Thank you to Jonathan Cameron, Krzysztof Kozlowski, Andy Shevchenko, and
David Lechner for the reviews, schema guidance, and C optimizations on v1.

Note: I do not have access to the physical AD5504 hardware, so this series
has been strictly compile-tested and validated against dt_binding_check
based on the datasheet specifications.

Taha Ed-Dafili (5):
dt-bindings: iio: dac: ad5504: add output-range and missing gpios
iio: dac: ad5504: sort headers alphabetically
iio: dac: ad5504: Align headers with IWYU principle
iio: dac: ad5504: fix scale via output-range-microvolt
iio: dac: ad5504: add optional GPIO control for CLR and LDAC

.../bindings/iio/dac/adi,ad5504.yaml | 40 ++++++++++-
drivers/iio/dac/ad5504.c | 70 ++++++++++++-------
2 files changed, 84 insertions(+), 26 deletions(-)

--
2.47.3