[PATCH v1 0/8] iio: dac: ds4424: add DS4402/DS4404 support and scale

Oleksij Rempel posted 8 patches 2 weeks, 5 days ago
There is a newer version of this series
.../bindings/iio/dac/maxim,ds4424.yaml        |  18 +-
drivers/iio/dac/ds4424.c                      | 175 +++++++++++++++++-
2 files changed, 184 insertions(+), 9 deletions(-)
[PATCH v1 0/8] iio: dac: ds4424: add DS4402/DS4404 support and scale
Posted by Oleksij Rempel 2 weeks, 5 days ago
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:
- Reject -128 in RAW writes on DS442x, which cannot be represented with
  sign-magnitude encoding and could silently program an unintended
  output.
- Clear outputs on probe to avoid retaining preconfigured values across
  warm reset and to make suspend/resume behavior deterministic.
- Ratelimit read error logging and use device context.
- Add small comments documenting sign handling and probe verification.

Oleksij Rempel (8):
  dt-bindings: iio: dac: maxim,ds4424: add ds4402/ds4404
  dt-bindings: iio: dac: maxim,ds4424: add maxim,rfs-ohms property
  iio: dac: ds4424: add DS4402/DS4404 device IDs
  iio: dac: ds4424: reject -128 RAW value
  iio: dac: ds4424: add Rfs-based scale and per-variant limits
  iio: dac: ds4424: clear outputs on probe
  iio: dac: ds4424: ratelimit read errors and use device context
  iio: dac: ds4424: document output sign and probe verification

 .../bindings/iio/dac/maxim,ds4424.yaml        |  18 +-
 drivers/iio/dac/ds4424.c                      | 175 +++++++++++++++++-
 2 files changed, 184 insertions(+), 9 deletions(-)

--
2.47.3