On Tue, 24 Feb 2026 at 15:32, Shenwei Wang <[email protected]> wrote:
>
>
>
> > -----Original Message-----
> > From: Andrew Lunn <[email protected]>
> > Sent: Tuesday, February 24, 2026 4:23 PM
> > To: Shenwei Wang <[email protected]>
> > Cc: Arnaud POULIQUEN <[email protected]>; Linus Walleij
> > <[email protected]>; Bartosz Golaszewski <[email protected]>; Jonathan Corbet
> > <[email protected]>; Rob Herring <[email protected]>; Krzysztof Kozlowski
> > <[email protected]>; Conor Dooley <[email protected]>; Bjorn Andersson
> > <[email protected]>; Mathieu Poirier <[email protected]>; Frank 
> > Li
> > <[email protected]>; Sascha Hauer <[email protected]>; Shuah Khan
> > <[email protected]>; [email protected]; linux-
> > [email protected]; [email protected]; Pengutronix Kernel Team
> > <[email protected]>; Fabio Estevam <[email protected]>; Peng Fan
> > <[email protected]>; [email protected]; linux-
> > [email protected]; [email protected]; linux-arm-
> > [email protected]; dl-linux-imx <[email protected]>; Bartosz
> > Golaszewski <[email protected]>
> > Subject: Re: [EXT] Re: [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO 
> > driver
> >
> > Caution: This is an external email. Please take care when clicking links or 
> > opening
> > attachments. When in doubt, report the message using the 'Report this email'
> > button
> >
> >
> > > > > + remote_cm33{
> > > > > +     rpmsg {
> > > > > +        rpmsg-io-channel {
> > > > > +          #address-cells = <1>;
> > > > > +          #size-cells = <0>;
> > > > > +
> > > > > +          gpio@0 {
> > > > > +            compatible = "rpmsg-gpio";
> > > > > +            reg = <0>;
> > > > > +            gpio-controller;
> > > > > +            #gpio-cells = <2>;
> > > > > +            #interrupt-cells = <2>;
> > > > > +            interrupt-controller;
> > > > > +          };
> > > > > +          gpio@1 {
> > > > > +            compatible = "rpmsg-gpio";
> > > > > +            reg = <1>;
> > > > > +            gpio-controller;
> > > > > +            #gpio-cells = <2>;
> > > > > +            #interrupt-cells = <2>;
> > > > > +            interrupt-controller;
> > > > > +          };
> >
> > > Then how would you distinguish gpio@0 from gpio@1 on the CM33 RPMSG bus
> > in the example above?
> > > They are running on the same transport.
> >
> > Doesn't reg indicate the channel number? gpio@0 is on rpmsg channel 0. 
> > gpio@1
> > is on channel 1? The reg value gets filled into struct rpmsg_channel_info 
> > when
> > the endpoints are created?
>
> There is only a single RPMSG channel for the CM33 remoteproc in this 
> example-its name
> is "rpmsg-io-channel". As I mentioned above, both gpio@0 and gpio@1 run over 
> this same transport.
> The transport here is the RPMSG channel, so multiple GPIO controllers share 
> that channel.
>

That is one of my main problem with this proposal - multiplexing
several GPIO controllers over the same RPMSG channel adds complexity.
RPMSG can already handle multiplexing via channels, use one RPMSG
channel per GPIO controller.

> Thanks,
> Shenwei
>
> >
> >    Andrew
>

Reply via email to