From: "Nuno Sá" <noname.nuno@gmail.com>
To: "David Lechner" <dlechner@baylibre.com>,
"Mark Brown" <broonie@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Marcelo Schmitt" <marcelo.schmitt@analog.com>,
"Michael Hennerich" <michael.hennerich@analog.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"Andy Shevchenko" <andy@kernel.org>
Cc: Sean Anderson <sean.anderson@linux.dev>,
linux-spi@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org
Subject: Re: [PATCH 6/6] iio: adc: ad7380: Add support for multiple SPI buses
Date: Wed, 15 Oct 2025 11:36:20 +0100 [thread overview]
Message-ID: <ef452c01679bee2c8bdbefe1df4775c432f8b345.camel@gmail.com> (raw)
In-Reply-To: <20251014-spi-add-multi-bus-support-v1-6-2098c12d6f5f@baylibre.com>
On Tue, 2025-10-14 at 17:02 -0500, David Lechner wrote:
> Add support for multiple SPI buses to increase throughput. The AD7380
> family of ADCs have multiple SDO lines on the chip that can be used to
> read each channel on a separate SPI bus. If wired up to a SPI controller
> that supports it, the driver will now take advantage of this feature.
> This allows reaching the maximum sample rate advertised in the datasheet
> when combined with SPI offloading.
>
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
One minor thing. With it,
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
> drivers/iio/adc/ad7380.c | 41 ++++++++++++++++++++++++++++-------------
> 1 file changed, 28 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/iio/adc/ad7380.c b/drivers/iio/adc/ad7380.c
> index
> bfd908deefc0f40b42bd8a44bfce7a2510b2fdf1..36abe95852006a81f7e31f8034699e59292a
> f79e 100644
> --- a/drivers/iio/adc/ad7380.c
> +++ b/drivers/iio/adc/ad7380.c
> @@ -77,8 +77,7 @@
> #define AD7380_CONFIG1_REFSEL BIT(1)
> #define AD7380_CONFIG1_PMODE BIT(0)
>
> -#define AD7380_CONFIG2_SDO2 GENMASK(9, 8)
> -#define AD7380_CONFIG2_SDO BIT(8)
> +#define AD7380_CONFIG2_SDO GENMASK(9, 8)
> #define AD7380_CONFIG2_RESET GENMASK(7, 0)
>
> #define AD7380_CONFIG2_RESET_SOFT 0x3C
> @@ -92,11 +91,6 @@
> #define T_CONVERT_X_NS 500 /* xth conversion start time
> (oversampling) */
> #define T_POWERUP_US 5000 /* Power up */
>
> -/*
> - * AD738x support several SDO lines to increase throughput, but driver
> currently
> - * supports only 1 SDO line (standard SPI transaction)
> - */
> -#define AD7380_NUM_SDO_LINES 1
> #define AD7380_DEFAULT_GAIN_MILLI 1000
>
> /*
> @@ -1084,7 +1078,7 @@ static int ad7380_set_ch(struct ad7380_state *st,
> unsigned int ch)
> if (oversampling_ratio > 1)
> xfer.delay.value = T_CONVERT_0_NS +
> T_CONVERT_X_NS * (oversampling_ratio - 1) *
> - st->chip_info->num_simult_channels /
> AD7380_NUM_SDO_LINES;
> + st->chip_info->num_simult_channels / st->spi-
> >num_data_bus;
>
> return spi_sync_transfer(st->spi, &xfer, 1);
> }
> @@ -1113,7 +1107,7 @@ static int ad7380_update_xfers(struct ad7380_state *st,
> if (oversampling_ratio > 1)
> t_convert = T_CONVERT_0_NS + T_CONVERT_X_NS *
> (oversampling_ratio - 1) *
> - st->chip_info->num_simult_channels /
> AD7380_NUM_SDO_LINES;
> + st->chip_info->num_simult_channels / st->spi-
> >num_data_bus;
>
> if (st->seq) {
> xfer[0].delay.value = xfer[1].delay.value = t_convert;
> @@ -1124,6 +1118,7 @@ static int ad7380_update_xfers(struct ad7380_state *st,
> AD7380_SPI_BYTES(scan_type) *
> st->chip_info->num_simult_channels;
> xfer[3].rx_buf = xfer[2].rx_buf + xfer[2].len;
> + xfer[3].multi_bus_mode = xfer[2].multi_bus_mode;
Why not doing the above once during probe?
- Nuno Sá
next prev parent reply other threads:[~2025-10-15 10:35 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-14 22:02 [PATCH 0/6] spi: add multi-bus support David Lechner
2025-10-14 22:02 ` [PATCH 1/6] dt-bindings: spi: Add spi-buses property David Lechner
2025-10-21 14:21 ` Rob Herring
2025-10-21 14:59 ` David Lechner
2025-10-30 13:51 ` Rob Herring
2025-10-30 22:42 ` David Lechner
2025-11-10 17:04 ` Mark Brown
2025-11-12 16:52 ` David Lechner
2025-10-14 22:02 ` [PATCH 2/6] spi: Support multi-bus controllers David Lechner
2025-10-15 10:06 ` Nuno Sá
2025-10-15 20:16 ` Marcelo Schmitt
2025-10-14 22:02 ` [PATCH 3/6] spi: add multi_bus_mode field to struct spi_transfer David Lechner
2025-10-15 10:16 ` Nuno Sá
2025-10-15 12:01 ` Mark Brown
2025-10-15 14:43 ` Nuno Sá
2025-10-15 15:18 ` Mark Brown
2025-10-15 16:15 ` David Lechner
2025-10-15 16:43 ` Nuno Sá
2025-10-15 18:38 ` David Lechner
2025-10-16 9:08 ` Nuno Sá
2025-10-16 15:25 ` David Lechner
2025-10-17 12:36 ` Nuno Sá
2025-10-15 20:21 ` Marcelo Schmitt
2025-10-14 22:02 ` [PATCH 4/6] spi: axi-spi-engine: support SPI_MULTI_BUS_MODE_STRIPE David Lechner
2025-10-15 10:30 ` Nuno Sá
2025-10-15 12:03 ` Mark Brown
2025-10-15 16:29 ` David Lechner
2025-10-16 9:11 ` Nuno Sá
2025-10-15 20:53 ` Marcelo Schmitt
2025-10-15 22:01 ` David Lechner
2025-10-14 22:02 ` [PATCH 5/6] dt-bindings: iio: adc: adi,ad7380: add spi-buses property David Lechner
2025-10-14 22:02 ` [PATCH 6/6] iio: adc: ad7380: Add support for multiple SPI buses David Lechner
2025-10-15 10:36 ` Nuno Sá [this message]
2025-10-15 18:46 ` David Lechner
2025-10-18 18:10 ` 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=ef452c01679bee2c8bdbefe1df4775c432f8b345.camel@gmail.com \
--to=noname.nuno@gmail.com \
--cc=andy@kernel.org \
--cc=broonie@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-spi@vger.kernel.org \
--cc=marcelo.schmitt@analog.com \
--cc=michael.hennerich@analog.com \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
--cc=sean.anderson@linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.