Message ID | 20240731-ad7380-add-single-ended-chips-v2-0-cd63bf05744c@baylibre.com (mailing list archive) |
---|---|
Headers | show |
Series | ad7380: add support for single-ended parts | expand |
On 7/31/24 2:05 AM, Julien Stephan wrote: > 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. > For the whole series, Reviewed-by: David Lechner <dlechner@baylibre.com>
On Wed, 31 Jul 2024 08:46:38 -0500 David Lechner <dlechner@baylibre.com> wrote: > On 7/31/24 2:05 AM, Julien Stephan wrote: > > 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. > > > For the whole series, > > Reviewed-by: David Lechner <dlechner@baylibre.com> > Nice series. Applied to the togreg branch of iio.git and pushed out initially as testing in case 0-day can find anything we missed. Thanks, Jonathan
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> --- Changes in v2: - Adding a new commit to fix the previously missing trailing comas - Adding a new commit to introduce a new core function `iio_active_scan_mask_index` - reword commit messages to add the `iio: adc:` prefix - fix minor comments from Jonathan - use the new iio_active_scan_mask_index and use some enum definition to make the code more readable - Link to v1: https://lore.kernel.org/r/20240726-ad7380-add-single-ended-chips-v1-0-2d628b60ccd1@baylibre.com --- Julien Stephan (7): dt-bindings: iio: adc: ad7380: add single-ended compatible parts iio: core: add function to retrieve active_scan_mask index iio: adc: ad7380: add missing trailing commas iio: adc: ad7380: prepare driver for single-ended parts support iio: adc: ad7380: add support for single-ended parts iio: adc: 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 | 525 +++++++++++++++++---- drivers/iio/industrialio-core.c | 43 ++ include/linux/iio/iio.h | 2 + 5 files changed, 543 insertions(+), 82 deletions(-) --- base-commit: 472438c7e0e2261c6737a8321f46ef176eef1c8f change-id: 20240726-ad7380-add-single-ended-chips-b437d1cc8b8b Best regards,