[PATCH v2 0/2] iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver

From: Hugo Villeneuve
Date: Tue Jan 10 2023 - 11:02:19 EST


From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>

Hello,
this patch series adds the driver for the Texas Instruments ADS7924.

The Texas Instruments ADS7924 is a 4 channels, 12-bit analog to
digital converter (ADC) with an I2C interface.

Patch 1 contains the driver for the ADS7924.

Patch 2 add the dt-bindings for the ADS7924.

I have tested the driver using the Texas Instruments ADS7924EVM board connected
to a Variscite Symphony EVK with a IMX8MN NANO SOM:
- Tested reset pin Ok
- Tested regulator setup Ok
- Tested reading sysfs in_voltage_scale Ok
- Tested reading sysfs in_voltageX_raw (x=0 to 3) Ok

Thank you.

Link: [v1] https://lore.kernel.org/linux-iio/20221222203610.2571287-1-hugo@xxxxxxxxxxx/#t

Changes for V2:
- Dropped patch "iio: adc: Kconfig: add SPI interface mention to AD7924
description"
- Fixed comments style
- Removed unused defines/variables/etc related to buffered support (no buffered
support for the moment).
- Convert of-specific code to use the generic firmware property accessors in
include/linux/property.h.
- Use FIELD_GET / FIELD_PREP for bit operations/defines
- Simplified conversion result registers definitions/usage.
- Now using mutex lock/unlock only for INFO_RAW switch branch
- Use dev_err_probe() in all return paths of ads7924_probe()
- Removed ads7924_remove() after adding callbacks with
devm_add_action_or_reset().
- Change iio_device_register() to devm_iio_device_register().
- Add the legacy i2c_device_id table
- DT bindings: reorder entries, fix indentation,improve comments, add interrupt
line

Hugo Villeneuve (2):
iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver
dt-bindings: iio: adc: add Texas Instruments ADS7924

.../bindings/iio/adc/ti,ads7924.yaml | 104 ++++
MAINTAINERS | 7 +
drivers/iio/adc/Kconfig | 11 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/ti-ads7924.c | 492 ++++++++++++++++++
5 files changed, 615 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml
create mode 100644 drivers/iio/adc/ti-ads7924.c


base-commit: bfcae956d9b50ea0e221cefc171604c569017d7e
--
2.30.2