Re: [PATCH v2 1/2] dt-bindings: gpio: add gpio-aggregator binding
From: Herve Codina
Date: Fri Feb 20 2026 - 08:07:19 EST
Hi,
On Fri, 20 Feb 2026 10:15:59 +0100
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> Hi Linus,
>
> On Fri, 20 Feb 2026 at 09:35, Linus Walleij <linusw@xxxxxxxxxx> wrote:
> > On Fri, Feb 20, 2026 at 9:17 AM Herve Codina <herve.codina@xxxxxxxxxxx> wrote:
> > > With nexus, you cannot translate &spi0.
> > >
> > > Also nexus works well when an index is involved. In other word, it works
> > > well with phandle with args.
> > >
> > > i2c-bus = <&i2c0>;
> > >
> > > In this kind of of definition, no index are present. With nexus node, this
> > > looks like
> > >
> > > i2c-bus = <&nexus>;
> > >
> > > How to handle multiple i2c busses with nexus node?
> >
> > Can't you just use the foo-n suffix trick from the pinctrl etc?
> >
> > my_nexus: nexus {
> > gpio-map = <...>;
> > interrupt-map = <...>;
> > nexus_i2c0: i2c-bus-0 = <&i2c4>;
> > nexus_i2c1: i2c-bus-1 = <&i2c6>;
> > nexus_i2c2: i2c-bus-3 = <&i2c8>;
> > };
> >
> > &nexus_i2c1 {
> > sensor@4c {
> > ....
> > };
> > };
> >
> > Maybe it's not as elegant but I think it could work?
>
> Wasn't that already solved using i2c-parent, cfr. the connectors
> discussion at last ELC-E?
Well, I wouldn't say "solved".
But yeah, the idea is i2c bus extension:
https://lore.kernel.org/all/20250205173918.600037-1-herve.codina@xxxxxxxxxxx/
https://lore.kernel.org/all/20250618082313.549140-1-herve.codina@xxxxxxxxxxx/
When DT overlays enter in the loop, the main issue is to reference a
symbol from the overlay.
This issue led to DT addons to replace overlays:
https://lore.kernel.org/all/de02ed8c-0176-4996-ad7a-680a2e115161@xxxxxxxxxxxxxxx/
All of these is really out of scope of this "dt-bindings: gpio: add
gpio-aggregator binding" series.
I am open to discuss nexus nodes, busses, DT addons but I don't thing this
series is the right place to do this discussions and, on my side, I don't
want to pollute James' work with all that stuff.
Best regards,
Hervé