From nobody Mon Jun 8 04:25:45 2026 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 9529F3101D8 for ; Sun, 7 Jun 2026 18:37:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780857450; cv=none; b=k5Rnri8X+CtgapFrG/5nGUZXpLsFuEiQtRvyLSWJCAaNfRMriJM0l50Qt/MxdYtH2s0qCLFygUm6o5XqELaIok1qOzQ90tN1PaxBNdUCuDOX7iO84b5AMVrMXmYhTEuHox1mfYNGFR4Xr+6QAhZCJEcXLV4siZXYQu46JKYE/Ug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780857450; c=relaxed/simple; bh=yEjOX07S4zJvX1LEDBhq5IvNEprQPi0UWzNcFypZyWc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XLCR8TcAf3Oyxal6b40IUcSf3wO1XueP3b5fAnmaoXg7TVseriBRDp2edEg35YyxeJ6SYx+8XR4AxszrC1GCNbQqr2GjP9+l2TCa6qzHC98EV1fEfHiij2tnye+UXBSIENdBwdy5p6P6HIaGJdNAO13cQvkg0UYiRKbfsBle9mE= 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=HkVXf2Wu; arc=none smtp.client-ip=209.85.167.54 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="HkVXf2Wu" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5aa6792e7b8so3538095e87.1 for ; Sun, 07 Jun 2026 11:37:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780857446; x=1781462246; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2akuz5+DPpkEGyOUvAGrzEL48qzjsdIRCCP8EQOQUuU=; b=HkVXf2WuNm5RywlEFaUdp9vZ3uj+pS5f3BDsZJRfB0m0bAcOIE1XomvLz2QOkgWtt7 YiOexQZT44XIOQJ3/fkxkOUe6HgOC4D3f87iPD9JPfUL51o0nqgIWX67d8UXFV0nvZEC 7jX9oL/t7VBqaCn6vvYsyNn82ihDqPWSnmZtU2hvugf6bhJHcV2Bl7G2tpP/juqlReDG ORtBqN67vTLHPbcmaKmZ3esNbZnJ9HJNy4DOHLT2DZl6Huz32ehsaNqF0M7078+HN3/4 qnF7yoJ6Fn6d5AMHrT62A4CxovbWWNuPu5zqgs5knMMIcR/2H6vbRS0ISN0SAghXzFZq K/Hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780857446; x=1781462246; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2akuz5+DPpkEGyOUvAGrzEL48qzjsdIRCCP8EQOQUuU=; b=W2BSrs86+In85Tc7nUIIFyGOXflTPUCqyDKWce/oGb7J1X0rvkGdSj1TN2ZropRShu 7xLQfCW5Feu38A3IDSnF9js2Rb/sor573wW9S19YFG5NwLE3JFHOVlGv3B6Wm6O0HSLE jXbCIhbOyTFFoIVLWR1j13UJt5xChG2LCqxIrluZuJbhYHp61gQ/MCjicpuGEOxmCqRQ kpdPPy/oD/zkTmN+lhvnBXIXXGqJuwTeXoV+98V7e5o+bQ4CqDfO7Zq5CVxIUYaM3P+b 88luX3zqPxjN5EtBFqiflRD5xHYF1GMt6LnfgG4OFcqu24tqx7bOkuM/wYsKhF6SA2Sj qIPA== X-Forwarded-Encrypted: i=1; AFNElJ9dwX8yDIwNLHSgcmKNRzy1LKUSNwwe3PNaouTUHv+CFpWwVYO+z52AReNZD6JZWVAAHbcF9QQ6r9qD1G8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/rZ6URjvqvO/kM0h6NERfVegxqw+qsxC0V0jYwqfx+C+LhOZh 0shpWPsqRU7Slq5tEZxA7BhjHgfcix4pHBbVRn0jyNnGukpKMjbaCKRL X-Gm-Gg: Acq92OEze2jdB3O6Wmw52yD5jtO6zO36EgPMv4smcXh6FZLiXQ/wIzS7myGGnVSml75 Ue7B3c5wWyv6eEDM3OLDbgEsphSdGS7rAayYhBT3bRizwAn0T9g2/Lr9MLnKn39Dn2vV6NHR6Jy jWGsLVuWyCvho7PvStungNbwzM6hliOGMf/KKX3wN3Q5uPP0TP3wO7I5cKyywFLICqkCBWfHQ6h 11JQZOwUJcp7Tv0NAAn9ptW2BRdm2OZGB0ybwrvlBsrbjZqLyfWWb5XFBnhcbZXgBM8WcO4WKPX dhHbYe0WIo6udwpsyIs3r3mub4g5il8jnqmtJMZ4d+fX0+CgYZ4/WI1UJw62TJ6laiA3dFZb3WE uPI9BV+bdMwRTJQplC9GGwKU7UCBeTy00CWTD/MpNTVh5sjowD8THSkmN5IhlDjBvv28uNi1RxT J701FsHdfrujxNMhQeipn5OT2Oon9aB4lGHV+PH2kzHPQMOKC2FdvBK8pYbCORZZZmp+Y= X-Received: by 2002:a05:6512:8046:b0:5aa:b6b:f6ec with SMTP id 2adb3069b0e04-5aa87baf627mr2236328e87.42.1780857445711; Sun, 07 Jun 2026 11:37:25 -0700 (PDT) Received: from MSI-LINUX.kielce.vectranet.pl ([2a02:2a40:27ec:2900:efe3:f920:63b7:5b7]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5aa7b8fc426sm3240809e87.26.2026.06.07.11.37.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jun 2026 11:37:24 -0700 (PDT) From: Jakub Szczudlo To: linux-iio@vger.kernel.org Cc: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, marcelo.schmitt@analog.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, mike.looijmans@topic.nl, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, jorge.marques@analog.com, antoniu.miclaus@analog.com, mazziesaccount@gmail.com, jishnu.prakash@oss.qualcomm.com, duje@dujemihanovic.xyz, wens@kernel.org, sakari.ailus@linux.intel.com, linusw@kernel.org, jszczudlo Subject: [PATCH 1/3] dt-bindings: iio: adc: Update title and enum Date: Sun, 7 Jun 2026 20:35:40 +0200 Message-ID: <20260607183542.368184-2-jakubszczudlo40@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260607183542.368184-1-jakubszczudlo40@gmail.com> References: <20260607183542.368184-1-jakubszczudlo40@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: jszczudlo Add ads1110 into title and enum compatible for ads1100 driver. Signed-off-by: jszczudlo --- Documentation/devicetree/bindings/iio/adc/ti,ads1100.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads1100.yaml b/Do= cumentation/devicetree/bindings/iio/adc/ti,ads1100.yaml index 970ccab15e1e..4c43996b7ec6 100644 --- a/Documentation/devicetree/bindings/iio/adc/ti,ads1100.yaml +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads1100.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/iio/adc/ti,ads1100.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# =20 -title: TI ADS1100/ADS1000 single channel I2C analog to digital converter +title: TI ADS1100/ADS1000/ADS1110 single channel I2C analog to digital con= verter =20 maintainers: - Mike Looijmans @@ -17,6 +17,7 @@ properties: enum: - ti,ads1100 - ti,ads1000 + - ti,ads1110 =20 reg: maxItems: 1 --=20 2.47.3 From nobody Mon Jun 8 04:25:45 2026 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (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 71F5A31D372 for ; Sun, 7 Jun 2026 18:37:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780857453; cv=none; b=aHadXO61lV8i5ccwVhZuEmGVLAgSsubSIbLAUyjshqpgM+qQCcHzbeHdELDV/SftBW5EdPmgidSFbtCN2aipw6LzVUgUc7AibJLtoEvmvademBGFrgTqbMvxSMvMXnl671jzOQujjYrn41Wf4XoqL2cStylMnofY0Tmr2PWLB0Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780857453; c=relaxed/simple; bh=U9etQDu2cHlAvrebLmic68W6Lpjpo0kHXWaG1/vMhe4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ogMRR0ODjOav9zZu2HVgDUhiPkvbF3kwiAxW4UM9yXLqWnXOyL/oXR0xB7n+YxpyDjquL5wiTtp0nsvyDFc29jOav8jhSEgknnC0iPAhgDw5oFq96VUMMyLo3EsGEaS3orTThafkxeIwFZgVbR4tvVFvtjYgURdMueyL3KnRMvo= 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=QGuPVmjb; arc=none smtp.client-ip=209.85.167.52 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="QGuPVmjb" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5aa2c25c632so3811376e87.1 for ; Sun, 07 Jun 2026 11:37:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780857451; x=1781462251; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GS41SM5ONg/ebWQwreACsYq8O1fsTfsaNjMp6UVj45c=; b=QGuPVmjbZmNmGgnWwgFPSPWKhFWIPtzyWW+JTPiOZpHjLLXn3Spi2QWhw489SzqrvY 80jkll21ENhAtKlzvmUKpQRGjaz7AlSvv0Vh55wCSXR9Uzs1pgQxhomwRJd6LPC/3Iwq laNWzuQKJgeh2kWqUWskT2tJDedby0pIzdE6dem2cLatZjjE6DGJcuoVq5jzhxsZWX9C WEyrJkYk1BxjTuSeeV5WENxQvKNNiJR2OAd0KYWRzBEdryYIVJdPiP8qJY73OpRwguTn 4AMUkeahkGm8dm9DssvF9dvQjRtxonGSw0wbVyXa0r8vZHlNyTdEs5X4zINd0SmDAiY1 ZRWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780857451; x=1781462251; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GS41SM5ONg/ebWQwreACsYq8O1fsTfsaNjMp6UVj45c=; b=e/hlHTws24IjDkMawoOGh7C0nJ8wb1rdewxao6RlSGkzIIW57vOTA3qkny7OCfoGXb BXFXwTxmzydfqGvzycN6rjUrKREjFqWawrfWKDbfxn9BeUjLC6i9GWsskqHiFAP3WPm0 yXqC7JwiuHqLHRPlhObr8WBZALVPcg5tPCza+E/jjg7MIwoox+BxmbCoxh8R53iaDeH6 pMDH3cdOpCdCCUw9mX+Bqi9RB294LBZjpeJuNV0ZmeCaIlO4SFvHAQgjGlJjl/1FVdxn +ojKmx9H43btqnWzwah/4UU2HH979tgNegnGHS/4icAh15XpURWyXUVR+dV4FJahDKK0 gCQQ== X-Forwarded-Encrypted: i=1; AFNElJ9q8pgd0UyBOaGEqadAyG5mEnal0rkItsjIlkTu/kgOc3Qm4r1oPkcgOKBVisweASDOE+KWXY4YolQvMts=@vger.kernel.org X-Gm-Message-State: AOJu0YxfmPMvPtw6dzMAP744zFXFef3wi5lpfwWCDNJ5hhFQAgF3Mauc Sc6XtclnF+wgX/759KWVzAdZgR9orqGIHc83QuWA+HpJ2NPwH9fl5F3U X-Gm-Gg: Acq92OFQYEVCqYoFotPW8twsEJC7b7lRh4E/9MYGv11EuqaskbdEHiR0j9/a433j08n 35aBMNMoS96//eY1VmooFN2uVGbWOA9kL41TRLLo0gfVHIVsswn7tHt0u04CSG4oL47IZJ7+C/C BTabezQD4/Smbth4Vr8dEgTcY3S7tOPpK6coSQyOreKnGzKmaDnxQpfuCZDKcdCxliLX2BVE1jh 1+aAHiEa1+ywFF4BqN5i4IF0D3gyHTIoo2gE8PWKDPB8J7t34Z0o9Q4LU+dWS4C2xvCRwOaBxxm mYdQI1Mk6uaB782tVd+NKVd5wX8gdEJnaV0mU93wsw2dRBAh3rAZGR8mMTH0MurIuNohya0zW8M pofe8ApPNSXjIcATm0eh+ZYLOBO11ReBwWppQ9uHjc8xyrEGLgKJ9Rsm0gjUf56mB1SJnAOpMwW 2quCDuz0y0Ih4XoKYPquNWaPBRlTCIRqgihaeIEgl/1wEcUZG19j8gELGFWMsKGYZkLn0= X-Received: by 2002:ac2:43b3:0:b0:5aa:6301:846b with SMTP id 2adb3069b0e04-5aa87b8c393mr2592129e87.5.1780857450652; Sun, 07 Jun 2026 11:37:30 -0700 (PDT) Received: from MSI-LINUX.kielce.vectranet.pl ([2a02:2a40:27ec:2900:efe3:f920:63b7:5b7]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5aa7b8fc426sm3240809e87.26.2026.06.07.11.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jun 2026 11:37:28 -0700 (PDT) From: Jakub Szczudlo To: linux-iio@vger.kernel.org Cc: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, marcelo.schmitt@analog.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, mike.looijmans@topic.nl, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, jorge.marques@analog.com, antoniu.miclaus@analog.com, mazziesaccount@gmail.com, jishnu.prakash@oss.qualcomm.com, duje@dujemihanovic.xyz, wens@kernel.org, sakari.ailus@linux.intel.com, linusw@kernel.org, jszczudlo Subject: [PATCH 2/3] iio: adc: Update Kconfig description for TI_ADS1100 Date: Sun, 7 Jun 2026 20:35:41 +0200 Message-ID: <20260607183542.368184-3-jakubszczudlo40@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260607183542.368184-1-jakubszczudlo40@gmail.com> References: <20260607183542.368184-1-jakubszczudlo40@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: jszczudlo Add mention of ads1110 in Kconfig for TI_ADS1100 Signed-off-by: jszczudlo --- drivers/iio/adc/Kconfig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig index a9dedbb8eb46..ad2a276ce0f8 100644 --- a/drivers/iio/adc/Kconfig +++ b/drivers/iio/adc/Kconfig @@ -1747,11 +1747,11 @@ config TI_ADS1018 called ti-ads1018. =20 config TI_ADS1100 - tristate "Texas Instruments ADS1100 and ADS1000 ADC" + tristate "Texas Instruments ADS1100, ADS1000 and ADS1110 ADC" depends on I2C help - If you say yes here you get support for Texas Instruments ADS1100 and - ADS1000 ADC chips. + If you say yes here you get support for Texas Instruments ADS1100, + ADS1000 and ADS1110 ADC chips. =20 This driver can also be built as a module. If so, the module will be called ti-ads1100. --=20 2.47.3 From nobody Mon Jun 8 04:25:45 2026 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) (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 3CBFB3195FB for ; Sun, 7 Jun 2026 18:37:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780857459; cv=none; b=FkTwwpyT1RmjDoULoflzw8p7b5tQkl2TaEJIDxgnqoLXdEadzRSbnf8FH5nJ3rSVGjwCAFVkzKEjXsjxGbTvxMll6gI/2+eIPbqdyGmz20EYcYDs6XJf9qGLvIgaiDZRornBKe0rUcOnpS2Qk9T+91g7IfmcHWS7ybQkC3c2Po4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780857459; c=relaxed/simple; bh=xQsh1Dv1Iu54/Cb3594y8odpVQjN0OB8h6ISUFWnpH4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jwlliwC9xGchCqwjq3ncXgJGE9Wx7eW14eOwsYM3jQW4KnPXGFjnngDoncRincmHuXJHYm7jEQ799OAZ7fhVYyplCBzQ/lqbZVHDMhHyFr+yP8o3RbwBhgkNuravcwi8j6+46/tcGVaYRoywjPkZ/CXUHSRlnhv6ZAmpkq2CR3g= 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=mXinIQUB; arc=none smtp.client-ip=209.85.167.49 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="mXinIQUB" Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-5aa68cfc182so2982217e87.0 for ; Sun, 07 Jun 2026 11:37:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780857455; x=1781462255; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gi9RhOvXuN1inW3/JT5BCjZHZCw1onAyhDikSR7H1fw=; b=mXinIQUBjkR0UIFVCpjoVt05obybVHDyuN/7TgYv3voJa2EiDZXxXbRYyKx2hCFsDK 08jWKJEFwet0Z8+1HsrgWZ8qjbyr3t3HlSnAdER9wg/lyyQZKi6+LEWV2ZxUJbfQkRrY IP5aHTxPY57pIMiyq/33oWYjwIJ0b4Yex2+Z1AB3KkbNAuxPxXkyHwh8XJgKkXVFD2Yi jzxzdnCvOlN7K4Mm5JgUmV4xr075JxCfJuLF+kgpkfAWmiM8+RZC003qouHQ5+FBH0gB IzzsBzOP4sWPxw1QWt9X+yd0/dSKx7WF2gq39u1EO9fyyPklWO6ACw7+87hlCeJYVA+p gL7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780857455; x=1781462255; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=gi9RhOvXuN1inW3/JT5BCjZHZCw1onAyhDikSR7H1fw=; b=l41GLRiQ4J09LuoqMYRNrt7SLmjkbEH0tNPcicskDtaWeJf9hDU5Jc8lli+SQ2qxuZ UA/k7TuHE4j/lk22HOU2SC+eoSCHsDDYsrOlxnW83PcJUSWVbASLK2fXmLIE9EsmtJQh haxZ7ttmdEddcYE0buChBBOMs2/O/VrDB1LToIrLkQvVbzbz4n/ZrW+DckA+tynShEPD wib3ULyHKe2W0afl5N4MnR6VrL4x7jC1FzNXXVkY9ytwxTEwwG3Ey7vBF7LqJPb4vUJd e/xzERiuGGQ/3uYVZZa64N9CA1pbKhFKlM3WfLYaERG4tRR/Ku/Tz+Ro1WIWISfA2cin 00ow== X-Forwarded-Encrypted: i=1; AFNElJ+rXjA+TmOR3zxA8t8hqRhr2kYpz7Tg4TiGRLqFsPrnOm1GIPqExxYZywcRVQLF3O0gqUGxsIimi0xzpDY=@vger.kernel.org X-Gm-Message-State: AOJu0YwkXXQVjlhqeoxkysz1Ugs9sJmX2MvDgogfcDz+0P18a5ajsXka L7EgMDpbaPpBUIlxW8amIMg7tAuNcedqJfDltJBgS6BNhqv9upUy17he X-Gm-Gg: Acq92OHbx9ILs0kXxm8dS3DfnunpWOEuRr+PbJvxazGVrjzFfgmXDzmd8XrOqcL4P6C AazDCpQQ2ZoU+P09xri5BczPcPorC0+Y4u5mg008ueFfbryjPKfbmErutvZpVJsivfeMbzn+6YK 9Xj6pFssCi59/pLt6WURiga5Rw37WU+CtNwfzS+OF6aqu7tsk4DlWMO2lQd+UfMc+nJcLwReDtI SK2iK7Q7WSR2SsmcSUjoam8AnSfAw1bqzh/JI6e1Q1CaoGcpLvUObJMQq4fmT0ujj7ogBqx9uMx WjZ0bA1OJnVNonBqxNrzzJRRGGKB54/4cSYh3O2g7Y/kdQhnxZs046/VHJXW6bqoSgEP/fPNCEP d/cXvyIjAfAkkhii7BXwGYuDlrbHXcp92apNeruCu8pga9Qigs+9UjL8Y0dHOKD4Bq/1/wtfd4F 6GlAB2Ncx4fimjW6AH2AlGAgAfKx6YOiaQkaIGhSsIu5ItYekV+chdy5ZQzaan40p3W/LURhLhm 3An4A== X-Received: by 2002:a05:6512:6c8:b0:5aa:6b98:7a78 with SMTP id 2adb3069b0e04-5aa87b53eadmr3301875e87.13.1780857455386; Sun, 07 Jun 2026 11:37:35 -0700 (PDT) Received: from MSI-LINUX.kielce.vectranet.pl ([2a02:2a40:27ec:2900:efe3:f920:63b7:5b7]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5aa7b8fc426sm3240809e87.26.2026.06.07.11.37.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jun 2026 11:37:33 -0700 (PDT) From: Jakub Szczudlo To: linux-iio@vger.kernel.org Cc: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, marcelo.schmitt@analog.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, mike.looijmans@topic.nl, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, jorge.marques@analog.com, antoniu.miclaus@analog.com, mazziesaccount@gmail.com, jishnu.prakash@oss.qualcomm.com, duje@dujemihanovic.xyz, wens@kernel.org, sakari.ailus@linux.intel.com, linusw@kernel.org, jszczudlo Subject: [PATCH 3/3] iio: adc: Add ti-ads1110 support to ti-ads1100 driver Date: Sun, 7 Jun 2026 20:35:42 +0200 Message-ID: <20260607183542.368184-4-jakubszczudlo40@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260607183542.368184-1-jakubszczudlo40@gmail.com> References: <20260607183542.368184-1-jakubszczudlo40@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: jszczudlo add ADS1100 support make changing gain and datarate wait for new reading fix unbalanced regulator disable when removing in singleshot mode Signed-off-by: jszczudlo --- drivers/iio/adc/ti-ads1100.c | 165 ++++++++++++++++++++++++++--------- 1 file changed, 126 insertions(+), 39 deletions(-) diff --git a/drivers/iio/adc/ti-ads1100.c b/drivers/iio/adc/ti-ads1100.c index aa8946063c7d..11d6fe1e8abc 100644 --- a/drivers/iio/adc/ti-ads1100.c +++ b/drivers/iio/adc/ti-ads1100.c @@ -5,18 +5,15 @@ * Copyright (c) 2023, Topic Embedded Products * * Datasheet: https://www.ti.com/lit/gpn/ads1100 - * IIO driver for ADS1100 and ADS1000 ADC 16-bit I2C + * IIO driver for ADS1100, ADS1000 and ADS1110 ADC 16-bit I2C */ =20 #include #include -#include -#include -#include -#include #include +#include +#include #include -#include #include #include #include @@ -39,17 +36,39 @@ #define ADS1100_SINGLESHOT ADS1100_CFG_SC =20 #define ADS1100_SLEEP_DELAY_MS 2000 +#define ADS1110_REFERENCE_VOLTAGE_MICROVOLT 2048000 + +/* Timeout based on the minimum sample rate of 8 SPS (7500000us) */ +#define ADS11x0_MAX_DRDY_TIMEOUT 7500000 =20 static const int ads1100_data_rate[] =3D { 128, 32, 16, 8 }; +static const int ads1110_data_rate[] =3D { 240, 60, 30, 15 }; static const int ads1100_data_rate_bits[] =3D { 12, 14, 15, 16 }; =20 +struct ads11x0_config { + const int *data_rate; + bool has_reference_voltage; +}; + +static const struct ads11x0_config ads1100_config =3D { + .data_rate =3D ads1100_data_rate, + .has_reference_voltage =3D false, +}; + +static const struct ads11x0_config ads1110_config =3D { + .data_rate =3D ads1110_data_rate, + .has_reference_voltage =3D true, +}; + struct ads1100_data { struct i2c_client *client; struct regulator *reg_vdd; struct mutex lock; int scale_avail[2 * 4]; /* 4 gain settings */ u8 config; - bool supports_data_rate; /* Only the ADS1100 can select the rate */ + bool supports_data_rate; /* Only the ADS1100/ADS1110 can select the rate = */ + bool has_reference_voltage; /* The ADS1110 has an internal reference, so = fixed scale */ + const int *data_rate; }; =20 static const struct iio_chan_spec ads1100_channel =3D { @@ -59,12 +78,6 @@ static const struct iio_chan_spec ads1100_channel =3D { BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ), .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ), - .scan_type =3D { - .sign =3D 's', - .realbits =3D 16, - .storagebits =3D 16, - .endianness =3D IIO_CPU, - }, .datasheet_name =3D "AIN", }; =20 @@ -85,6 +98,50 @@ static int ads1100_set_config_bits(struct ads1100_data *= data, u8 mask, u8 value) return 0; }; =20 +static int ads11x0_get_voltage_microvolts(struct ads1100_data *data) +{ + if (data->has_reference_voltage) + return ADS1110_REFERENCE_VOLTAGE_MICROVOLT; + else + return regulator_get_voltage(data->reg_vdd); +} + +static int ads11x0_get_voltage_milivolts(struct ads1100_data *data) +{ + return ads11x0_get_voltage_microvolts(data) / (MICRO / MILLI); +} + +static bool ads11x0_new_data_ready(struct ads1100_data *data) +{ + int ret; + u8 buffer[3]; + + ret =3D i2c_master_recv(data->client, (char *)&buffer, sizeof(buffer)); + if (ret < sizeof(buffer)) { + dev_err(&data->client->dev, "I2C read fail: %d\n", ret); + return 0; + } + + int return_val =3D FIELD_GET(ADS1100_CFG_ST_BSY, buffer[2]); + + return return_val; +} + +static int ads11x0_poll_data_ready(struct ads1100_data *data) +{ + bool data_ready; + u8 buffer[3]; + int datarate =3D data->data_rate[FIELD_GET(ADS1100_DR_MASK, data->config)= ]; + unsigned long wait_time =3D DIV_ROUND_CLOSEST(MICRO, 5 * datarate); + + /* To be sure that polled value will have value after config change */ + i2c_master_recv(data->client, (char *)&buffer, sizeof(buffer)); + + return read_poll_timeout(ads11x0_new_data_ready, data_ready, + !data_ready, wait_time, + ADS11x0_MAX_DRDY_TIMEOUT, false, data); +} + static int ads1100_data_bits(struct ads1100_data *data) { return ads1100_data_rate_bits[FIELD_GET(ADS1100_DR_MASK, data->config)]; @@ -105,9 +162,10 @@ static int ads1100_get_adc_result(struct ads1100_data = *data, int chan, int *val) =20 ret =3D i2c_master_recv(data->client, (char *)&buffer, sizeof(buffer)); =20 + pm_runtime_mark_last_busy(&data->client->dev); pm_runtime_put_autosuspend(&data->client->dev); =20 - if (ret < 0) { + if (ret < sizeof(buffer)) { dev_err(&data->client->dev, "I2C read fail: %d\n", ret); return ret; } @@ -127,7 +185,7 @@ static int ads1100_set_scale(struct ads1100_data *data,= int val, int val2) { int microvolts; int gain; - + int ret; /* With Vdd between 2.7 and 5V, the scale is always below 1 */ if (val) return -EINVAL; @@ -135,7 +193,7 @@ static int ads1100_set_scale(struct ads1100_data *data,= int val, int val2) if (!val2) return -EINVAL; =20 - microvolts =3D regulator_get_voltage(data->reg_vdd); + microvolts =3D ads11x0_get_voltage_microvolts(data); /* * val2 is in 'micro' units, n =3D val2 / 1000000 * result must be millivolts, d =3D microvolts / 1000 @@ -147,34 +205,49 @@ static int ads1100_set_scale(struct ads1100_data *dat= a, int val, int val2) if (gain < BIT(0) || gain > BIT(3)) return -EINVAL; =20 + ret =3D pm_runtime_resume_and_get(&data->client->dev); + if (ret < 0) + return ret; + ads1100_set_config_bits(data, ADS1100_PGA_MASK, ffs(gain) - 1); =20 - return 0; + ret =3D ads11x0_poll_data_ready(data); + + pm_runtime_mark_last_busy(&data->client->dev); + pm_runtime_put_autosuspend(&data->client->dev); + + return ret; } =20 static int ads1100_set_data_rate(struct ads1100_data *data, int chan, int = rate) { unsigned int i; unsigned int size; + int ret; =20 size =3D data->supports_data_rate ? ARRAY_SIZE(ads1100_data_rate) : 1; for (i =3D 0; i < size; i++) { - if (ads1100_data_rate[i] =3D=3D rate) - return ads1100_set_config_bits(data, ADS1100_DR_MASK, - FIELD_PREP(ADS1100_DR_MASK, i)); + if (data->data_rate[i] =3D=3D rate) { + ret =3D pm_runtime_resume_and_get(&data->client->dev); + if (ret < 0) + return ret; + + ads1100_set_config_bits(data, ADS1100_DR_MASK, + FIELD_PREP(ADS1100_DR_MASK, i)); + ret =3D ads11x0_poll_data_ready(data); + + pm_runtime_mark_last_busy(&data->client->dev); + pm_runtime_put_autosuspend(&data->client->dev); + return ret; + } } =20 return -EINVAL; } =20 -static int ads1100_get_vdd_millivolts(struct ads1100_data *data) -{ - return regulator_get_voltage(data->reg_vdd) / (MICRO / MILLI); -} - static void ads1100_calc_scale_avail(struct ads1100_data *data) { - int millivolts =3D ads1100_get_vdd_millivolts(data); + int millivolts =3D ads11x0_get_voltage_milivolts(data); unsigned int i; =20 for (i =3D 0; i < ARRAY_SIZE(data->scale_avail) / 2; i++) { @@ -196,7 +269,7 @@ static int ads1100_read_avail(struct iio_dev *indio_dev, switch (mask) { case IIO_CHAN_INFO_SAMP_FREQ: *type =3D IIO_VAL_INT; - *vals =3D ads1100_data_rate; + *vals =3D data->data_rate; if (data->supports_data_rate) *length =3D ARRAY_SIZE(ads1100_data_rate); else @@ -233,12 +306,11 @@ static int ads1100_read_raw(struct iio_dev *indio_dev, return IIO_VAL_INT; case IIO_CHAN_INFO_SCALE: /* full-scale is the supply voltage in millivolts */ - *val =3D ads1100_get_vdd_millivolts(data); + *val =3D ads11x0_get_voltage_milivolts(data); *val2 =3D 15 + FIELD_GET(ADS1100_PGA_MASK, data->config); return IIO_VAL_FRACTIONAL_LOG2; case IIO_CHAN_INFO_SAMP_FREQ: - *val =3D ads1100_data_rate[FIELD_GET(ADS1100_DR_MASK, - data->config)]; + *val =3D data->data_rate[FIELD_GET(ADS1100_DR_MASK, data->config)]; return IIO_VAL_INT; default: return -EINVAL; @@ -280,8 +352,8 @@ static int ads1100_setup(struct ads1100_data *data) return ret; =20 ret =3D i2c_master_recv(data->client, buffer, sizeof(buffer)); - if (ret < 0) - return ret; + if (ret < sizeof(buffer)) + return -1; =20 /* Config register returned in third byte, strip away the busy status */ data->config =3D buffer[2] & ~ADS1100_CFG_ST_BSY; @@ -292,9 +364,13 @@ static int ads1100_setup(struct ads1100_data *data) return 0; } =20 -static void ads1100_reg_disable(void *reg) +static void ads1100_reg_disable(void *data) { - regulator_disable(reg); + struct ads1100_data *ads1100_data =3D data; + + /* Disable when not already disabled by the driver */ + if (!(ads1100_data->config & ADS1100_CFG_SC)) + regulator_disable(ads1100_data->reg_vdd); } =20 static void ads1100_disable_continuous(void *data) @@ -307,6 +383,7 @@ static int ads1100_probe(struct i2c_client *client) struct iio_dev *indio_dev; struct ads1100_data *data; struct device *dev =3D &client->dev; + const struct ads11x0_config *model; int ret; =20 indio_dev =3D devm_iio_device_alloc(dev, sizeof(*data)); @@ -334,10 +411,18 @@ static int ads1100_probe(struct i2c_client *client) return dev_err_probe(dev, ret, "Failed to enable vdd regulator\n"); =20 - ret =3D devm_add_action_or_reset(dev, ads1100_reg_disable, data->reg_vdd); + ret =3D devm_add_action_or_reset(dev, ads1100_reg_disable, data); if (ret) return ret; =20 + model =3D device_get_match_data(dev); + if (!model) + return dev_err_probe(dev, ret, + "Can't set device data\n"); + + data->data_rate =3D model->data_rate; + data->has_reference_voltage =3D model->has_reference_voltage; + ret =3D ads1100_setup(data); if (ret) return dev_err_probe(dev, ret, @@ -400,16 +485,18 @@ static DEFINE_RUNTIME_DEV_PM_OPS(ads1100_pm_ops, NULL); =20 static const struct i2c_device_id ads1100_id[] =3D { - { "ads1100" }, - { "ads1000" }, + { .name =3D "ads1100", .driver_data =3D (kernel_ulong_t)&ads1100_config }, + { .name =3D "ads1000", .driver_data =3D (kernel_ulong_t)&ads1100_config }, + { .name =3D "ads1110", .driver_data =3D (kernel_ulong_t)&ads1110_config }, { } }; =20 MODULE_DEVICE_TABLE(i2c, ads1100_id); =20 static const struct of_device_id ads1100_of_match[] =3D { - {.compatible =3D "ti,ads1100" }, - {.compatible =3D "ti,ads1000" }, + { .compatible =3D "ti,ads1100", .data =3D &ads1100_config }, + { .compatible =3D "ti,ads1000", .data =3D &ads1100_config }, + { .compatible =3D "ti,ads1110", .data =3D &ads1110_config }, { } }; =20 --=20 2.47.3