Skip to content

iio: adc: ad4134: Enable greater sample rate data capture

Marcelo Schmitt linux-devicetree linux-iio lkml 6 versions – Applied

Status from this message: Applied. Still a narrow window for last minute feedback if

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest16 patches 3 repliesApplied
  2. v515 patches 12 repliesSuperseded
  3. v413 patches 18 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v313 patches11 repliesSuperseded
v215 patches15 repliesApplied
v113 patches21 repliesSuperseded

Changes in v6 from the cover letter · 18 lines

[device tree]
- No changes in dt-doc.
[IIO]
- Correct reset time to microseconds.
- Added sinc6 filter_type to IIO ABI [NEW PATCH]
- Added Fixes tag to iio: adc: ad4134: Serialize single-read operations
- Better explanation for requiring debugfs synchronization.
- Lock sync_lock mutex to avoid filter type read interleaving with read/write/modify sequences.
- Now running bus preparation routines on IIO buffer preenable/postdisable.
- Put dev_err_probe() in a single line.
- Use mux_state local vaiable to improve readability.
- Restore SPI mode if spi_setup() fails.
- Use cleanup macros to handle claim/release pairs.
- Check the ODR to SCLK offset aginst the maximum ODR high time.
- Removed defensive offload support check on read_raw().
- Added comment explaining why single-shot reads are not supported in offload mode.
- No error out when pwm_round_waveform_might_sleep() return > 0.
- Adjusted intial ODR PWM target duty cycle to odr_high_time_ns.

Patches in v6 Applied

#Subject and filesSizeRepliesApplied
1/16iio: adc: ad4134: Adjust register map rangedrivers/iio/adc/ad4134.c+2 -20 replies
2/16iio: adc: ad4134: Sign extend sample datadrivers/iio/adc/ad4134.c+3 -10 replies
3/16iio: adc: ad4134: Apply reset recovery wait timedrivers/iio/adc/ad4134.c+2 -10 replies
4/16iio: adc: ad4134: Update include list to comply with IWYU principlesdrivers/iio/adc/ad4134.c+3 -30 replies
5/16iio: adc: ad4134: Serialize single-read operationsdrivers/iio/adc/ad4134.c+15 -10 replies
6/16iio: adc: ad4134: Protect conventional device access from debug accessesdrivers/iio/adc/ad4134.c+6 -01 reply
7/16iio: adc: ad4134: Run shorter transfers when CRC is disableddrivers/iio/adc/ad4134.c+6 -40 replies
8/16iio: ABI: Add sinc6 filter_typeDocumentation/ABI/testing/sysfs-bus-iio+2 -00 replies
9/16iio: adc: ad4134: Add support for digital filter type selectiondrivers/iio/adc/ad4134.c+83 -120 replies
10/16iio: adc: ad4134: Support buffered data readdrivers/iio/adc/Kconfig drivers/iio/adc/ad4134.c+61 -20 replies
11/16dt-bindings: iio: adc: adi,ad4134: Document SPI connection modeDocumentation/devicetree/bindings/iio/adc/adi,ad4134.yaml+50 -70 replies
12/16dt-bindings: iio: adc: adi,ad4134: Document external multiplexer usageDocumentation/devicetree/bindings/iio/adc/adi,ad4134.yaml+47 -00 replies
13/16iio: adc: ad4134: Support SPI 4-wire modedrivers/iio/adc/Kconfig drivers/iio/adc/ad4134.c+198 -90 replies
14/16dt-bindings: iio: adc: adi,ad4134: Document PWM usageDocumentation/devicetree/bindings/iio/adc/adi,ad4134.yaml+6 -00 replies
15/16iio: adc: ad4134: Support high-speed data capturedrivers/iio/adc/Kconfig drivers/iio/adc/ad4134.c+382 -130 replies
16/16Docs: iio: Add AD4134Documentation/iio/ad4134.rst Documentation/iio/index.rst MAINTAINERS+129 -00 replies

Reviews trailers per patch

9 of 16 patches have a Reviewed-by or Acked-by.

PatchNuno SáJoshua CroftsAndy ShevchenkoConor DooleyRob Herring (Arm)
1/16
2/16R-b R-b
3/16R-b
4/16R-b R-b
5/16R-b R-b
6/16
7/16R-b
8/16
9/16
10/16R-b
11/16R-b
12/16R-b
13/16
14/16A-b
15/16
16/16

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.

Read the v6 thread

Cover letter [PATCH v6 00/16] iio: adc: ad4134: Enable greater sample rate data capture

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 v5 -> v6:
[device tree]
- No changes in dt-doc.
[IIO]
- Correct reset time to microseconds.
- Added sinc6 filter_type to IIO ABI [NEW PATCH]
- Added Fixes tag to iio: adc: ad4134: Serialize single-read operations
- Better explanation for requiring debugfs synchronization.
- Lock sync_lock mutex to avoid filter type read interleaving with read/write/modify sequences.
- Now running bus preparation routines on IIO buffer preenable/postdisable.
- Put dev_err_probe() in a single line.
- Use mux_state local vaiable to improve readability.
- Restore SPI mode if spi_setup() fails.
- Use cleanup macros to handle claim/release pairs.
- Check the ODR to SCLK offset aginst the maximum ODR high time.
- Removed defensive offload support check on read_raw().
- Added comment explaining why single-shot reads are not supported in offload mode.
- No error out when pwm_round_waveform_might_sleep() return > 0.
- Adjusted intial ODR PWM target duty cycle to odr_high_time_ns.

Previous submissions:
v1: https://lore.kernel.org/linux-iio/[email protected]/
v2: https://lore.kernel.org/linux-iio/[email protected]/
v3: https://lore.kernel.org/linux-iio/[email protected]/
v4: https://lore.kernel.org/linux-iio/[email protected]/
v5: https://lore.kernel.org/linux-iio/[email protected]/

Marcelo Schmitt (16):
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: ABI: Add sinc6 filter_type
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

 Documentation/ABI/testing/sysfs-bus-iio       |   2 +
 .../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                      | 781 +++++++++++++++++-
 7 files changed, 985 insertions(+), 45 deletions(-)
 create mode 100644 Documentation/iio/ad4134.rst

base-commit: 87e28db23d0384f3995c43ecc5ae2118b371edb5

Signature · 1 line
2.53.0