mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Cc: Conor Dooley <conor@kernel.org>,
	Marcelo Schmitt <marcelo.schmitt@analog.com>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux@analog.com,
	nuno.sa@analog.com, dlechner@baylibre.com, andy@kernel.org,
	Michael.Hennerich@analog.com, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, corbet@lwn.net,
	skhan@linuxfoundation.org
Subject: Re: [PATCH v1 08/13] dt-bindings: iio: adc: adi,ad4134: Document SPI connection mode
Date: Sun, 6 Sep 2026 20:15:11 +0100	[thread overview]
Message-ID: <20260906201511.7ddbd0fc@jic23-huawei> (raw)
In-Reply-To: <apsufKf-EOvTfpwf@debian-BULLSEYE-live-builder-AMD64>

On Fri, 4 Sep 2026 17:47:56 -0300
Marcelo Schmitt <marcelo.schmitt1@gmail.com> wrote:

> On 09/03, Conor Dooley wrote:
> > On Wed, Sep 02, 2026 at 02:24:02PM -0300, Marcelo Schmitt wrote:  
> > > Document how AD4134 chips are connected to the host SPI controller
> > > according to different wiring configurations.
> > > 
> > > Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
> > > ---
> > >  .../bindings/iio/adc/adi,ad4134.yaml          | 22 +++++++++++++++++++
> > >  1 file changed, 22 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4134.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4134.yaml
> > > index ea6d7e026419..d843c02a394a 100644
> > > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad4134.yaml
> > > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4134.yaml
> > > @@ -131,6 +131,28 @@ properties:
> > >      enum: [ free-running, gated ]
> > >      default: gated
> > >  
> > > +  adi,spi-mode:
> > > +    $ref: /schemas/types.yaml#/definitions/string
> > > +    enum: [ no-cs, 4-wire, one-channel-chain, two-channel-chain ]
> > > +    description: |
> > > +      This property indicates the SPI wiring configuration.
> > > +
> > > +      When this property is omitted, it is assumed that the device is using
> > > +      'no-cs' wiring. When this property is present, it indicates that the
> > > +      device is using one of the following wiring configurations:  
> >   
> ...
> > I'd also really appreciate a dts example for a system
> > with one-channel-chain or two-channel-chain looks, given the second
> > device may require different supplies etc. I have no impression in my
> > head of how the dt would be constructed, so I'd like to see wht you have
> > in mind.  
> 
> I've added the daisy-chain modes for completeness. It has the same semantics of
> ad7944 (daisy-)chain, despite the wiring being different. It looks like the
> supplies for the chained devices are simply assumed to be there (unless I'm
> missing something?).

I think the only cases we ever had of this in the past either used always
on supplies or shared them.  That is a bit of an annoying limitation so if
we can work around that it would be good.

> Though, now that I'm checking how to configure AD4134
> for daisy-chain, I'm not sure how we could set them in dt. For 3 devices,
> we would have
> 
>     spi {
>         ...
>         adc@0 {
>             compatible = "adi,ad4134";
>             reg = <0>;
>             spi-rx-bus-width = <1>, <1>; /* 2 lanes of 1 bit each */
> 
>             <supplies, clock, and other properties ...> 
> 
>             #daisy-chained-devices = <2>;
> 
>             adi,spi-mode = "4-wire";
>         };
>     };
> 
> But, the peripheral needs a register write to set the DOUT lines to 2-line
> daisy-chain and it doesn't seem to have register access propagation. So, we
> would need

That lack of register access propagation I think is the difference here from
devices we have supported chaining on in the past.  To me it sounds fairly
fundamental to any generic solution.

> 
>     spi {
>         ...
>         adc@0 {
>             compatible = "adi,ad4134";
>             spi-rx-bus-width = <1>, <1>; /* 2 lanes of 1 bit each */
> 
>             <supplies, clock, and other properties ...> 
> 
>             #daisy-chained-devices = <2>;
> 
>             adi,spi-mode = "4-wire";
>         };
>         adc@1 {
>             compatible = "adi,ad4134";
>             <supplies, clock, and other properties ...> 
> 
>             adi,spi-mode = "4-wire";
>         };
>         adc@2 {
>             compatible = "adi,ad4134";
>             <supplies, clock, and other properties ...> 
> 
>             adi,spi-mode = "4-wire";
>         };
>     };
> with adc@1 and adc@2 only set for register access. Even if not a dt-doc issue,
> that might (probably) lead to interface issues. The top of the daisy-chain may
> want to read from the other ADCs, but those could also be requested by IIO sysfs
> operations.

I think this bit you rewrite in next mail so I'll ignore.

> 
> >   
> > > +
> > > +      * no-cs: The datasheet calls this "minimum I/O mode". In this mode, the CS
> > > +        line is not used (tied to GND).
> > > +      * 4-wire: Specifies a conventional SPI wiring configuration.
> > > +      * one-channel-chain: In this mode, the DOUT0 line of one chip is connected
> > > +        to DOUT2 of the next chip upstream in the chain. Only the data interface
> > > +        of the upmost device in the stream is in direct connection with the
> > > +        digital host.
> > > +      * two-channel-chain: In this mode, the DOUT0 and DOUT1 lines of one chip
> > > +        are respectively connected to DOUT2 and DOUT3 of the next chip upstream
> > > +        in the chain. Only the data interface of the upmost device in the stream
> > > +        is in direct connection with the digital host.
> > > +  
> 
> With best regards,
> Marcelo


  parent reply	other threads:[~2026-09-06 19:15 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-02 17:21 [PATCH v1 00/13] iio: adc: ad4134: Enable greater sample rate data capture Marcelo Schmitt
2026-09-02 17:21 ` [PATCH v1 01/13] iio: Fix typo in vendor name Marcelo Schmitt
2026-09-03  6:22   ` Andy Shevchenko
2026-09-04 19:41     ` Marcelo Schmitt
2026-09-05  7:40       ` Andy Shevchenko
2026-09-05  7:41         ` Andy Shevchenko
2026-09-02 17:21 ` [PATCH v1 02/13] iio: adc: ad4134: Drop import to empty name space Marcelo Schmitt
2026-09-02 17:22 ` [PATCH v1 03/13] iio: adc: ad4134: Update include list to comply with IWYU principles Marcelo Schmitt
2026-09-03  6:26   ` Andy Shevchenko
2026-09-02 17:22 ` [PATCH v1 04/13] iio: adc: ad4134: Serialize single-read operations Marcelo Schmitt
2026-09-03  6:27   ` Andy Shevchenko
2026-09-06 18:50     ` Jonathan Cameron
2026-09-02 17:23 ` [PATCH v1 05/13] iio: adc: ad4134: Run shorter transfers when CRC is disabled Marcelo Schmitt
2026-09-02 17:23 ` [PATCH v1 06/13] iio: adc: ad4134: Add support for digital filter type selection Marcelo Schmitt
2026-09-03  6:31   ` Andy Shevchenko
2026-09-02 17:23 ` [PATCH v1 07/13] iio: adc: ad4134: Support buffered data read Marcelo Schmitt
2026-09-02 17:24 ` [PATCH v1 08/13] dt-bindings: iio: adc: adi,ad4134: Document SPI connection mode Marcelo Schmitt
2026-09-03 18:14   ` Conor Dooley
2026-09-04 20:47     ` Marcelo Schmitt
2026-09-04 22:06       ` Marcelo Schmitt
2026-09-06 19:26         ` Jonathan Cameron
2026-09-09 15:17           ` Marcelo Schmitt
2026-09-07 17:52         ` Conor Dooley
2026-09-10 22:19           ` Marcelo Schmitt
2026-09-06 19:15       ` Jonathan Cameron [this message]
2026-09-02 17:24 ` [PATCH v1 09/13] iio: adc: ad4134: Support SPI 4-wire mode Marcelo Schmitt
2026-09-03  6:39   ` Andy Shevchenko
2026-09-02 17:24 ` [PATCH v1 10/13] dt-bindings: iio: adc: adi,ad4134: Document PWM usage Marcelo Schmitt
2026-09-04 15:53   ` Conor Dooley
2026-09-02 17:25 ` [PATCH v1 11/13] dt-bindings: iio: adc: adi,ad4134: Add high data throughput example Marcelo Schmitt
2026-09-02 17:25 ` [PATCH v1 12/13] iio: adc: ad4134: Support high-speed data capture Marcelo Schmitt
2026-09-03  7:00   ` Andy Shevchenko
2026-09-02 17:25 ` [PATCH v1 13/13] Docs: iio: Add AD4134 Marcelo Schmitt

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=20260906201511.7ddbd0fc@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=andy@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=conor@kernel.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@analog.com \
    --cc=marcelo.schmitt1@gmail.com \
    --cc=marcelo.schmitt@analog.com \
    --cc=nuno.sa@analog.com \
    --cc=robh@kernel.org \
    --cc=skhan@linuxfoundation.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

all inboxes | Powered by JetHome®