From: Nicolae-Daniel Deaconescu <Nicolae-daniel.Deaconescu@analog.com>
To: "Nicolae-Daniel Deaconescu"
<Nicolae-daniel.Deaconescu@analog.com>,
"Sergiu Cuciurean" <sergiu.cuciurean@analog.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Uwe Kleine-König" <ukleinek@kernel.org>
Cc: <linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-pwm@vger.kernel.org>
Subject: [PATCH 1/2] dt-bindings: iio: adc: add lltc,ltc2387
Date: Tue, 27 Oct 2026 15:44:08 +0200 [thread overview]
Message-ID: <20261027134409.76824-2-Nicolae-daniel.Deaconescu@analog.com> (raw)
In-Reply-To: <20261027134409.76824-1-Nicolae-daniel.Deaconescu@analog.com>
From: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
Add bindings for the LTC2387-16 and LTC2387-18, 15 Msps SAR ADCs with
an LVDS data interface, and for the ADAQ23875, ADAQ23876 and ADAQ23878
uModule ADCs, which pair an LTC2387 die with a fully differential
amplifier front end.
Conversion start (CNV) and the gated LVDS clock are driven by two PWM
channels. Sample data is captured by an AXI ADC IP core, referenced
through io-backends. adi,use-two-lanes selects two-lane output, and
adi,gain-milli gives the front-end gain: fixed at 2 on the ADAQ23875,
set by pin strapping on the ADAQ23876 and ADAQ23878.
Signed-off-by: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
Co-developed-by: Nicolae-Daniel Deaconescu <Nicolae-daniel.Deaconescu@analog.com>
Signed-off-by: Nicolae-Daniel Deaconescu <Nicolae-daniel.Deaconescu@analog.com>
Assisted-by: Claude:claude-opus-5-5
---
.../bindings/iio/adc/lltc,ltc2387.yaml | 138 ++++++++++++++++++
MAINTAINERS | 8 +
2 files changed, 146 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/lltc,ltc2387.yaml
diff --git a/Documentation/devicetree/bindings/iio/adc/lltc,ltc2387.yaml b/Documentation/devicetree/bindings/iio/adc/lltc,ltc2387.yaml
new file mode 100644
index 000000000000..f912260c8f79
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/lltc,ltc2387.yaml
@@ -0,0 +1,138 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2022 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/lltc,ltc2387.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Linear Technology / Analog Devices LTC2387 ADC
+
+maintainers:
+ - Sergiu Cuciurean <sergiu.cuciurean@analog.com>
+ - Nicolae-Daniel Deaconescu <Nicolae-daniel.Deaconescu@analog.com>
+
+description: |
+ The LTC2387-18 is a low noise, high speed, 18-bit 15Msps
+ successive approximation register (SAR) ADC ideally
+ suited for a wide range of applications.
+
+ https://www.analog.com/media/en/technical-documentation/data-sheets/238718fa.pdf
+ https://www.analog.com/media/en/technical-documentation/data-sheets/238716f.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,adaq23875
+ - adi,adaq23876
+ - adi,adaq23878
+ - lltc,ltc2387-16
+ - lltc,ltc2387-16-x4
+ - lltc,ltc2387-18
+ - lltc,ltc2387-18-x4
+
+ clocks:
+ description: Sampling clock
+ maxItems: 1
+
+ pwms:
+ maxItems: 2
+ description:
+ PWM signals used to synchronize the sampling procedure
+
+ pwm-names:
+ items:
+ - const: cnv
+ - const: clk_gate
+
+ io-backends:
+ description:
+ The AXI ADC IP block (axi_ltc2387) that captures the LVDS data stream.
+ maxItems: 1
+
+ vref-supply:
+ description:
+ External voltage reference. When absent the device's internal 4.096 V
+ reference is assumed.
+
+ adi,use-two-lanes:
+ description: The device uses two lanes for data transfer
+ type: boolean
+
+ adi,gain-milli:
+ description:
+ Gain of the fully-differential amplifier that the ADAQ2387x modules
+ integrate ahead of the LTC2387 die, expressed as gain * 1000. It is
+ fixed on the ADAQ23875 and set by pin strapping on the ADAQ23876 and
+ ADAQ23878, so it must match the board. The bare ltc2387-* parts have
+ no amplifier.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [370, 730, 870, 1380, 2000, 2250]
+
+required:
+ - compatible
+ - clocks
+ - io-backends
+ - pwms
+ - pwm-names
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - lltc,ltc2387-16
+ - lltc,ltc2387-16-x4
+ - lltc,ltc2387-18
+ - lltc,ltc2387-18-x4
+ then:
+ properties:
+ adi,gain-milli: false
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: adi,adaq23875
+ then:
+ properties:
+ adi,gain-milli:
+ const: 2000
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - adi,adaq23876
+ - adi,adaq23878
+ then:
+ properties:
+ adi,gain-milli:
+ enum: [370, 730, 870, 1380, 2250]
+ required:
+ - adi,gain-milli
+
+additionalProperties: false
+
+examples:
+ - |
+ adc {
+ compatible = "lltc,ltc2387-16";
+ clocks = <&clk 0>;
+ io-backends = <&axi_adc>;
+ pwms = <&pwm 0 0>, <&pwm 1 0>;
+ pwm-names = "cnv", "clk_gate";
+ vref-supply = <&vref>;
+ };
+ - |
+ adc {
+ compatible = "adi,adaq23878";
+ clocks = <&clk 0>;
+ io-backends = <&axi_adc>;
+ pwms = <&pwm 0 0>, <&pwm 1 0>;
+ pwm-names = "cnv", "clk_gate";
+ vref-supply = <&vref>;
+ adi,use-two-lanes;
+ adi,gain-milli = <870>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 52024397dc78..b871d7f25d76 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15529,6 +15529,14 @@ W: https://ez.analog.com/linux-software-drivers
F: Documentation/devicetree/bindings/iio/adc/adi,ltc2378.yaml
F: drivers/iio/adc/ltc2378.c
+LTC2387 IIO ADC DRIVER
+M: Nicolae-Daniel Deaconescu <Nicolae-daniel.Deaconescu@analog.com>
+M: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
+L: linux-iio@vger.kernel.org
+S: Supported
+W: https://ez.analog.com/linux-software-drivers
+F: Documentation/devicetree/bindings/iio/adc/lltc,ltc2387.yaml
+
LTC2664 IIO DAC DRIVER
M: Michael Hennerich <michael.hennerich@analog.com>
M: Kim Seer Paller <kimseer.paller@analog.com>
--
2.34.1
next prev parent reply other threads:[~2026-10-27 13:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 13:44 [PATCH 0/2] iio: adc: add LTC2387 and ADAQ2387x support Nicolae-Daniel Deaconescu
2026-10-27 13:44 ` Nicolae-Daniel Deaconescu [this message]
2026-10-27 18:28 ` [PATCH 1/2] dt-bindings: iio: adc: add lltc,ltc2387 Conor Dooley
2026-10-27 13:44 ` [PATCH 2/2] iio: adc: add ltc2387 driver Nicolae-Daniel Deaconescu
2026-10-27 14:37 ` Joshua Crofts
2026-10-28 2:39 ` Jonathan Cameron
2026-10-27 15:56 ` [PATCH 0/2] iio: adc: add LTC2387 and ADAQ2387x support Andy Shevchenko
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=20261027134409.76824-2-Nicolae-daniel.Deaconescu@analog.com \
--to=nicolae-daniel.deaconescu@analog.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=linux-pwm@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
--cc=sergiu.cuciurean@analog.com \
--cc=ukleinek@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
all inboxes | Powered by JetHome®