{"id":2219548,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2219548/?format=json","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.0/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260403-ad4692-multichannel-sar-adc-driver-v6-1-fa2a01a57c4e@analog.com>","date":"2026-04-03T11:03:02","name":"[v6,1/4] dt-bindings: iio: adc: add AD4691 family","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"1559957ca02f70d44f7b35b47c7276a64ac22363","submitter":{"id":92791,"url":"http://patchwork.ozlabs.org/api/1.0/people/92791/?format=json","name":"Radu Sabau via B4 Relay","email":"devnull+radu.sabau.analog.com@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260403-ad4692-multichannel-sar-adc-driver-v6-1-fa2a01a57c4e@analog.com/mbox/","series":[{"id":498617,"url":"http://patchwork.ozlabs.org/api/1.0/series/498617/?format=json","date":"2026-04-03T11:03:02","name":"iio: adc: ad4691: add driver for AD4691 multichannel SAR ADC family","version":6,"mbox":"http://patchwork.ozlabs.org/series/498617/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219548/checks/","tags":{},"headers":{"Return-Path":"\n <linux-gpio+bounces-34632-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=JAKaSFyl;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34632-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"JAKaSFyl\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fnG6V4K1sz1yDH\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 22:03:14 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id F168D301DD0C\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  3 Apr 2026 11:03:10 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 4F80E3AEF30;\n\tFri,  3 Apr 2026 11:03:08 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id F29F0332909;\n\tFri,  3 Apr 2026 11:03:07 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPS id 95762C19424;\n\tFri,  3 Apr 2026 11:03:07 +0000 (UTC)","from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id 85D33E7E36D;\n\tFri,  3 Apr 2026 11:03:07 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775214188; cv=none;\n b=N2p2MTHl4alcPgoEwdz3H6YK+qCGmAcLULEOE2eyTHuKAOhefA3UrZSbWk+NxWp9nKafvypfAZGdQlW0H6Y+UVkosaMkeAOfJNhbjvfPLMq5AEocPSmQhibypWUYNQENumHdhye3aCUZ8xQzj0UBzjWzgBA7STuPG/k74qLnfpQ=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775214188; c=relaxed/simple;\n\tbh=QBAlX/8xfvy1JTozf9D2BanvnPZ5h9O/HJLH0PkEZa8=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=UPABVUlCZMUVMKJYEuWiGMJCHIjGChQeR1sisOvZX56a7XZmF4nWN7veCzc8IzYHnRF3SrESym7peNYuyQwJXAD2JurQE+/mlnwXMVBhyBJBnZiY6mXwbo+c5ro/mIhOERRpxz1j+vzuJKNpiy/gpl/FunSy9e4vltT9G8DYdpM=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=JAKaSFyl; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775214187;\n\tbh=QBAlX/8xfvy1JTozf9D2BanvnPZ5h9O/HJLH0PkEZa8=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=JAKaSFyli+lmUVuevCvmvDLIywNzOPoYFLqmjhVkowoRUohjdCz3kT+NB/Pfg4B+V\n\t 2wz3GeesMrenUyWT+43obuRsnwLTKElC+N3StBEKjJ6hoYdw9C6PQYEHoe7/VMB/8m\n\t vwcYWsacZ7e16CY14jp9017Zb0CVfh308u+wslxCtIUmK3f4ybM/kDzjpbVAX0FIJ7\n\t oiNc/Yd/snfn+UTFTdzl7zIukrgDXBZuygpUB/2Qn1UNDoIuMbDNO6cySNrenOSdIw\n\t J3L2bWKMRoSURc9Xx9YRSZdp9KI2BM0J7s9OCDEIMggzf+voAS+9UCU51E9RLSpY9S\n\t 8ybUYUty2IJeQ==","From":"Radu Sabau via B4 Relay <devnull+radu.sabau.analog.com@kernel.org>","Date":"Fri, 03 Apr 2026 14:03:02 +0300","Subject":"[PATCH v6 1/4] dt-bindings: iio: adc: add AD4691 family","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","Message-Id":"\n <20260403-ad4692-multichannel-sar-adc-driver-v6-1-fa2a01a57c4e@analog.com>","References":"\n <20260403-ad4692-multichannel-sar-adc-driver-v6-0-fa2a01a57c4e@analog.com>","In-Reply-To":"\n <20260403-ad4692-multichannel-sar-adc-driver-v6-0-fa2a01a57c4e@analog.com>","To":"Lars-Peter Clausen <lars@metafoo.de>,\n  Michael Hennerich <Michael.Hennerich@analog.com>,\n  Jonathan Cameron <jic23@kernel.org>, David Lechner <dlechner@baylibre.com>,\n\t=?utf-8?q?Nuno_S=C3=A1?= <nuno.sa@analog.com>,\n  Andy Shevchenko <andy@kernel.org>, Rob Herring <robh@kernel.org>,\n  Krzysztof Kozlowski <krzk+dt@kernel.org>,\n  Conor Dooley <conor+dt@kernel.org>,\n =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= <ukleinek@kernel.org>,\n  Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>,\n  Linus Walleij <linusw@kernel.org>, Bartosz Golaszewski <brgl@kernel.org>,\n  Philipp Zabel <p.zabel@pengutronix.de>, Jonathan Corbet <corbet@lwn.net>,\n  Shuah Khan <skhan@linuxfoundation.org>","Cc":"linux-iio@vger.kernel.org, devicetree@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-pwm@vger.kernel.org,\n linux-gpio@vger.kernel.org, linux-doc@vger.kernel.org,\n Radu Sabau <radu.sabau@analog.com>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1775214183; l=6575;\n i=radu.sabau@analog.com; s=20260220; h=from:subject:message-id;\n bh=8WQtXGwAJMX9LKjokE7g+NNdM3YBj5DyijsdwhSVWu8=;\n b=qXP21IGz6MCvXBgBnvl8KTAVHMRpqPPClFtHZU5gpe7WSfHfhS19PHYMvf8v6qeGn5f95Lhp1\n BiSvvlHDn+WBwmXrkmRJVNNYzsH3JE1qjX3J7H7AJbakkmK693nIgF9","X-Developer-Key":"i=radu.sabau@analog.com; a=ed25519;\n pk=lDPQHgn9jTdt0vo58Na9lLxLaE2mb330if71Cn+EvFU=","X-Endpoint-Received":"by B4 Relay for radu.sabau@analog.com/20260220 with\n auth_id=642","X-Original-From":"Radu Sabau <radu.sabau@analog.com>","Reply-To":"radu.sabau@analog.com"},"content":"From: Radu Sabau <radu.sabau@analog.com>\n\nAdd DT bindings for the Analog Devices AD4691 family of multichannel\nSAR ADCs (AD4691, AD4692, AD4693, AD4694).\n\nThe binding describes the hardware connections:\n\n- Power domains: avdd-supply (required), vio-supply, ref-supply or\n  refin-supply (external reference; the REFIN path enables the\n  internal reference buffer), and an optional ldo-in-supply, that if\n  absent, means the on-chip internal LDO will be used.\n\n- Optional PWM on the CNV pin selects CNV Burst Mode; when absent,\n  Manual Mode is assumed with CNV tied to SPI CS.\n\n- An optional reset GPIO (reset-gpios) for hardware reset.\n\n- Up to four GP pins (gp0..gp3) usable as interrupt sources,\n  identified in firmware via interrupt-names \"gp0\"..\"gp3\".\n\n- gpio-controller with #gpio-cells = <2> for GP pin GPIO usage.\n\n- #trigger-source-cells = <1>: one cell selecting the GP pin number\n  (0-3) used as the SPI offload trigger source.\n\nTwo binding examples are provided: CNV Burst Mode with SPI offload\n(DMA data acquisition driven by DATA_READY on a GP pin), and Manual\nMode for CPU-driven triggered-buffer or single-shot capture.\n\nSigned-off-by: Radu Sabau <radu.sabau@analog.com>\n---\n .../devicetree/bindings/iio/adc/adi,ad4691.yaml    | 162 +++++++++++++++++++++\n MAINTAINERS                                        |   7 +\n 2 files changed, 169 insertions(+)","diff":"diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4691.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4691.yaml\nnew file mode 100644\nindex 000000000000..81d2ca4e0e22\n--- /dev/null\n+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4691.yaml\n@@ -0,0 +1,162 @@\n+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)\n+%YAML 1.2\n+---\n+$id: http://devicetree.org/schemas/iio/adc/adi,ad4691.yaml#\n+$schema: http://devicetree.org/meta-schemas/core.yaml#\n+\n+title: Analog Devices AD4691 Family Multichannel SAR ADCs\n+\n+maintainers:\n+  - Radu Sabau <radu.sabau@analog.com>\n+\n+description: |\n+  The AD4691 family are high-speed, low-power, multichannel successive\n+  approximation register (SAR) analog-to-digital converters (ADCs) with\n+  an SPI-compatible serial interface. The ADC supports CNV Burst Mode,\n+  where an external PWM drives the CNV pin, and Manual Mode, where CNV\n+  is directly tied to the SPI chip-select.\n+\n+  Datasheets:\n+    * https://www.analog.com/en/products/ad4691.html\n+    * https://www.analog.com/en/products/ad4692.html\n+    * https://www.analog.com/en/products/ad4693.html\n+    * https://www.analog.com/en/products/ad4694.html\n+\n+$ref: /schemas/spi/spi-peripheral-props.yaml#\n+\n+properties:\n+  compatible:\n+    enum:\n+      - adi,ad4691\n+      - adi,ad4692\n+      - adi,ad4693\n+      - adi,ad4694\n+\n+  reg:\n+    maxItems: 1\n+\n+  spi-max-frequency:\n+    maximum: 40000000\n+\n+  spi-cpol: true\n+  spi-cpha: true\n+\n+  avdd-supply:\n+    description: Analog power supply (4.5V to 5.5V).\n+\n+  ldo-in-supply:\n+    description: LDO input supply. When absent, the internal LDO is used.\n+\n+  vio-supply:\n+    description: I/O voltage supply (1.71V to 1.89V or VDD).\n+\n+  ref-supply:\n+    description: External reference voltage supply (2.4V to 5.25V).\n+\n+  refin-supply:\n+    description: Internal reference buffer input supply.\n+\n+  reset-gpios:\n+    description:\n+      GPIO line controlling the hardware reset pin (active-low).\n+    maxItems: 1\n+\n+  pwms:\n+    description:\n+      PWM connected to the CNV pin. When present, selects CNV Burst Mode where\n+      the PWM drives the conversion rate. When absent, Manual Mode is used\n+      (CNV tied to SPI CS).\n+    maxItems: 1\n+\n+  interrupts:\n+    description:\n+      Interrupt lines connected to the ADC GP pins. Each GP pin can be\n+      physically wired to an interrupt-capable input on the SoC.\n+    maxItems: 4\n+\n+  interrupt-names:\n+    description: Names of the interrupt lines, matching the GP pin names.\n+    minItems: 1\n+    maxItems: 4\n+    items:\n+      enum:\n+        - gp0\n+        - gp1\n+        - gp2\n+        - gp3\n+\n+  gpio-controller: true\n+\n+  '#gpio-cells':\n+    const: 2\n+\n+  '#trigger-source-cells':\n+    description:\n+      This node can act as a trigger source. The single cell in a consumer\n+      reference specifies the GP pin number (0-3) used as the trigger output.\n+    const: 1\n+\n+required:\n+  - compatible\n+  - reg\n+  - avdd-supply\n+  - vio-supply\n+\n+allOf:\n+  # ref-supply and refin-supply are mutually exclusive, one is required\n+  - oneOf:\n+      - required:\n+          - ref-supply\n+      - required:\n+          - refin-supply\n+\n+unevaluatedProperties: false\n+\n+examples:\n+  - |\n+    #include <dt-bindings/gpio/gpio.h>\n+    /* AD4692 in CNV Burst Mode with SPI offload */\n+    spi {\n+        #address-cells = <1>;\n+        #size-cells = <0>;\n+\n+        adc@0 {\n+            compatible = \"adi,ad4692\";\n+            reg = <0>;\n+            spi-cpol;\n+            spi-cpha;\n+            spi-max-frequency = <40000000>;\n+\n+            avdd-supply = <&avdd_supply>;\n+            vio-supply = <&vio_supply>;\n+            ref-supply = <&ref_5v>;\n+\n+            reset-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;\n+\n+            pwms = <&pwm_gen 0 0>;\n+\n+            #trigger-source-cells = <1>;\n+        };\n+    };\n+\n+  - |\n+    #include <dt-bindings/gpio/gpio.h>\n+    /* AD4692 in Manual Mode (CNV tied to SPI CS) */\n+    spi {\n+        #address-cells = <1>;\n+        #size-cells = <0>;\n+\n+        adc@0 {\n+            compatible = \"adi,ad4692\";\n+            reg = <0>;\n+            spi-cpol;\n+            spi-cpha;\n+            spi-max-frequency = <31250000>;\n+\n+            avdd-supply = <&avdd_supply>;\n+            vio-supply = <&vio_supply>;\n+            refin-supply = <&refin_supply>;\n+\n+            reset-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;\n+        };\n+    };\ndiff --git a/MAINTAINERS b/MAINTAINERS\nindex 61bf550fd37c..438ca850fa1c 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -1484,6 +1484,13 @@ W:\thttps://ez.analog.com/linux-software-drivers\n F:\tDocumentation/devicetree/bindings/iio/adc/adi,ad4170-4.yaml\n F:\tdrivers/iio/adc/ad4170-4.c\n \n+ANALOG DEVICES INC AD4691 DRIVER\n+M:\tRadu Sabau <radu.sabau@analog.com>\n+L:\tlinux-iio@vger.kernel.org\n+S:\tSupported\n+W:\thttps://ez.analog.com/linux-software-drivers\n+F:\tDocumentation/devicetree/bindings/iio/adc/adi,ad4691.yaml\n+\n ANALOG DEVICES INC AD4695 DRIVER\n M:\tMichael Hennerich <michael.hennerich@analog.com>\n M:\tNuno Sá <nuno.sa@analog.com>\n","prefixes":["v6","1/4"]}