From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0800A3FC5CE for ; Wed, 10 Jun 2026 15:13:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781104431; cv=none; b=qsxw3/aus2Wy/ovaJ+nwIBLQkda3VTkI4lnILfDsLqiwchoS8kaXhCL4H7FlL5YA6aBh2ZgwmY0vfcbW2EgET5a3ruidJAe+npTkM56PZXYsNP/5KpMb4nV5/qJ3piCoqQUrnVIcejHV+s23RW65lQqinKB1pnOMTkwnIedzfDk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781104431; c=relaxed/simple; bh=ZywlfbF41j2Nded7OQmsl0r2Xwazx+xj+hhYFdpigSM=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=cQcWYgMresGIwC9KgCcP5QtE6BE4Tf/H0Qhl8iCxYFIOLSfWjTudQY8GcLOKrAqw+ELOSSG5JZUeAKWA3ihopFjwz88AgF4FGkQnT4g1VLFZjKnyvZ3NJJ8X+HoEgQlZCDDmzrui6tGRtdX5AheMyDNlSrP2uTWqSal39JJptbc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fdrfmLXd; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fdrfmLXd" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-c857fba35cfso3430496a12.1 for ; Wed, 10 Jun 2026 08:13:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781104429; x=1781709229; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=SN2WYk0Xb543ogGLjaeUCwmB6Ei9KYDO2yTRMSZaVpY=; b=fdrfmLXdLBBmNFgpj9WWZcpjiv2zJ4H4C9+UzMHGJcfN+ItNolsWGwwYzaHjYRH7Ee HlSLYKpRFqjupt70WkgSATJiOIn8GTyvD8W5l+AflrxX5cx6ULpCmlZbjPoRamF6fpZ8 4uxzy15VhwDngIyZKUgNoFDjza/5EzTyAKBckGzeiINSFinAbNoV1GdzTlir6hlBqojj yifKHid4vhlffYStiQzMmqOeJdkdQjvzYYO1/tX0WGstUblvTnuNpcrpYbMxxpEDiQ4I ByVGft2oIgZTBT8DSYC8KwMRT/eb1cRwRprpAOYQ2wa2TvGd5tnuTR/VQ5ZPp53a18eT 5kHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781104429; x=1781709229; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SN2WYk0Xb543ogGLjaeUCwmB6Ei9KYDO2yTRMSZaVpY=; b=fA0DETy/wIXl4EAa9tk/1WTp+dJYlGYjmdGtYBwYDLxaCGYdzX0OKVEtsmjfHI+PUH GNh1pA3G9+g2mKM8l3wxB7fVssPskttFoOpbw9+KHFjYUwFsEZFzyWppA6gRvoNnryRt YahOaLiPbO0OzeGkOkaqI115dnOy9YaReNK0w+bVajvqDtqPrHryRbx1PQK5Iun8aLTE KoQnem+OQm0+b5or56477wocxvkxU6JyWYdYVIKOdQf/x0sv+dh7bphFVejIlommATMH kMALfUCUzzJvQ9sA8dbdYf58586Xt+u18U0OM4TGwDgcBnRoxM1C5BBEZugwTPrz5Hdw 4zOg== X-Forwarded-Encrypted: i=1; AFNElJ8E+RxioWRpfG+FcqC9t4I136vL0f10TqsPG6eJs43WwVTyTP3qom3coQ6xpZMhYmr7cKoOxAF7tzXIDl8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxs+gY1AriW1ZV0ZsnNugq4juRM2pNbIkbbPc8RjB+CVFIK5/Dw Ho1tLwTJwIGLgjjLzKcHde5597mbwDuP/AqN0oqJQIEVcTL+CbWaZRrX0cCX7fMG X-Gm-Gg: Acq92OGJXgjFkjdATPp3sNIqDSpbld8hANQwzbLuC0X798I7truKPHEqSWGOjCG+8gI pN2jXKPurs32hBZNlhD+R+hxUuU/PjO4ca1lAdMIHxpSG8jDJ5KgCxdcUfxLpoCdpOIw2H+R2fm +QFrj6qOjPSGqCninehhDck4hc6t49Jk3DuMf1psiw9n6OJPfqUzUTIwsUkfaIyGn1kc1RylevJ rjfh7x3f/uoOjZ8qL2G3HaCoOshPiZF+KmjDNo4lbAxAInYKNywsbnRB1wh2qlIyJi18Wv3R5/4 Fqkn5qju0McPWQWxcRuNjoyDIO5zMchOR447uskblkRPsif3TDNGq0EFi+rLq+b5KtpEcARPZui sHNuPsDMAcPR8Hc8TDtW4Kq/dmV7+MWqIuqFGdDGEeKqOF3zW47hbDVman3WjywGPkNTMpRgB8m dwjBZwXXu5jLvJ7rVx9bvVras= X-Received: by 2002:a17:903:1252:b0:2c0:c625:4010 with SMTP id d9443c01a7336-2c1e8102377mr281161125ad.32.1781104429228; Wed, 10 Jun 2026 08:13:49 -0700 (PDT) Received: from ltu.. ([171.245.6.72]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c1664a67b0sm254066195ad.80.2026.06.10.08.13.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2026 08:13:48 -0700 (PDT) From: Nguyen Minh Tien To: Jonathan Cameron Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , 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 Message-Id: <20260610151342.44274-1-zizuzacker@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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