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 >

