From: "Nuno Sá" <noname.nuno@gmail.com>
To: "Miclaus, Antoniu" <Antoniu.Miclaus@analog.com>,
Jonathan Cameron <jic23@kernel.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
"Hennerich, Michael" <Michael.Hennerich@analog.com>,
David Lechner <dlechner@baylibre.com>,
"Sa, Nuno" <Nuno.Sa@analog.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Olivier Moysan <olivier.moysan@foss.st.com>,
"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v7 3/4] dt-bindings: iio: adc: ad4080: add AD4880 support
Date: Mon, 23 Mar 2026 10:57:45 +0000 [thread overview]
Message-ID: <cd0372969345e306a839b689f55f10bdab15069f.camel@gmail.com> (raw)
In-Reply-To: <CY4PR03MB339944E105FADF6717B5088B9B4AA@CY4PR03MB3399.namprd03.prod.outlook.com>
On Sun, 2026-03-22 at 15:33 +0000, Miclaus, Antoniu wrote:
> > -----Original Message-----
> > From: Jonathan Cameron <jic23@kernel.org>
> > Sent: Saturday, March 21, 2026 2:08 PM
> > To: Miclaus, Antoniu <Antoniu.Miclaus@analog.com>
> > Cc: Lars-Peter Clausen <lars@metafoo.de>; Hennerich, Michael
> > <Michael.Hennerich@analog.com>; David Lechner <dlechner@baylibre.com>;
> > Sa, Nuno <Nuno.Sa@analog.com>; Rob Herring <robh@kernel.org>; Krzysztof
> > Kozlowski <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>;
> > Olivier Moysan <olivier.moysan@foss.st.com>; linux-iio@vger.kernel.org;
> > devicetree@vger.kernel.org; linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH v7 3/4] dt-bindings: iio: adc: ad4080: add AD4880
> > support
> >
> > [External]
> >
> > On Sat, 21 Mar 2026 12:01:53 +0200
> > Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
> >
> > > Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC
> > > with integrated fully differential amplifiers (FDA).
> > >
> > > The AD4880 has two independent ADC channels, each with its own SPI
> > > configuration interface. This requires:
> > > - Two entries in reg property for primary and secondary channel
> > > chip selects
> > > - Two io-backends entries for the two data channels
> > From the v6 discussion. I'd just like to know a little more on this.
> > Are they really separate backends?
> >
> Yes, they are separate backends. The FPGA reference design
> instantiates two independent axi_ad408x IP cores
> The AD4880 is essentially two AD4080 dies in one package.
>
> The two data streams are merged by a util_cpack2 channel
> packer before reaching a single DMA:
>
> axi_ad408x (ch A) --
> --> util_cpack2 --> single DMA
> axi_ad408x (ch B) --/
>
> Each backend needs independent LVDS alignment and lane
> configuration, so a single-backend-with-channel-parameter
> model wouldn't fit here.
>
> https://github.com/analogdevicesinc/hdl/blob/main/projects/ad4880_fmc_evb/common/ad4880_fmc_evb_bd.tcl
I was not really involved in this part but this whole discussion got me curious about why are
we going with the interleaved approach? Typically when each path has it's own serial interface, we
also have a separate DMA channel.
- Nuno Sá
>
> > Given discussion about interleaved data, I was kind of assuming they
> > were different front end interfaces to a single backend IP.
> >
> > The freedom this binding is giving is for those two backends to be
> > completely unrelated. I'm not sure if we want that.
> >
> > Jonathan
> >
> >
> > >
> > > Reviewed-by: David Lechner <dlechner@baylibre.com>
> > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> > > ---
> > > Changes in v7:
> > > - No changes
> > >
> > > .../bindings/iio/adc/adi,ad4080.yaml | 53 ++++++++++++++++++-
> > > 1 file changed, 51 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4080.yaml
> > b/Documentation/devicetree/bindings/iio/adc/adi,ad4080.yaml
> > > index ccd6a0ac1539..0cf86c6f9925 100644
> > > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad4080.yaml
> > > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4080.yaml
> > > @@ -18,7 +18,11 @@ description: |
> > > service a wide variety of precision, wide bandwidth data acquisition
> > > applications.
> > >
> > > + The AD4880 is a dual-channel variant with two independent ADC
> > channels,
> > > + each with its own SPI configuration interface.
> > > +
> > > https://www.analog.com/media/en/technical-documentation/data-
> > sheets/ad4080.pdf
> > > + https://www.analog.com/media/en/technical-documentation/data-
> > sheets/ad4880.pdf
> > >
> > > $ref: /schemas/spi/spi-peripheral-props.yaml#
> > >
> > > @@ -31,9 +35,15 @@ properties:
> > > - adi,ad4084
> > > - adi,ad4086
> > > - adi,ad4087
> > > + - adi,ad4880
> > >
> > > reg:
> > > - maxItems: 1
> > > + minItems: 1
> > > + maxItems: 2
> > > + description:
> > > + SPI chip select(s). For single-channel devices, one chip select.
> > > + For multi-channel devices like AD4880, two chip selects are required
> > > + as each channel has its own SPI configuration interface.
> > >
> > > spi-max-frequency:
> > > description: Configuration of the SPI bus.
> > > @@ -57,7 +67,10 @@ properties:
> > > vrefin-supply: true
> > >
> > > io-backends:
> > > - maxItems: 1
> > > + minItems: 1
> > > + items:
> > > + - description: Backend for channel A (primary)
> > > + - description: Backend for channel B (secondary)
> > >
> > > adi,lvds-cnv-enable:
> > > description: Enable the LVDS signal type on the CNV pin. Default is CMOS.
> > > @@ -78,6 +91,25 @@ required:
> > > - vdd33-supply
> > > - vrefin-supply
> > >
> > > +allOf:
> > > + - if:
> > > + properties:
> > > + compatible:
> > > + contains:
> > > + const: adi,ad4880
> > > + then:
> > > + properties:
> > > + reg:
> > > + minItems: 2
> > > + io-backends:
> > > + minItems: 2
> > > + else:
> > > + properties:
> > > + reg:
> > > + maxItems: 1
> > > + io-backends:
> > > + maxItems: 1
> > > +
> > > additionalProperties: false
> > >
> > > examples:
> > > @@ -98,4 +130,21 @@ examples:
> > > io-backends = <&iio_backend>;
> > > };
> > > };
> > > + - |
> > > + spi {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + adc@0 {
> > > + compatible = "adi,ad4880";
> > > + reg = <0>, <1>;
> > > + spi-max-frequency = <10000000>;
> > > + vdd33-supply = <&vdd33>;
> > > + vddldo-supply = <&vddldo>;
> > > + vrefin-supply = <&vrefin>;
> > > + clocks = <&cnv>;
> > > + clock-names = "cnv";
> > > + io-backends = <&iio_backend_cha>, <&iio_backend_chb>;
> > > + };
> > > + };
> > > ...
next prev parent reply other threads:[~2026-03-23 10:57 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-21 10:01 [PATCH v7 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-03-21 10:01 ` [PATCH v7 1/4] iio: backend: use __free(fwnode_handle) for automatic cleanup Antoniu Miclaus
2026-03-21 12:03 ` Jonathan Cameron
2026-03-21 10:01 ` [PATCH v7 2/4] iio: backend: add devm_iio_backend_get_by_index() Antoniu Miclaus
2026-03-21 10:01 ` [PATCH v7 3/4] dt-bindings: iio: adc: ad4080: add AD4880 support Antoniu Miclaus
2026-03-21 12:08 ` Jonathan Cameron
2026-03-22 15:33 ` Miclaus, Antoniu
2026-03-23 10:57 ` Nuno Sá [this message]
2026-03-23 19:44 ` Conor Dooley
2026-03-21 10:01 ` [PATCH v7 4/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-03-21 12:18 ` Jonathan Cameron
2026-03-22 16:26 ` Miclaus, Antoniu
2026-03-22 17:39 ` Jonathan Cameron
2026-03-22 19:15 ` Miclaus, Antoniu
2026-03-23 7:59 ` kernel test robot
2026-03-21 12:25 ` [PATCH v7 0/4] " Jonathan Cameron
2026-03-23 10:58 ` Jonathan Cameron
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=cd0372969345e306a839b689f55f10bdab15069f.camel@gmail.com \
--to=noname.nuno@gmail.com \
--cc=Antoniu.Miclaus@analog.com \
--cc=Michael.Hennerich@analog.com \
--cc=Nuno.Sa@analog.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=olivier.moysan@foss.st.com \
--cc=robh@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