From: Herve Codina <herve.codina@bootlin.com>
To: Linus Walleij <linusw@kernel.org>
Cc: Rob Herring <robh@kernel.org>,
James Hilliard <james.hilliard1@gmail.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
linux-gpio@vger.kernel.org,
Geert Uytterhoeven <geert+renesas@glider.be>,
Bartosz Golaszewski <brgl@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Alexander Stein <linux@ew.tq-group.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] dt-bindings: gpio: add gpio-aggregator binding
Date: Fri, 20 Feb 2026 09:17:27 +0100 [thread overview]
Message-ID: <20260220091727.5330accd@bootlin.com> (raw)
In-Reply-To: <CAD++jLn9KJ2sfMtAxVGbcmWQW=1vxdiMNCDLNg-XV3hJDz=O9w@mail.gmail.com>
Hi Linus,
On Thu, 19 Feb 2026 18:57:48 +0100
Linus Walleij <linusw@kernel.org> wrote:
> On Fri, Feb 13, 2026 at 3:34 PM Rob Herring <robh@kernel.org> wrote:
>
> > > > Humm, peripheral boards! So there's a connector. You need a connector
> > > > binding. And the one solved binding for such a thing is GPIO! The
> > > > gpio-map property lets you remap GPIOs from one provider (the connector)
> > > > to a parent provider (soc_gpio). It would look something like this:
> > >
> > > Well...some GPIOs are wired to peripheral board connectors...but
> > > some are wired to things like built in LEDs and a few different
> > > on-controller components as well which vary by controller hardware
> > > revisions.
> > >
> > > This gpio-map feature doesn't exist in the mainline kernel does it?
> >
> > For at least the last 5 years. It's even defined in the DT spec
> > (generically as "nexus").
>
> I actually tested this. It works.
>
> It's however a bit annoying that we do not have a single upstream
> DTS file using it, so there are no examples to look at other than
> in the documentation.
>
> I suppose there would also be greater buy-in to the concept if
> we had managed to push the same for at least I2C and SPI,
> but it's easy to ask other people to work, I know that.
Nexus for I2C or SPI will not work.
In fact, busses cannot work with nexus node concept.
A nexus node translate a phandle.
prop = <&nexus X> is, in the end, translated to <&controller Y>.
For busses, you describe devices connected to the bus as sub-nodes of the
bus controller node.
&spi0 {
my_device@0 {
reg = 0;
...
};
};
No phandle involved but labels.
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?
Some ways other than nexus have to explored to handle busses.
Best regards,
Hervé
next prev parent reply other threads:[~2026-02-20 8:17 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-11 8:13 [PATCH v2 1/2] dt-bindings: gpio: add gpio-aggregator binding James Hilliard
2026-02-11 8:13 ` [PATCH v2 2/2] gpio: aggregator: add gpio-aggregator DT compatible James Hilliard
2026-02-11 9:47 ` Bartosz Golaszewski
2026-02-11 9:50 ` Geert Uytterhoeven
2026-02-11 10:38 ` Bartosz Golaszewski
2026-02-11 10:48 ` Krzysztof Kozlowski
2026-02-11 11:00 ` Bartosz Golaszewski
2026-02-11 10:13 ` Krzysztof Kozlowski
2026-02-11 10:36 ` Bartosz Golaszewski
2026-02-11 10:42 ` Krzysztof Kozlowski
2026-02-11 10:44 ` Krzysztof Kozlowski
2026-02-11 21:47 ` Rob Herring
2026-02-11 21:49 ` James Hilliard
2026-02-12 7:18 ` Krzysztof Kozlowski
2026-02-12 19:16 ` James Hilliard
2026-02-13 7:31 ` Krzysztof Kozlowski
2026-02-13 8:02 ` James Hilliard
2026-02-13 8:21 ` Krzysztof Kozlowski
2026-02-13 8:29 ` Herve Codina
2026-02-13 8:49 ` Krzysztof Kozlowski
2026-02-13 23:03 ` James Hilliard
2026-02-11 8:17 ` [PATCH v2 1/2] dt-bindings: gpio: add gpio-aggregator binding Krzysztof Kozlowski
2026-02-11 8:19 ` Krzysztof Kozlowski
2026-02-11 8:28 ` James Hilliard
2026-02-11 8:44 ` Krzysztof Kozlowski
2026-02-11 17:01 ` James Hilliard
2026-02-12 14:49 ` Geert Uytterhoeven
2026-02-12 16:53 ` James Hilliard
2026-02-12 19:54 ` Rob Herring
2026-02-12 21:22 ` James Hilliard
2026-02-13 8:24 ` Geert Uytterhoeven
2026-02-13 18:34 ` James Hilliard
2026-02-16 9:05 ` Geert Uytterhoeven
2026-02-19 18:00 ` Linus Walleij
2026-02-19 18:29 ` Rob Herring
2026-02-19 22:14 ` Linus Walleij
2026-02-19 22:28 ` James Hilliard
2026-02-19 23:00 ` Linus Walleij
2026-02-19 23:06 ` James Hilliard
2026-02-19 23:12 ` Rob Herring
2026-02-20 4:57 ` James Hilliard
2026-02-20 8:24 ` Linus Walleij
2026-02-20 11:33 ` Bartosz Golaszewski
2026-02-13 14:34 ` Rob Herring
2026-02-13 22:49 ` James Hilliard
2026-02-16 9:10 ` Geert Uytterhoeven
2026-02-19 17:57 ` Linus Walleij
2026-02-20 8:17 ` Herve Codina [this message]
2026-02-20 8:35 ` Linus Walleij
2026-02-20 9:15 ` Geert Uytterhoeven
2026-02-20 13:07 ` Herve Codina
2026-02-20 13:28 ` Geert Uytterhoeven
2026-02-11 8:25 ` Geert Uytterhoeven
2026-02-11 8:34 ` James Hilliard
2026-02-11 9:47 ` Geert Uytterhoeven
2026-02-11 9:57 ` Herve Codina
2026-02-11 10:01 ` Geert Uytterhoeven
2026-02-11 10:58 ` Herve Codina
2026-02-11 13:30 ` Geert Uytterhoeven
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=20260220091727.5330accd@bootlin.com \
--to=herve.codina@bootlin.com \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=james.hilliard1@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@ew.tq-group.com \
--cc=robh@kernel.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 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.