From: Herve Codina <herve.codina@bootlin.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ayush Singh <ayush@beagleboard.org>,
David Gibson <david@gibson.dropbear.id.au>,
Luca Ceresoli <luca.ceresoli@bootlin.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
devicetree@vger.kernel.org, Rob Herring <robh@kernel.org>,
Jason Kridner <jkridner@gmail.com>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
devicetree-compiler@vger.kernel.org,
linux-kernel@vger.kernel.org,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Andrew Davis <afd@ti.com>
Subject: Re: Device tree representation of (hotplug) connectors: discussion at ELCE
Date: Thu, 11 Sep 2025 15:58:42 +0200 [thread overview]
Message-ID: <20250911155842.796c47fa@bootlin.com> (raw)
In-Reply-To: <CAMuHMdULiX83n5bLEipE1j99HyuyXCpAYS9qYu-8y_vmEyO_ag@mail.gmail.com>
On Thu, 11 Sep 2025 15:08:33 +0200
Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> Hi Hervé,
>
> On Thu, 11 Sept 2025 at 14:45, Herve Codina <herve.codina@bootlin.com> wrote:
> > On Thu, 11 Sep 2025 17:45:17 +0530
> > Ayush Singh <ayush@beagleboard.org> wrote:
> > > On 9/11/25 15:53, Herve Codina wrote:
> > > > On Thu, 11 Sep 2025 10:54:02 +0200
> > > > Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > > >> On Thu, 11 Sept 2025 at 10:48, Herve Codina <herve.codina@bootlin.com> wrote:
> > > >>> The choice to map connA to the type 'foo' connector expected by the addon
> > > >>> and the choice to map connB or connC to the type 'bar' connector expected by
> > > >>> the addon can only be done at runtime and probably with the help of a driver
> > > >>> that have the knowledge of the 3 connectors.
> > > >>>
> > > >>> I have the feeling that the choice of physical connectors to which the addon
> > > >>> board is connected to is a human choice when the board is connected.
> > > >> All these choices and decisions apply to single-connector add-on boards, too.
> > > >>
> > > > Yes, in our use case (me and Luca), each addon has an eeprom, wired exactly the
> > > > same on all supported addon, which allows to known the exact addon. Also addon
> > > > insertions and removals are detected using some gpios wired to the connector.
> > > >
> > > > Based on that our specific driver handling our specific connector perform the
> > > > following operations on addon insertion detection:
> > > > - load a first addon DT to have access to the eeprom
> > > > - Read the eeprom to determine the addon type
> > > > - load the DT matching with the addon type
> > > >
> > > > This part is of course connector type specific. I mean having an eeprom with
> > > > some encoded addon type values and hotplug detection with gpio is a part of
> > > > the contract between the board and the addon (part of connector specification).
> > >
> > > My usecase is a bit more complicated, since I am trying to model all the
> > > available headers on BeagleBoard.org sbcs (particularly PocketBeagle 2
> > > initially) as connectors. However, that still ends up being a single
> > > connector which can have multiple addon-boards simultaneously instead of
> > > the other way around.
> >
> > In that case, a connector cannot have the state "free" or "used" handled
> > globally by a core part.
> >
> > IMHO, each connector drivers should handle this kind of state if relevant.
> > I mean, in case of "pmods" compatible driver having this state per PMOD
> > connector could make sense whereas in "beagle-connector" it doesn't.
>
> It depends on whether the add-on board has stacking headers, or not ;-)
>
> > Also, on my side, with my 2-step DT loading, the first loading should not
> > consider the connector as 'used'.
> >
> > All of that is implied by the "contract" between the board and the addon.
> > It is connector specific and so should be handled by the specific connector
> > driver itself.
>
> Since stacking boards is a fairly common use case (beagle, rpi), perhaps
> it makes sense to have a simple method to re-export / forward a connector?
> The alternative would be to re-describe and re-export everything.
You re-apply an addon DT on the same connector. You should see the exact same
symbols without re-exporting anything.
I think that you have to re-export stuff only if, on the addon board itself,
you wire some pins from one connector to an other one.
+-----------------------------+
| Addon board |
+---------+ +--------+
+ conn A +-------------------+ conn B +
+ +--, +--------+ +--------+
+---------+ '--+ device | |
| +--------+ |
+-----------------------------+
Here the resource available at conn A directly wired to conn B should be
re-exported in order to allow another addon connected to conn B to use this
signal.
Multiple addons with conn A connector stacked should see all symbols exported
from the based board related to conn A.
Best regards,
Hervé
next prev parent reply other threads:[~2025-09-11 13:59 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-02 8:57 Device tree representation of (hotplug) connectors: discussion at ELCE Luca Ceresoli
2025-09-04 5:23 ` David Gibson
2025-09-04 5:45 ` Ayush Singh
2025-09-08 4:36 ` David Gibson
2025-09-08 9:01 ` Geert Uytterhoeven
2025-09-09 2:44 ` David Gibson
2025-09-08 12:51 ` Herve Codina
2025-09-09 5:09 ` David Gibson
2025-09-09 9:41 ` Herve Codina
2025-09-09 13:04 ` Geert Uytterhoeven
2025-09-10 4:36 ` David Gibson
2025-09-11 10:11 ` Herve Codina
2025-09-12 9:40 ` Luca Ceresoli
2025-09-10 4:33 ` David Gibson
2025-09-11 8:48 ` Herve Codina
2025-09-11 8:54 ` Geert Uytterhoeven
2025-09-11 10:23 ` Herve Codina
2025-09-11 12:15 ` Ayush Singh
2025-09-11 12:45 ` Herve Codina
2025-09-11 13:08 ` Geert Uytterhoeven
2025-09-11 13:58 ` Herve Codina [this message]
2025-09-15 4:51 ` David Gibson
2025-09-16 6:46 ` Herve Codina
2025-09-16 10:14 ` Geert Uytterhoeven
2025-09-16 12:22 ` Ayush Singh
2025-09-16 13:34 ` Geert Uytterhoeven
2025-09-16 14:25 ` Herve Codina
2025-09-16 15:35 ` Ayush Singh
2025-09-18 3:16 ` David Gibson
2025-09-18 7:44 ` Herve Codina
2025-09-18 8:06 ` Herve Codina
2025-09-19 4:52 ` David Gibson
2025-09-19 5:17 ` Ayush Singh
2025-09-19 15:20 ` Luca Ceresoli
2025-09-23 8:09 ` David Gibson
2025-09-23 9:48 ` Herve Codina
2025-09-23 10:29 ` Geert Uytterhoeven
2025-09-23 13:36 ` Herve Codina
2025-09-23 16:47 ` Andrew Davis
2025-09-24 4:17 ` David Gibson
2025-09-24 4:11 ` David Gibson
2025-09-24 17:03 ` Ayush Singh
2025-09-30 4:07 ` David Gibson
2025-09-30 7:52 ` Geert Uytterhoeven
2025-10-10 7:58 ` David Gibson
2025-10-10 16:31 ` Herve Codina
2025-09-24 3:54 ` David Gibson
2025-09-24 12:31 ` Herve Codina
2025-09-29 9:23 ` David Gibson
2025-09-30 7:09 ` Herve Codina
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=20250911155842.796c47fa@bootlin.com \
--to=herve.codina@bootlin.com \
--cc=afd@ti.com \
--cc=ayush@beagleboard.org \
--cc=conor+dt@kernel.org \
--cc=david@gibson.dropbear.id.au \
--cc=devicetree-compiler@vger.kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=jkridner@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luca.ceresoli@bootlin.com \
--cc=robh@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
/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.