Re: [PATCH v5 0/5] Enable Remote GPIO over RPMSG on i.MX Platform

Shenwei Wang
2025-11-06T16:26:24Z

Hi Arnaud,

> -----Original Message-----
> From: Arnaud POULIQUEN <arnaud.pouliquen@foss.st.com>
> Sent: Thursday, November 6, 2025 4:17 AM
> To: Shenwei Wang <shenwei.wang@nxp.com>; Peng Fan <peng.fan@nxp.com>;
> Bjorn Andersson <andersson@kernel.org>; Mathieu Poirier
> <mathieu.poirier@linaro.org>; Rob Herring <robh@kernel.org>; Krzysztof
> Kozlowski <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>; Shawn
> Guo <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>;
> Jonathan Corbet <corbet@lwn.net>; Linus Walleij <linus.walleij@linaro.org>;
> Bartosz Golaszewski <brgl@bgdev.pl>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> <festevam@gmail.com>; linux-remoteproc@vger.kernel.org;
> devicetree@vger.kernel.org; imx@lists.linux.dev; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
> doc@vger.kernel.org; dl-linux-imx <linux-imx@nxp.com>; Randy Dunlap
> <rdunlap@infradead.org>; Andrew Lunn <andrew@lunn.ch>; linux-
> gpio@vger.kernel.org
> Subject: [EXT] Re: [PATCH v5 0/5] Enable Remote GPIO over RPMSG on i.MX
> Platform
>
> Hi Shenwei,
>
> On 11/5/25 15:12, Shenwei Wang wrote:
> > Hi Arnaud,
> >
> >> -----Original Message-----
> >>
> >> On 11/5/25 02:12, Peng Fan wrote:
> >>> Hi Shenwei
> >>>
> >>>> Subject: [PATCH v5 0/5] Enable Remote GPIO over RPMSG on i.MX
> >>>> Platform
> >>>>
> >>>> Support the remote devices on the remote processor via the RPMSG
> >>>> bus on i.MX platform.
> >>>>
> >>>
> >>> I have not look into the details of new version, but before that,
> >>> just want to check, have we agreed on what Arnaud suggested?
> >>> or continue to proceed to be this as i.MX specific?
> >>
> >> Thanks, Peng, for pointing this out. Regarding the V3 discussions, it
> >> seems that I am not the only one suggesting a generic driver.
> >>
> >
> > As I mentioned before, the only i.MX-specific part is the transport protocol over
> the RPMSG bus.
> > In this v5 patches, we’ve included detailed documentation for the
> > protocol in a separate file. Any platform that follows the same protocol should
> work right out of the box.
> >
> > If you spot anything that could be improved, please let me know!
>
> My concerns remain the same as those shared previously:
>
> 1) The simpler one: gpio-imx-rpmsg.c should be renamed to gpio-rpmsg.c.
>

Agree. Will fix it in the next version.

> 2) The more complex one: the driver should be independent of the remoteproc
> driver. The rpmsg protocol relies on virtio and can be used in contexts other than
> remoteproc. In other words, the struct rpmsg_driver and its associated
> operations should be defined within the rpmsg-gpio driver, not in the remoteproc
> driver.
>

The GPIO driver operates independently of the remoteproc driver. It functions based
on the defined GPIO-RPMSG transport protocol. Any remoteproc that supports
this protocol can exchange data with the GPIO driver via the underlying rpmsg bus.
Placing the rpmsg_driver (which manages the rpmsg channel) within the remoteproc
driver is more logical, as rpmsg channels run on the rpmsg bus. This bus is defined inside
the remoteproc device tree node and is populated by the corresponding remoteproc driver.

Thanks,
Shenwei

>
> Thanks,
> Arnaud
>
> >
> > Thanks,
> > Shenwei
> >
> >> Thanks,
> >> Arnaud
> >>
> >>>
> >>> Thanks
> >>> Peng.
> >