|
|
Log in / Subscribe / Register

Add support for AD485x DAS Family

From:  Antoniu Miclaus <antoniu.miclaus-AT-analog.com>
To:  <jic23-AT-kernel.org>, <robh-AT-kernel.org>, <conor+dt-AT-kernel.org>, <dlechner-AT-baylibre.com>, <linux-iio-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <linux-pwm-AT-vger.kernel.org>
Subject:  [PATCH v7 0/8] Add support for AD485x DAS Family
Date:  Fri, 29 Nov 2024 17:35:38 +0200
Message-ID:  <20241129153546.63584-1-antoniu.miclaus@analog.com>
Cc:  Antoniu Miclaus <antoniu.miclaus-AT-analog.com>
Archive-link:  Article

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          |  139 ++
 drivers/iio/adc/Kconfig                       |   13 +
 drivers/iio/adc/Makefile                      |    1 +
 drivers/iio/adc/ad4851.c                      | 1346 +++++++++++++++++
 drivers/iio/adc/adi-axi-adc.c                 |   73 +
 drivers/iio/industrialio-backend.c            |   71 +
 include/linux/iio/backend.h                   |   20 +
 7 files changed, 1663 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4851.yaml
 create mode 100644 drivers/iio/adc/ad4851.c

-- 
2.47.1




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds