Re: [PATCH v3 1/5] dt-bindings: iio: adc: Add ltc2378
From: Conor Dooley
Date: Fri Jun 19 2026 - 10:11:43 EST
On Fri, Jun 19, 2026 at 10:07:10AM -0300, Marcelo Schmitt wrote:
> On 06/17, Conor Dooley wrote:
> > On Wed, Jun 17, 2026 at 02:14:32PM -0300, Marcelo Schmitt wrote:
> > > On 06/17, Conor Dooley wrote:
> > > > On Tue, Jun 16, 2026 at 11:03:11PM -0300, Marcelo Schmitt wrote:
> > > > > Document how to describe LTC2378-20 and similar ADCs in device tree.
> > > > >
> > > > > Signed-off-by: Marcelo Schmitt <marcelo.schmitt@xxxxxxxxxx>
> > > > > ---
> > > > > Change log v2 -> v3:
> > > > > - Re-added device tree fallback compatibles for LTC2378 chips, now with options
> > > > > to provide a single compatible string or a pair of single compatible string
> > > > > plus a fallback string to a slower sample rate spec in case a driver for the
> > > > > specific part is not found.
> > > > >
> > > > > .../bindings/iio/adc/adi,ltc2378.yaml | 160 ++++++++++++++++++
> > > > > MAINTAINERS | 7 +
> > > > > 2 files changed, 167 insertions(+)
> > > > > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ltc2378.yaml
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ltc2378.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ltc2378.yaml
> > > > > new file mode 100644
> > > > > index 000000000000..7d30a2cade8f
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ltc2378.yaml
> > > > > @@ -0,0 +1,160 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > +%YAML 1.2
> > > > > +---
> > > > > +$id: http://devicetree.org/schemas/iio/adc/adi,ltc2378.yaml#
> > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > +
> > > > > +title: Analog Devices LTC2378 and similar Analog to Digital Converters
> > > > > +
> > > > > +maintainers:
> > > > > + - Marcelo Schmitt <marcelo.schmitt@xxxxxxxxxx>
> > > > > +
> > > > > +description: |
> > > > > + Analog Devices LTC2378 series of ADCs.
> > > > > + Specifications can be found at:
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/233818fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236416fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236418f.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236716fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236718f.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236816f.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236818f.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/236918fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237016fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237616fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237618fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237620fb.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237716fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237718fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237720fb.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237816fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237818fa.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237820fb.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/237918fb.pdf
> > > > > + https://www.analog.com/media/en/technical-documentation/data-sheets/238016fb.pdf
> > > > > +
> > > > > +$ref: /schemas/spi/spi-peripheral-props.yaml#
> > > > > +
> > > > > +properties:
> > > > > + compatible:
> > > > > + oneOf:
> > > > > + # Single compatible string match.
> > > > > + - enum:
> > > > > + - adi,ltc2338-18
> > > > > + - adi,ltc2364-16
> > > > > + - adi,ltc2364-18
> > > > > + - adi,ltc2367-16
> > > > > + - adi,ltc2367-18
> > > > > + - adi,ltc2368-16
> > > > > + - adi,ltc2368-18
> > > > > + - adi,ltc2369-18
> > > > > + - adi,ltc2370-16
> > > > > + - adi,ltc2376-16
> > > > > + - adi,ltc2376-18
> > > > > + - adi,ltc2376-20
> > > > > + - adi,ltc2377-16
> > > > > + - adi,ltc2377-18
> > > > > + - adi,ltc2377-20
> > > > > + - adi,ltc2378-16
> > > > > + - adi,ltc2378-18
> > > > > + - adi,ltc2378-20
> > > > > + - adi,ltc2379-18
> > > > > + - adi,ltc2380-16
> > > > > +
> > > > > + # Low sample rate fallback for 16-bit unipolar sensors.
> > > > > + - items:
> > > > > + - enum:
> > > > > + - adi,ltc2370-16 # 2 MSPS
> > > > > + - adi,ltc2368-16 # 1 MSPS
> > > > > + - adi,ltc2367-16 # 500 kSPS
> > > > > + - const: adi,ltc2364-16 # fallback (250 kSPS)
> > > >
> ...
> > > > What actually is the impact of the sample rate on the programming model?
> > > If the user tries to set a sample rate beyond the maximum supported, software
> > > can throw an error to indicate that.
> >
> > I think you have misunderstood this. I was asking how the driver
> > interacts with the hardware. Do all devices come out of reset with the
> > minimum sampling rate? Or a per-device default rate? Do the faster
> > devices support all slower rates? If they do, do the registers have the
> > same meaning and the same value sets 2370-16 device to 1 MSPS as
> > 2368-16.
>
> Ah, the sampling rate is indirectly dictated both by how fast the CNV pin is
> toggled and how fast SPI transfers run. Each rising edge of CNV starts a new
> ADC conversion. Software may take spi-max-frequency as default but it will also
> need to set a pace for CNV, and there is no default for that. The CNV pin may
> also toggled on demand (e.g. single-shot read) and so I'd say all devices
> support all slower sample rates. What software ought to do is orchestrate CNV
> and SPI transfers to meet the timing requirements. No configuration registers
> to be set.
I forget if I asked for other changes, but the compatible setup then is
Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature