On Wed, 4 Feb 2026 15:00:32 +0100
Oleksij Rempel <o.rempel@pengutronix.de> wrote:
> This series extends the ds4424 IIO DAC driver and its devicetree binding
> to support the DS4402 and DS4404 current DAC variants.
>
> DS440x devices share the same register map as DS442x but use a different
> resolution (5-bit vs 7-bit) and a different full-scale current formula.
> The full-scale current depends on external Rfs resistors connected to
> the FS pins, so a new optional DT property is added to provide the
> per-channel Rfs values and allow the driver to report a correct IIO
> SCALE (mA/step).
>
> While adding DS440x support, a few related issues were addressed:
> - Port to regmap
> - Reject -128 in RAW writes on DS442x, which cannot be represented with
> sign-magnitude encoding and could silently program an unintended
> output.
> - Preserve preconfigured values on probe.
> - Ratelimit read error logging and use device context.
Nice series. Just that one thing about names in chip_info.
Given we are delayed anyway by me wanting to get the fix upstream
before waiting for the next merge window, feel free to spin a new
version. If not I'm fine doing the name thing as a tweak whilst applying
(in a few weeks time).
Thanks,
Jonathan
>
> David Jander (1):
> iio: dac: ds4424: add DS4402/DS4404 device IDs
>
> Oleksij Rempel (12):
> iio: dac: ds4424: reject -128 RAW value
> iio: dac: ds4424: refactor raw access to use bitwise operations
> iio: dac: ds4424: ratelimit read errors and use device context
> iio: dac: ds4424: sort headers alphabetically
> iio: dac: ds4424: rename iio_info struct to avoid ambiguity
> iio: dac: ds4424: use device match data for chip info
> iio: dac: ds4424: use fsleep() instead of usleep_range()
> dt-bindings: iio: dac: maxim,ds4424: add ds4402/ds4404
> iio: dac: ds4424: support per-variant output range limits
> iio: dac: ds4424: convert to regmap
> dt-bindings: iio: dac: maxim,ds4424: add maxim,rfs-ohms property
> iio: dac: ds4424: add Rfs-based scale and per-variant limits
>
> .../bindings/iio/dac/maxim,ds4424.yaml | 42 +-
> drivers/iio/dac/Kconfig | 1 +
> drivers/iio/dac/ds4424.c | 367 ++++++++++++------
> 3 files changed, 281 insertions(+), 129 deletions(-)
>
> --
> 2.47.3
>
>