[PATCH v5 00/15] iio: adc: ad4134: Enable greater sample rate data capture
From: Marcelo Schmitt
Date: Fri Oct 16 2026 - 22:00:52 EST
Extend AD4134 support to enable greater sample rate data capture. To achieve
that, provide control of digital filter type selection. The default filter
type on device power up only supports sample rates up to 374 kSPS. In addition
to that, enable interfacing with AD4134 in SPI 4-wire mode that can support
reading ADC sample data through multiple wires. Finally, use SPI offloading
to speed up data transfers at up to 1.49 MSPS.
Features being added:
- Data filter type selection.
- Triggered buffer data read.
- SPI 4-wire mode.
- High speed data capture with SPI offloading.
- Device tree doc updates.
Minor improvements (introduced before the new features):
- Sign extend sample data.
- Apply reset recovery wait time.
- Update include list to comply with IWYU principles.
- Serialize single-read operations.
- Run shorter transfers when CRC is disabled.
- Protect conventional device access from debug accesses [NEW PATCH]
Change log v4 -> v5:
[device tree]
- No changes in dt-doc.
[IIO]
- Initialized local variable with 0 to avoid build warns.
- Set max_register according to AD4134_NUM_CHANNELS.
- Apply reset recovery wait time. [NEW FIX PATCH]
- Protect conventional device access from debug accesses. [NEW PATCH]
- Re-arranged code so early function prototype declaration is no longer needed.
- Now using iio_for_each_active_channel() to iterate over IIO channels.
- Updated adi,spi-mode property handling.
- No longer selecting/deselecting multiplexer states when in minimum I/O mode.
Previous submissions:
v1: https://lore.kernel.org/linux-iio/cover.1788368334.git.marcelo.schmitt@xxxxxxxxxx/
v2: https://lore.kernel.org/linux-iio/cover.1789494473.git.marcelo.schmitt@xxxxxxxxxx/
v3: https://lore.kernel.org/linux-iio/cover.1790719424.git.marcelo.schmitt@xxxxxxxxxx/
v4: https://lore.kernel.org/linux-iio/cover.1791309733.git.marcelo.schmitt@xxxxxxxxxx/
Marcelo Schmitt (15):
iio: adc: ad4134: Adjust register map range
iio: adc: ad4134: Sign extend sample data
iio: adc: ad4134: Apply reset recovery wait time
iio: adc: ad4134: Update include list to comply with IWYU principles
iio: adc: ad4134: Serialize single-read operations
iio: adc: ad4134: Protect conventional device access from debug
accesses
iio: adc: ad4134: Run shorter transfers when CRC is disabled
iio: adc: ad4134: Add support for digital filter type selection
iio: adc: ad4134: Support buffered data read
dt-bindings: iio: adc: adi,ad4134: Document SPI connection mode
dt-bindings: iio: adc: adi,ad4134: Document external multiplexer usage
iio: adc: ad4134: Support SPI 4-wire mode
dt-bindings: iio: adc: adi,ad4134: Document PWM usage
iio: adc: ad4134: Support high-speed data capture
Docs: iio: Add AD4134
.../bindings/iio/adc/adi,ad4134.yaml | 110 ++-
Documentation/iio/ad4134.rst | 127 +++
Documentation/iio/index.rst | 1 +
MAINTAINERS | 1 +
drivers/iio/adc/Kconfig | 8 +
drivers/iio/adc/ad4134.c | 793 +++++++++++++++++-
6 files changed, 987 insertions(+), 53 deletions(-)
create mode 100644 Documentation/iio/ad4134.rst
base-commit: a22dc7ebb21a6bd4c8b63bc2c1dd46a24945aae7
--
2.53.0