public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/13] iio: dac: ds4424: add DS4402/DS4404 support and scale
@ 2026-02-03  9:34 Oleksij Rempel
  2026-02-03  9:34 ` [PATCH v4 01/13] iio: dac: ds4424: reject -128 RAW value Oleksij Rempel
                   ` (12 more replies)
  0 siblings, 13 replies; 32+ messages in thread
From: Oleksij Rempel @ 2026-02-03  9:34 UTC (permalink / raw)
  To: Jonathan Cameron, Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Oleksij Rempel, kernel, linux-kernel, linux-iio, devicetree,
	Andy Shevchenko, David Lechner, Nuno Sá, David Jander

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.

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                      | 368 ++++++++++++------
 3 files changed, 280 insertions(+), 131 deletions(-)

--
2.47.3


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2026-02-09 10:29 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-03  9:34 [PATCH v4 00/13] iio: dac: ds4424: add DS4402/DS4404 support and scale Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 01/13] iio: dac: ds4424: reject -128 RAW value Oleksij Rempel
2026-02-03  9:54   ` Andy Shevchenko
2026-02-03 10:28     ` Oleksij Rempel
2026-02-03 11:52       ` Andy Shevchenko
2026-02-05 20:41         ` Jonathan Cameron
2026-02-03  9:34 ` [PATCH v4 02/13] iio: dac: ds4424: refactor raw access to use bitwise operations Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 03/13] iio: dac: ds4424: ratelimit read errors and use device context Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 04/13] iio: dac: ds4424: sort headers alphabetically Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 05/13] iio: dac: ds4424: rename iio_info struct to avoid ambiguity Oleksij Rempel
2026-02-03  9:55   ` Andy Shevchenko
2026-02-03  9:34 ` [PATCH v4 06/13] iio: dac: ds4424: use device match data for chip info Oleksij Rempel
2026-02-03 10:03   ` Andy Shevchenko
2026-02-03 10:17     ` Oleksij Rempel
2026-02-03 11:51       ` Andy Shevchenko
2026-02-03 12:00         ` Oleksij Rempel
2026-02-03 14:56           ` Andy Shevchenko
2026-02-05 20:43             ` Jonathan Cameron
2026-02-06  7:57               ` Oleksij Rempel
2026-02-06  9:59                 ` Andy Shevchenko
2026-02-09  9:22                   ` Oleksij Rempel
2026-02-09 10:29                     ` Andy Shevchenko
2026-02-03  9:34 ` [PATCH v4 07/13] iio: dac: ds4424: use fsleep() instead of usleep_range() Oleksij Rempel
2026-02-03 11:45   ` Andy Shevchenko
2026-02-03  9:34 ` [PATCH v4 08/13] dt-bindings: iio: dac: maxim,ds4424: add ds4402/ds4404 Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 09/13] iio: dac: ds4424: add DS4402/DS4404 device IDs Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 10/13] iio: dac: ds4424: support per-variant output range limits Oleksij Rempel
2026-02-03 11:46   ` Andy Shevchenko
2026-02-03  9:34 ` [PATCH v4 11/13] iio: dac: ds4424: convert to regmap Oleksij Rempel
2026-02-03 11:57   ` Andy Shevchenko
2026-02-03  9:34 ` [PATCH v4 12/13] dt-bindings: iio: dac: maxim,ds4424: add maxim,rfs-ohms property Oleksij Rempel
2026-02-03  9:34 ` [PATCH v4 13/13] iio: dac: ds4424: add Rfs-based scale and per-variant limits Oleksij Rempel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox