Re: Device tree representation of (hotplug) connectors: discussion at ELCE

Herve Codina <[email protected]> Tue, 16 Sep 2025 16:25:34 +0200
Newsgroups org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Organization Bootlin
Message-ID <[email protected]>
Hi Geert,

On Tue, 16 Sep 2025 15:34:52 +0200
Geert Uytterhoeven <[email protected]> wrote:

> Hi Ayush,
> 
> On Tue, 16 Sept 2025 at 14:22, Ayush Singh <[email protected]> wrote:
> > On 9/16/25 15:44, Geert Uytterhoeven wrote:  
> > > On Tue, 16 Sept 2025 at 08:46, Herve Codina <[email protected]> wrote:  
> > >> On Mon, 15 Sep 2025 14:51:41 +1000
> > >> David Gibson <[email protected]> wrote:  
> > >>> On Thu, Sep 11, 2025 at 10:48:28AM +0200, Herve Codina wrote:  
> > >>>>  From the addon board point of view, the only think we can
> > >>>> say is "me, as an addon board, I need a connector of type 'foo' and a
> > >>>> connector of type 'bar'".  
> > >>> Agreed.
> > >>>  
> > >>>> Also, at base board level, statically defined in the DT
> > >>>> connA is described (type 'foo'), connB and connC are
> > >>>> described (type 'bar').
> > >>>>
> > >>>> 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.  
> > >>> Agreed.
> > >>>  
> > >>>> 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.  
> > >>> Yes.  Although if the addons have an EEPROM, or some other sort of ID
> > >>> register, it may be possible for some connector drivers to probe this.  
> > >> Right, I think we agree that a driver is needed to help in the mapping at
> > >> least when multiple connectors are involved.  
> >  
> > > I agree you need a driver to read an ID EEPROM.
> > > But why would you need a driver if no ID EEPROM is involved?
> > > If the connector types on base board and add-on match, it should work.  
> 
> > How would a connector be disabled in such a setup? I guess maybe status
> > property can be used while applying overlay to check if the connector is
> > enabled. But maybe that goes outside the scope of fdtoverlay?  
> 
> Why would you want to disable a connector?
> 
> > Also, I would assume that most such connectors would want to provide
> > some kind of configfs based API to add/remove addon boards.  
> 
> Yes, we need some way to configure add-on board add/remove,
> and on which connector(s).
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 

Having drivers for connectors is an expectation from Rob:
  https://lore.kernel.org/all/CAL_JsqKg0NpDi1Zf1T+f2rYw5UuVfK7+kjWj1_edFWH8EStjXw@mail.gmail.com/

Maybe at the end we could find some kind of generic driver if no specific
hotplug mecanism is involved and if we find a generic way (maybe configfs)
to provide the addon DT.

IMHO, before diving in a generic driver, basics need to be there and at least
one "specific" driver should be present to validate concepts discussed here.

Best regards,
Hervé