2023-06-05 13:33:42

by Paller, Kim Seer

[permalink] [raw]
Subject: [PATCH v2 0/2] Add max14001 support

It took more time than I expected, but I have followed up on this and now
I'm presenting the patch for your review.

Modified the code based on the implementation of this application note
as a reference:
https://www.analog.com/media/en/technical-documentation/user-guides/guide-to-programming-the-max14001max14002-isolated-adcs--maxim-integrated.pdf
For now, I'm figuring out how to implement daisy chain for future support.

Changes in v2:

max14001:
- Replaced verification register definitions with macro.
- Removed local definition of IIO_DMA_MINALIGN.
- Changed driver to big endian format and reverse data prior to outputting
it to the device as per the app note.
- Utilized default register values instead of zero to clear memory validation
fault.
- Converted driver to use custom regmap for register access.
- Modified scaled value calculation and changed to IIO_VAL_FRACTIONAL_LOG2.
- Removed offset attribute.
- Added comments for clarity in write transactions.
- Misc changes(blank lines...).

Bindings:
- Removed unneccessary device tree propertied and updated bindings.

The code was tested using max14001pmb and max14001evsys boards with
raspberry pi 4.

Kim Seer Paller (2):
dt-bindings:iio:adc: add max14001
iio: adc: max14001: New driver

.../bindings/iio/adc/adi,max14001.yaml | 55 +++
MAINTAINERS | 8 +
drivers/iio/adc/Kconfig | 10 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/max14001.c | 333 ++++++++++++++++++
5 files changed, 407 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,max14001.yaml
create mode 100644 drivers/iio/adc/max14001.c


base-commit: 44149752e9987a9eac5ad78e6d3a20934b5e018d
--
2.34.1