All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: David Lechner <dlechner@baylibre.com>
Cc: "Mark Brown" <broonie@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>,
	"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 v2 5/6] dt-bindings: iio: adc: adi,ad7380: add spi-buses property
Date: Thu, 4 Dec 2025 08:28:45 -0600	[thread overview]
Message-ID: <20251204142845.GA1303976-robh@kernel.org> (raw)
In-Reply-To: <f2ac13fc-8f47-465e-8cef-e2e34bf41818@baylibre.com>

On Wed, Nov 19, 2025 at 08:45:42AM -0600, David Lechner wrote:
> On 11/19/25 7:18 AM, Rob Herring wrote:
> > On Tue, Nov 18, 2025 at 11:46 AM David Lechner <dlechner@baylibre.com> wrote:
> >>
> >> On 11/18/25 9:59 AM, Rob Herring wrote:
> >>> On Fri, Nov 07, 2025 at 02:52:51PM -0600, David Lechner wrote:
> >>>> Add spi-buses property to describe how many SDO lines are wired up on
> >>>> the ADC. These chips are simultaneous sampling ADCs and have one SDO
> >>>> line per channel, either 2 or 4 total depending on the part number.
> >>>>
> >>>> Signed-off-by: David Lechner <dlechner@baylibre.com>
> >>>> ---
> >>>>  .../devicetree/bindings/iio/adc/adi,ad7380.yaml    | 22 ++++++++++++++++++++++
> >>>>  1 file changed, 22 insertions(+)
> >>>>
> >>>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml
> >>>> index b91bfb16ed6bc6c605880f81050250d1ed9c307a..9ef46cdb047d45d088e0fbc345f58c5b09083385 100644
> >>>> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml
> >>>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml
> >>>> @@ -62,6 +62,10 @@ properties:
> >>>>    spi-cpol: true
> >>>>    spi-cpha: true
> >>>>
> >>>> +  spi-data-buses:
> >>>> +    minItems: 1
> >>>> +    maxItems: 4
> >>>> +
> >>>
> >>> As the property is not required, what's the default?
> >>
> >> spi-perepheral-props.yaml defines:
> >>
> >>         default: [0]
> >>
> >> Do I need to repeat that here?
> > 
> > No. So that means you only use one channel and the others are not connected?
> 
> Correct.
> 
> > 
> >>
> >>>
> >>>>    vcc-supply:
> >>>>      description: A 3V to 3.6V supply that powers the chip.
> >>>>
> >>>> @@ -245,6 +249,22 @@ allOf:
> >>>>        patternProperties:
> >>>>          "^channel@[0-3]$": false
> >>>>
> >>>> +  # 2-channel chip can only have up to 2 buses
> >>>> +  - if:
> >>>> +      properties:
> >>>> +        compatible:
> >>>> +          enum:
> >>>> +            - adi,ad7380
> >>>> +            - adi,ad7381
> >>>> +            - adi,ad7386
> >>>> +            - adi,ad7387
> >>>> +            - adi,ad7388
> >>>> +            - adi,ad7389
> >>>> +    then:
> >>>> +      properties:
> >>>> +        spi-data-buses:
> >>>> +          maxItems: 2
> >>>> +
> >>>>  examples:
> >>>>    - |
> >>>>      #include <dt-bindings/interrupt-controller/irq.h>
> >>>> @@ -260,6 +280,7 @@ examples:
> >>>>              spi-cpol;
> >>>>              spi-cpha;
> >>>>              spi-max-frequency = <80000000>;
> >>>> +            spi-data-buses = <0>, <1>;
> >>>>
> >>>>              interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
> >>>>              interrupt-parent = <&gpio0>;
> >>>> @@ -284,6 +305,7 @@ examples:
> >>>>              spi-cpol;
> >>>>              spi-cpha;
> >>>>              spi-max-frequency = <80000000>;
> >>>> +            spi-data-buses = <0>, <1>, <2>, <3>;
> >>>
> >>> An example that doesn't look like a 1 to 1 mapping would be better.
> >>> Otherwise, it still looks to me like you could just define the bus
> >>> width.
> >>
> >> I'm not sure we could do that on this chip since it doesn't have
> >> the possibility of more than one line per channel.
> > 
> > That's a property of the SPI controller though, right?
> > 
> > If the above controller had 4 lines per channel/serializer, then you could have:
> > 
> > spi-data-buses = <0>, <4>, <8>, <12>;
> 
> Ah, I get what you mean now. The intention here though was that the
> index numbers correspond to the data lane (channel/serializer), not
> to individual lines. So the example you gave would mean that the chip
> has at least 13 data lanes (rather than what I think your intention was
> of saying it has at least 16 data wires). I did it that way because all
> of the hardware I looked at didn't allow assigning arbitrary data lines
> to arbitrary lanes/channels so it keeps things simpler and easier to match
> to the actual hardware docs.

But what happens if there is such h/w? Better to design things for 
something we can visualize and not have to revisit this. Of course there 
will be things we don't anticipate. (Who thought we'd have parallel 
SPI...)

I suppose if that's rare enough we can just have another property to map 
pins to channels.

Rob

  reply	other threads:[~2025-12-04 14:28 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-07 20:52 [PATCH v2 0/6] spi: add multi-bus support David Lechner
2025-11-07 20:52 ` [PATCH v2 1/6] spi: dt-bindings: Add spi-data-buses property David Lechner
2025-11-18 15:57   ` Rob Herring
2025-11-07 20:52 ` [PATCH v2 2/6] spi: Support multi-bus controllers David Lechner
2025-11-07 20:52 ` [PATCH v2 3/6] spi: add multi_bus_mode field to struct spi_transfer David Lechner
2025-11-07 20:52 ` [PATCH v2 4/6] spi: axi-spi-engine: support SPI_MULTI_BUS_MODE_STRIPE David Lechner
2025-11-11 15:12   ` Marcelo Schmitt
2025-11-12 16:59     ` David Lechner
2025-11-15 14:16       ` Marcelo Schmitt
2025-11-15 14:17   ` Marcelo Schmitt
2025-11-07 20:52 ` [PATCH v2 5/6] dt-bindings: iio: adc: adi,ad7380: add spi-buses property David Lechner
2025-11-18 15:59   ` Rob Herring
2025-11-18 17:46     ` David Lechner
2025-11-19 13:18       ` Rob Herring
2025-11-19 14:45         ` David Lechner
2025-12-04 14:28           ` Rob Herring [this message]
2025-12-04 16:01             ` David Lechner
2025-11-07 20:52 ` [PATCH v2 6/6] iio: adc: ad7380: Add support for multiple SPI buses David Lechner
2025-11-09 17:05 ` [PATCH v2 0/6] spi: add multi-bus support 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=20251204142845.GA1303976-robh@kernel.org \
    --to=robh@kernel.org \
    --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=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.