This series will add support for ad7386/7/8 (16/14/12 bits) unsigned,
dual simultaneous sampling, single-ended compatible parts, and the
corresponding ad7386-4/7-4/8-4 4 channels to ad7380 driver.
These parts have a 2:1 multiplexer in front of each ADC. They also include
additional configuration registers that allow for either manual selection
or automatic switching (sequencer mode), of the multiplexer inputs.
From an IIO point of view, all inputs are exported, i.e ad7386/7/8
export 4 channels and ad7386-4/7-4/8-4 export 8 channels.
Inputs AinX0 of multiplexers correspond to the first half of IIO channels
(i.e 0-1 or 0-3) and inputs AinX1 correspond to second half (i.e 2-3 or
4-7). Example for AD7386/7/8 (2 channels parts):
IIO | AD7386/7/8
| +----------------------------
| | _____ ______
| | | | | |
voltage0 | AinA0 --|--->| | | |
| | | mux |----->| ADCA |---
voltage2 | AinA1 --|--->| | | |
| | |_____| |_____ |
| | _____ ______
| | | | | |
voltage1 | AinB0 --|--->| | | |
| | | mux |----->| ADCB |---
voltage3 | AinB1 --|--->| | | |
| | |_____| |______|
| |
| +----------------------------
To ease the review, this series is split on several commits, in
particular, sequencer mode is added as an additional commit.
Cheers
Julien
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
---
Julien Stephan (5):
dt-bindings: iio: adc: ad7380: add single-ended compatible parts
ad7380: prepare driver for single-ended parts support
ad7380: add support for single-ended parts
ad7380: enable sequencer for single-ended parts
docs: iio: ad7380: add support for single-ended parts
.../devicetree/bindings/iio/adc/adi,ad7380.yaml | 13 +
Documentation/iio/ad7380.rst | 42 ++
drivers/iio/adc/ad7380.c | 511 +++++++++++++++++----
3 files changed, 488 insertions(+), 78 deletions(-)
---
base-commit: 472438c7e0e2261c6737a8321f46ef176eef1c8f
change-id: 20240726-ad7380-add-single-ended-chips-b437d1cc8b8b
Best regards,
--
Julien Stephan <jstephan@baylibre.com>