Re: [PATCH 0/5] iio: adc: Add TI ADS126X ADC family support
From: David Lechner
Date: Fri Jun 12 2026 - 19:50:22 EST
On 6/12/26 5:46 PM, Kurt Borja wrote:
> Hi all,
>
> This series introduces support for TI ADS1262 and ADS1263 ADCs [1].
> These devices are very similar (if not the same), except ADS1263
> includes a secondary auxiliary ADC.
>
> The main ADC has quite a few features supported the main driver
> (ti-ads1262), including:
>
> - Power management
> - IIO direct and buffer modes
> - Channel hot-reloading
> - Internal or external oscillator
> - Internal or external voltage reference
> - Filter configuration
> - Sensor bias configuration
> - IDAC configuration
> - Level-shift voltage configuration
> - Manual calibration support
> - GPIO controller capabilities
>
> I plan to add these features to the main driver soon:
>
> - SPI offload support (38400 SPS turns out to be too high for some
> systems)
> - User triggered, automatic calibration (Datasheet 9.4.9)
>
> Additionally, full support for the (less capable) auxiliary ADC is
> introduced by the auxiliary ti-ads1263-adc2 driver included in this
> series.
>
> The auxiliary ADC operates almost completely independent of the main
> ADC. The only consideration that has to be taken for interoperability is
> when reading conversion data in direct mode (Datasheet 9.4.7.1), which
> happens only in buffer mode, when multiple channels are enabled.
>
> When reading data in direct mode, all SPI activity is forbidden between
> the data-ready signal and the data retrieval. To achieve this a second
> mutex called xfer_lock was introduced to block SPI activity on the
> device.
>
> This is one of the biggest drivers I've developed, so I hope the code
> and the comments are self-explainatory. If not, please let me know so I
> can clarify them.
>
> As always, thanks for your reviews and help. Submitting upstream is
> always a great learning experience :)
>
> [1] https://www.ti.com/lit/ds/symlink/ads1263.pdf
>
> Signed-off-by: Kurt Borja <kuurtb@xxxxxxxxx>
> ---
> Kurt Borja (5):
> dt-bindings: iio: adc: Add TI ADS126x ADC family
> iio: adc: Add ti-ads1262 driver
> iio: adc: ti-ads1262: Add GPIO controller support
> iio: adc: ti-ads1262: Add calibration support
> iio: adc: Add ti-ads1263-adc2 driver
>
> .../devicetree/bindings/iio/adc/ti,ads1262.yaml | 308 +++
> .../bindings/iio/adc/ti,ads1263-adc2.yaml | 49 +
> MAINTAINERS | 10 +
> drivers/iio/adc/Kconfig | 26 +
> drivers/iio/adc/Makefile | 2 +
> drivers/iio/adc/ti-ads1262.c | 2180 ++++++++++++++++++++
> drivers/iio/adc/ti-ads1262.h | 39 +
> drivers/iio/adc/ti-ads1263-adc2.c | 470 +++++
> 8 files changed, 3084 insertions(+)
> ---
> base-commit: ae696dfa47c30016cd429b9db5e70b259b8f509e
> change-id: 20251129-ads126x-fb6107505cae
>
Hi Kurt,
I'm currently working on the TI ADS112C14 family of chips which
are functionally very similar (although have a bit of a different
register map).
I have some different ideas for the devicetree bindings that I
think will make it a bit more flexible. Given how similar the
chips are, I think we will want to align on how we do these (and
there was one more similar, and thankfully much simpler, TI ADC
driver submitted this week too!).
So rather that looking at your stuff too closely yet, I will send
what I have next week and we can compare notes then.