From: Jonathan Cameron <jic23@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@intel.com>
Cc: "Antoniu Miclaus" <antoniu.miclaus@analog.com>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Michael Hennerich" <Michael.Hennerich@analog.com>,
"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>,
"Olivier Moysan" <olivier.moysan@foss.st.com>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 4/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC
Date: Sat, 14 Mar 2026 12:00:22 +0000 [thread overview]
Message-ID: <20260314120022.56265de3@jic23-huawei> (raw)
In-Reply-To: <abQdvXq9MtIZ0EpZ@ashevche-desk.local>
On Fri, 13 Mar 2026 16:22:53 +0200
Andy Shevchenko <andriy.shevchenko@intel.com> wrote:
> On Fri, Mar 13, 2026 at 01:58:53PM +0200, Antoniu Miclaus 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. The driver uses spi_new_ancillary_device() to
> > create an additional SPI device for the second channel, allowing both
> > channels to share the same SPI bus with different chip selects.
>
> I am still not sure this is the best approach we can have.
> In any case, I have immediate questions here about regmap usage.
I think we have a fairly fundamental misalignment on what this is.
To my understanding (diagram on first page of the datasheet)
+ the functional block diagram on page 3 it's effectively two almost
entirely separate devices in one package (sharing of power etc) and
a few common wires for clocks references etc. Pretty close to some
of the multi die devices we get for IMUs etc but with tighter coupling
that forces one driver (for the IMUs we just register separate drivers).
It 'might' use one SPI bus, or 2 or even 4 (if using separate data
interfaces).
Just to speed things up let me have a go at answering the questions.
>
> - Why do we need to have a separate regmap per channel?
Propose an alternative? It's two independent interfaces, so you
could spin a special regmap to handle that, but it's much simpler
to just use standard stuff and keep them separate. Not to mention it
would either have to do external locking or falsely imply
there was any restriction on using both interfaces at once
(there isn't)
> - What is special about channel 0?
Nothing.
> - Is it okay to communicate with different channels simultaneously?
Yes. They are entirely parallel bits of silicon. Own state machines
and everything.
The configuration registers section of the datasheet says:
"Each channel has it's own independent configuration memory
accessible through it's separate configuration SPI interface."
> Wouldn't be a nasty race with HW IO?
Nope. You are talking to different devices (more or less).
Jonathan
next prev parent reply other threads:[~2026-03-14 12:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-13 11:58 [PATCH v6 0/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-03-13 11:58 ` [PATCH v6 1/4] iio: backend: use __free(fwnode_handle) for automatic cleanup Antoniu Miclaus
2026-03-13 14:16 ` Andy Shevchenko
2026-03-14 10:53 ` Nuno Sá
2026-03-13 11:58 ` [PATCH v6 2/4] iio: backend: add devm_iio_backend_get_by_index() Antoniu Miclaus
2026-03-13 14:16 ` Andy Shevchenko
2026-03-13 11:58 ` [PATCH v6 3/4] dt-bindings: iio: adc: ad4080: add AD4880 support Antoniu Miclaus
2026-03-13 11:58 ` [PATCH v6 4/4] iio: adc: ad4080: add support for AD4880 dual-channel ADC Antoniu Miclaus
2026-03-13 14:22 ` Andy Shevchenko
2026-03-14 12:00 ` Jonathan Cameron [this message]
2026-03-16 9:56 ` Andy Shevchenko
2026-03-16 12:31 ` Miclaus, Antoniu
2026-03-16 14:41 ` Andy Shevchenko
2026-03-16 15:09 ` Miclaus, Antoniu
2026-03-16 15:21 ` Andy Shevchenko
2026-03-17 9:54 ` Miclaus, Antoniu
2026-03-17 10:31 ` Andy Shevchenko
2026-03-21 12:01 ` Jonathan Cameron
2026-03-14 11:40 ` [PATCH v6 0/4] " Jonathan Cameron
2026-03-16 9:35 ` Miclaus, Antoniu
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=20260314120022.56265de3@jic23-huawei \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=antoniu.miclaus@analog.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--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