[PATCH v6 0/8] *** Add support for AD485x DAS Family ***

Antoniu Miclaus
2024-11-11T12:12:31Z

Add support for AD485X fully buffered, 8-channel simultaneous sampling,
16/20-bit, 1 MSPS data acquisition system (DAS) with differential, wide
common-mode range inputs.

Some particularities:
1. softspan - the devices support multiple softspans which are represented in iio
through offset/scale. The current handling implies changing both
the scale and the offset separately via IIO, therefore in order to
properly set the softspan, each time the offset changes the softspan
is set to the default value. And only after changing also the scale
the desired softspan is set. This is the approach we are suggesting
since we need the softspan configurable from userspace and not from
devicetree.

2. packet format - Data provided on the CMOS and LVDS conversion data output buses
are packaged into eight channel packets. This is currently handled
as extended info.

Antoniu Miclaus (8):
iio: backend: add API for interface get
iio: backend: add support for data size set
iio: backend: add API for oversampling
iio: adc: adi-axi-adc: add interface type
iio: adc: adi-axi-adc: set data format
iio: adc: adi-axi-adc: add oversampling
dt-bindings: iio: adc: add ad4851
iio: adc: ad4851: add ad485x driver

.../bindings/iio/adc/adi,ad4851.yaml | 103 ++
drivers/iio/adc/Kconfig | 13 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/ad4851.c | 1190 +++++++++++++++++
drivers/iio/adc/adi-axi-adc.c | 63 +
drivers/iio/industrialio-backend.c | 59 +
include/linux/iio/backend.h | 17 +
7 files changed, 1446 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4851.yaml
create mode 100644 drivers/iio/adc/ad4851.c

--
2.47.0