From: Nguyen Minh Tien <zizuzacker@gmail.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
linux-kernel@vger.kernel.org, zizuzacker@gmail.com
Subject: [PATCH 0/2] iio: adc: Add Texas Instruments ADS1220 ADC
Date: Wed, 10 Jun 2026 22:13:40 +0700 [thread overview]
Message-ID: <20260610151342.44274-1-zizuzacker@gmail.com> (raw)
This series adds support for the Texas Instruments ADS1220, a 24-bit,
2-kSPS, 4-channel delta-sigma ADC with an SPI (mode 1) interface, a
programmable gain amplifier (1 to 128), an internal 2.048V reference and
a dedicated DRDY data-ready output.
The driver supports:
- single-ended and differential voltage channels described as
device-tree child nodes;
- per-channel programmable gain (via _scale) and data rate (via
_sampling_frequency), with the matching *_available attributes;
- the internal 2.048V reference, an external reference on REFP0/REFN0
via a regulator, or the analog supply (AVDD) as a ratiometric
reference for single-supply measurements;
- single-shot conversions gated on the DRDY interrupt, or on a
data-rate-derived delay when no interrupt is wired;
- a DRDY-interrupt-driven triggered buffer for streaming;
- runtime PM (power-down between conversions).
I tested this on a Lichee Pi Nano (Allwinner F1C100s) running Linux 7.0:
with a potentiometer on AIN0 (single-ended against AVSS, AVDD as the
reference), in_voltage0_raw tracks the wiper linearly across the full
0..3.3V range (0 to 0x7fffff). Nothing in the driver is board-specific -
it only uses the SPI and IIO frameworks - so it should work on any SPI
host.
This is my first kernel contribution. I modelled the driver on the
existing TI ADS-family IIO drivers - ti-ads1119 for the structure and
ti-ads124s08 for the SPI side - so I'd welcome any feedback on things
I've missed.
Nguyen Minh Tien (2):
dt-bindings: iio: adc: Add TI ADS1220
iio: adc: Add TI ADS1220 driver
.../bindings/iio/adc/ti,ads1220.yaml | 146 +++
MAINTAINERS | 7 +
drivers/iio/adc/Kconfig | 12 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/ti-ads1220.c | 835 ++++++++++++++++++
5 files changed, 1001 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads1220.yaml
create mode 100644 drivers/iio/adc/ti-ads1220.c
base-commit: ae696dfa47c30016cd429b9db5e70b259b8f509e
--
2.34.1
next reply other threads:[~2026-06-10 15:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-10 15:13 Nguyen Minh Tien [this message]
2026-06-10 15:13 ` [PATCH 1/2] dt-bindings: iio: adc: Add TI ADS1220 Nguyen Minh Tien
2026-06-10 15:29 ` sashiko-bot
2026-06-10 15:13 ` [PATCH 2/2] iio: adc: Add TI ADS1220 driver Nguyen Minh Tien
2026-06-10 15:43 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260610151342.44274-1-zizuzacker@gmail.com \
--to=zizuzacker@gmail.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox