Re: [PATCH 0/5] iio: adc: Add TI ADS126X ADC family support
From: Kurt Borja
Date: Fri Jun 12 2026 - 20:11:11 EST
On Fri Jun 12, 2026 at 6:50 PM -05, David Lechner wrote:
> 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.
Hi David,
Of course!
Devicetree bindings were a bit of a pain for me. I definitely want to
check your approach, specially on the IDAC stuff. The ADS1262 has many
pin configurations. I even considered a pinctrl driver for it, which
would have taken care of IDAC, biases, etc.
I plan to work on sashiko's feedback this weekend and submit next week.
Won't make huge changes, just fix some rookie mistakes... :/
--
Thanks,
~ Kurt