[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1751289747.git.marcelo.schmitt@analog.com>
Date: Mon, 30 Jun 2025 10:57:32 -0300
From: Marcelo Schmitt <marcelo.schmitt@...log.com>
To: <linux-iio@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-gpio@...r.kernel.org>, <linux-kernel@...r.kernel.org>
CC: <jic23@...nel.org>, <lars@...afoo.de>, <Michael.Hennerich@...log.com>,
<dlechner@...libre.com>, <nuno.sa@...log.com>, <andy@...nel.org>,
<robh@...nel.org>, <krzk+dt@...nel.org>, <conor+dt@...nel.org>,
<linus.walleij@...aro.org>, <brgl@...ev.pl>, <broonie@...nel.org>,
<lgirdwood@...il.com>, <marcelo.schmitt1@...il.com>
Subject: [PATCH v7 00/12] iio: adc: Add support for AD4170 series of ADCs
Hello,
AD4170 support v7 comes after testing the driver with even more variations of
channel setups. Signal offset and amplification can be tricky to grasp at times.
Thank you to all reviewers of previous versions. This intends to comply with all
comments and suggestions to v6.
Same amount of patches than v6.
Patch 1 adds device tree documentation for the parts.
Patch 2 adds basic device support.
Patch 3 adds support for calibration scale.
Patch 4 adds support for calibration bias.
Patch 5 adds sinc5+avg to filter_type_available IIO ABI documentation.
Patch 6 adds support for sample frequency along with filter type configuration.
Patch 7 adds support for buffered ADC reading.
Patch 8 adds clock provider support
Patch 9 adds GPIO controller support.
Patch 10 adds internal temperature sensor support.
Patch 11 adds support for external RTD and bridge circuit sensors.
Patch 12 adds timestamp channel
Change log v6 -> v7
[Generic changes]
- Renamed dt-doc and driver from ad4170 to ad4170-4. This will hopefully be more
future proof since there is precedent of different devices with names ending
with and without -N (e.g. AD7091R and AD7091R-5, AD7768 and AD7768-1).
[Device tree changes]
- Dropped leftover/unneeded list of valid reference-buffer values.
- Set vbias at AIN8 in example. The vbias is expected to be set on the IN- pin.
[Basic driver patch]
- Refactored ad4170_parse_adc_channel_type() to use fwnode_property_present()
so to return errors early if required properties are not present.
- Use spi_write_then_read() to skip dealing with DMA safe buffers in slow data paths.
- Minor tweaks to comments such as 'handle options ...' -> 'handle PGA options ...'.
[sinc5+avg ABI patch]
- Fixed IIO ABI documentation by specifying the correct filter enabled with sinc5+avg.
[Digital filter and sample frequency config patch]
- Now reading SPS table within filter type switch to ensure in bounds array access.
- Squeezed info_mask_separate additions to reduce change diff.
[Buffer support patch]
- Dropped extra assignment of st->trig->dev.parent.
[GPIO controller patch]
- Used local device pointer (replaced &st->spi->dev with dev) in ad4170_parse_firmware().
[External sensor patch]
- adi,vbias was previously set per channel in ad4170 dt-binding but it is set
per device in adi,ad4130.yaml. Fixed ad4170 parsing of adi,vbias. The
dt-binding had been updated to the established use of adi,vbias in v4.
Link to v6: https://lore.kernel.org/linux-iio/cover.1750258776.git.marcelo.schmitt@analog.com/
Link to v5: https://lore.kernel.org/linux-iio/cover.1749582679.git.marcelo.schmitt@analog.com/
Link to v4: https://lore.kernel.org/linux-iio/cover.1748829860.git.marcelo.schmitt@analog.com/
Link to v3: https://lore.kernel.org/linux-iio/cover.1747083143.git.marcelo.schmitt@analog.com/
Link to v2: https://lore.kernel.org/linux-iio/cover.1745841276.git.marcelo.schmitt@analog.com/
Link to v1: https://lore.kernel.org/linux-iio/cover.1744200264.git.marcelo.schmitt@analog.com/
Ana-Maria Cusco (1):
iio: adc: Add basic support for AD4170-4
Marcelo Schmitt (11):
dt-bindings: iio: adc: Add AD4170
iio: adc: ad4170-4: Add support for calibration gain
iio: adc: ad4170-4: Add support for calibration bias
Documentation: ABI: IIO: Add sinc5+avg to the filter_type_available
list
iio: adc: ad4170-4: Add digital filter and sample frequency config
support
iio: adc: ad4170-4: Add support for buffered data capture
iio: adc: ad4170-4: Add clock provider support
iio: adc: ad4170-4: Add GPIO controller support
iio: adc: ad4170-4: Add support for internal temperature sensor
iio: adc: ad4170-4: Add support for weigh scale and RTD sensors
iio: adc: ad4170-4: Add timestamp channel
Documentation/ABI/testing/sysfs-bus-iio | 1 +
.../bindings/iio/adc/adi,ad4170-4.yaml | 555 +++
MAINTAINERS | 8 +
drivers/iio/adc/Kconfig | 16 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/ad4170-4.c | 3020 +++++++++++++++++
6 files changed, 3601 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4170-4.yaml
create mode 100644 drivers/iio/adc/ad4170-4.c
base-commit: 42498420746a4db923f03d048a0ebc9bd2371f56
--
2.47.2
Powered by blists - more mailing lists