Devicetree
 help / color / mirror / Atom feed
* [PATCH v5 00/10] iio: adc: Add TI ADS126X ADC family support
@ 2026-10-10  6:52 Kurt Borja
  2026-10-10  6:52 ` [PATCH v5 01/10] dt-bindings: adc: add excitation-current-chopping property Kurt Borja
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Kurt Borja @ 2026-10-10  6:52 UTC (permalink / raw)
  To: Kurt Borja, Jonathan Cameron, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, David Lechner
  Cc: Nuno Sá, Andy Shevchenko, linux-iio, devicetree,
	linux-kernel, Conor Dooley

Hi all,

I apologize for the long delays between versions. This month has been
very busy at university plus some personal stuff. I expect to have more
time now, so development should be faster. Thanks for your patience!

Signed-off-by: Kurt Borja <kuurtb@gmail.com>
---
v5:

  dt-bindings
  -----------

  - Change the '#io-channel-cells' layout to <adc inp inn>: the first cell
    selects ADC1 (1) or ADC2 (2), and the other two cells select the
    positive and negative inputs, instead of addressing channels by reg.
    Document the monitor input numbers (11-14).

  - Drop the per-compatible '#io-channel-cells' constraints.

  - Allow hexadecimal unit addresses in channel node names.

  - In the first example, describe the refp3 and refn3 supplies used by
    the channel's reference-sources.

  ti-ads1262
  ----------

  - Get the device name from match data (struct ads1262_chip_info) instead
    of reading the device ID register at probe.

  - Translate io-channel specifiers by the channel's positive and negative
    inputs.

  - Cache the AVDD and AVSS voltage values to avoid locking issues later
    when the VBIAS regulator is introduced.

  - Channels using the internal reference on both sides (internal-p,
    internal-n) no longer need the AVSS voltage.

  - Only treat the supply as bipolar when the AVSS voltage is non-zero.

  - Optimize the buffer SPI message in preenable() and release it in
    postdisable(), so it can't race the trigger handler when a trigger
    other than DRDY is used.

  - Reject multi-channel sampling with the DRDY trigger when the buffer is
    enabled, instead of in validate_scan_mask(), which missed trigger
    changes made after the scan mask was set.

  - Report REFOUT as AVSS + 2.5 V through a .get_voltage() callback instead
    of a fixed 2.5 V, so it is correct with bipolar supplies.

  - @Andy:

    I didn't convert the reset GPIO into a reset controller for two
    reasons. The most important one is that we need exclusive control
    over the line because it also acts as PWDN, depending on the
    timings. The second is that we are currently using it to keep the
    chip powered-on, so we would need to depend on CONFIG_RESET_GPIO to
    avoid issues, and that seems a bit unnecesary.

    Also I didn't use variables for the single-channel and diff-channels
    properties because IMO it's easier to read that way.

    Let me know what you think about these.

  Misc:

  - Drop the redundant <linux/compiler_attributes.h> include.
  - Annotate st->channels with __counted_by_ptr(num_channels).
  - Rename ADS1262_POWER_TRANS_USECS to ADS1262_POWER_TRANS_US.
  - Turn ads1262_default_channel into a macro instead of a static const.
  - Add unit suffixes to the clock rate constant and field.
  - Use ret == 0 for the completion timeout check.
  - Join the ads1262_regmap_write() call onto one line.
  - Split the initialization of i in ads1262_parse_channels() and move
    it next to its first use.
  - Use the ?: operator for the clock rate fallback.
  - Rename ads1262_supply_setup() to ads1262_supplies_setup().
  - Drop the NULL check in ads1262_regulator_disable().

v4: https://patch.msgid.link/20260828-ads126x-v4-0-1dc27e9c0260@gmail.com
v3: https://patch.msgid.link/20260807-ads126x-v3-0-f89925d72792@gmail.com
v2: https://patch.msgid.link/20260628-ads126x-v2-0-4b1b231325ba@gmail.com
v1: https://patch.msgid.link/20260612-ads126x-v1-0-894c788d03ed@gmail.com

---
Kurt Borja (10):
      dt-bindings: adc: add excitation-current-chopping property
      dt-bindings: iio: adc: support the TI ADS126x ADC family
      iio: adc: add the ti-ads1262 driver
      iio: adc: ti-ads1262: support per-channel sampling frequency
      iio: adc: ti-ads1262: support per-channel reference and gain
      iio: adc: ti-ads1262: support input chopping
      iio: adc: ti-ads1262: support excitation currents
      iio: adc: ti-ads1262: support triggered buffer sampling
      iio: adc: ti-ads1262: support REFOUT and VBIAS regulators
      iio: adc: ti-ads1262: support common mode supplies

 Documentation/devicetree/bindings/iio/adc/adc.yaml |    8 +
 .../devicetree/bindings/iio/adc/ti,ads1262.yaml    |  381 ++++
 MAINTAINERS                                        |    7 +
 drivers/iio/adc/Kconfig                            |   14 +
 drivers/iio/adc/Makefile                           |    1 +
 drivers/iio/adc/ti-ads1262.c                       | 2136 ++++++++++++++++++++
 6 files changed, 2547 insertions(+)
---
base-commit: 04434a1d0f311d76b1f15fa987918b471a0b8c6a
change-id: 20251129-ads126x-fb6107505cae

-- 
Thanks, 
 ~ Kurt


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2026-10-10  7:09 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-10  6:52 [PATCH v5 00/10] iio: adc: Add TI ADS126X ADC family support Kurt Borja
2026-10-10  6:52 ` [PATCH v5 01/10] dt-bindings: adc: add excitation-current-chopping property Kurt Borja
2026-10-10  6:52 ` [PATCH v5 02/10] dt-bindings: iio: adc: support the TI ADS126x ADC family Kurt Borja
2026-10-10  7:02   ` sashiko-bot
2026-10-10  6:52 ` [PATCH v5 03/10] iio: adc: add the ti-ads1262 driver Kurt Borja
2026-10-10  7:05   ` sashiko-bot
2026-10-10  6:52 ` [PATCH v5 04/10] iio: adc: ti-ads1262: support per-channel sampling frequency Kurt Borja
2026-10-10  7:07   ` sashiko-bot
2026-10-10  6:52 ` [PATCH v5 05/10] iio: adc: ti-ads1262: support per-channel reference and gain Kurt Borja
2026-10-10  6:52 ` [PATCH v5 06/10] iio: adc: ti-ads1262: support input chopping Kurt Borja
2026-10-10  6:52 ` [PATCH v5 07/10] iio: adc: ti-ads1262: support excitation currents Kurt Borja
2026-10-10  7:09   ` sashiko-bot
2026-10-10  6:52 ` [PATCH v5 08/10] iio: adc: ti-ads1262: support triggered buffer sampling Kurt Borja
2026-10-10  7:09   ` sashiko-bot
2026-10-10  6:52 ` [PATCH v5 09/10] iio: adc: ti-ads1262: support REFOUT and VBIAS regulators Kurt Borja
2026-10-10  6:52 ` [PATCH v5 10/10] iio: adc: ti-ads1262: support common mode supplies Kurt Borja

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox