mbox series

[0/7] *** Add support for AD485x DAS Family ***

Message ID 20241101112358.22996-1-antoniu.miclaus@analog.com (mailing list archive)
Headers show
Series *** Add support for AD485x DAS Family *** | expand

Message

Antoniu Miclaus Nov. 1, 2024, 11:23 a.m. UTC
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 (7):
  iio: backend: add API for interface get
  iio: backend: add support for data size set
  iio: adc: adi-axi-adc: add interface type
  iio: adc: adi-axi-adc: set data format
  dt-bindings: iio: adc: add ad458x
  iio: adc: ad485x: add ad485x driver
  Documentation: ABI: testing: ad485x: add ABI docs

 .../ABI/testing/sysfs-bus-iio-adc-ad485x      |   14 +
 .../bindings/iio/adc/adi,ad485x.yaml          |   82 ++
 drivers/iio/adc/Kconfig                       |   12 +
 drivers/iio/adc/Makefile                      |    1 +
 drivers/iio/adc/ad485x.c                      | 1061 +++++++++++++++++
 drivers/iio/adc/adi-axi-adc.c                 |   44 +
 drivers/iio/industrialio-backend.c            |   45 +
 include/linux/iio/backend.h                   |   13 +
 8 files changed, 1272 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-adc-ad485x
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
 create mode 100644 drivers/iio/adc/ad485x.c

Comments

Jonathan Cameron Nov. 1, 2024, 3:17 p.m. UTC | #1
On Fri, 1 Nov 2024 13:23:52 +0200
Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:

> 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.

For future cases. The cover letter should have the version numbers as well as the
patches.

Also, the cover letter title should be similar to the patches.
[PATCH V5 0/7] iio: adc: Add ad485x driver.

How did we get this far with wild cards in file names?

In IIO we always name after a particular part (there are a few historical drivers
that don't).  Using wild cards goes wrong far too often. So rename the file as
ad4841.c + same for the dt binding file and documentation file.


Jonathan

> 
> Antoniu Miclaus (7):
>   iio: backend: add API for interface get
>   iio: backend: add support for data size set
>   iio: adc: adi-axi-adc: add interface type
>   iio: adc: adi-axi-adc: set data format
>   dt-bindings: iio: adc: add ad458x
>   iio: adc: ad485x: add ad485x driver
>   Documentation: ABI: testing: ad485x: add ABI docs
> 
>  .../ABI/testing/sysfs-bus-iio-adc-ad485x      |   14 +
>  .../bindings/iio/adc/adi,ad485x.yaml          |   82 ++
>  drivers/iio/adc/Kconfig                       |   12 +
>  drivers/iio/adc/Makefile                      |    1 +
>  drivers/iio/adc/ad485x.c                      | 1061 +++++++++++++++++
>  drivers/iio/adc/adi-axi-adc.c                 |   44 +
>  drivers/iio/industrialio-backend.c            |   45 +
>  include/linux/iio/backend.h                   |   13 +
>  8 files changed, 1272 insertions(+)
>  create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-adc-ad485x
>  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
>  create mode 100644 drivers/iio/adc/ad485x.c
>