RE: [EXT] Re: [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
From: Shenwei Wang
Date: Tue Feb 24 2026 - 16:19:05 EST
> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Tuesday, February 24, 2026 3:01 PM
> To: Shenwei Wang <shenwei.wang@xxxxxxx>
> Cc: Arnaud POULIQUEN <arnaud.pouliquen@xxxxxxxxxxx>; Linus Walleij
> <linusw@xxxxxxxxxx>; Bartosz Golaszewski <brgl@xxxxxxxxxx>; Jonathan Corbet
> <corbet@xxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Bjorn Andersson
> <andersson@xxxxxxxxxx>; Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>; Frank Li
> <frank.li@xxxxxxx>; Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>; Shuah Khan
> <skhan@xxxxxxxxxxxxxxxxxxx>; linux-gpio@xxxxxxxxxxxxxxx; linux-
> doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Pengutronix Kernel Team
> <kernel@xxxxxxxxxxxxxx>; Fabio Estevam <festevam@xxxxxxxxx>; Peng Fan
> <peng.fan@xxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-
> remoteproc@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; Bartosz
> Golaszewski <brgl@xxxxxxxx>
> Subject: [EXT] Re: [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
> > > How does port_idx fit into this?
> >
> > I think you were assuming there is only one remoteproc in the system?
> > In practice, the setup can look more like this:
> >
> > + 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;
> > + };
> > + ...
> > + };
> > + };
> > +};
> > +
> > + remote_dsp {
> > + 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;
> > + };
> > + ...
> > + };
> > + };
> > +};
>
> And why would this require a port_idx? If they are different rpmsg instances, the
> channel numbers are in different address spaces.
>
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.
Thanks,
Shenwei
> Andrew