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

Shenwei Wang shenwei.wang at nxp.com
Sat Feb 7 13:08:10 PST 2026



> -----Original Message-----
> From: Mathieu Poirier <mathieu.poirier at linaro.org>
> Sent: Wednesday, January 14, 2026 11:09 AM
> To: Shenwei Wang <shenwei.wang at nxp.com>
> Cc: Linus Walleij <linusw at kernel.org>; Bartosz Golaszewski <brgl at kernel.org>;
> Rob Herring <robh at kernel.org>; Krzysztof Kozlowski <krzk+dt at kernel.org>;
> Conor Dooley <conor+dt at kernel.org>; Bjorn Andersson
> On Fri, Dec 12, 2025 at 01:43:36PM -0600, Shenwei Wang wrote:
> > Support the remote devices on the remote processor via the RPMSG bus
> > on i.MX platform.
> >
> > Changes in v6:
> >  - make the driver more generic with the actions below:
> >      rename the driver file to gpio-rpmsg.c
> >      remove the imx related info in the function and variable names
> >      rename the imx_rpmsg.h to rpdev_info.h
> >      create a gpio-rpmsg.yaml and refer it in imx_rproc.yaml
> >  - update the gpio-rpmsg.rst according to the feedback from Andrew and
> >    move the source file to driver-api/gpio
> >  - fix the bug reported by Zhongqiu Han
> >  - remove the I2C related info
> >
> 
> NAK - I asked to use the virtio interface (in this case virtio-gpio), something I do
> not see in the above summary and the first 2 patches in this series.  This work will
> not move forward until that happens.

Never mind. Based on Bjorn’s review comments, I am restructuring the code to use the rpmsg_driver 
model instead of the platform_driver model. 

The virtio‑gpio use case is outside the scope of this patch set, since those devices are exposed over
the rpmsg bus.

Regards,
Shenwei

> 
> > Changes in v5:
> >  - move the gpio-rpmsg.rst from admin-guide to staging directory after
> >    discussion with Randy Dunlap.
> >  - add include files with some code improvements per Bartosz's comments.
> >
> > Changes in v4:
> >  - add a documentation to describe the transport protocol per Andrew's
> >    comments.
> >  - add a new handler to get the gpio direction.
> >
> > Changes in v3:
> >  - fix various format issue and return value check per Peng 's review
> >    comments.
> >  - add the logic to also populate the subnodes which are not in the
> >    device map per Arnaud's request. (in imx_rproc.c)
> >  - update the yaml per Frank's review comments.
> >
> > Changes in v2:
> >  - re-implemented the gpio driver per Linus Walleij's feedback by using
> >    GPIOLIB_IRQCHIP helper library.
> >  - fix various format issue per Mathieu/Peng 's review comments.
> >  - update the yaml doc per Rob's feedback
> >
> > Shenwei Wang (5):
> >   dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support
> >   remoteproc: imx_rproc: Populate devices under "rpmsg" subnode
> >   docs: driver-api: gpio: generic gpio driver over rpmsg bus
> >   gpio: rpmsg: add generic rpmsg GPIO driver
> >   arm64: dts: imx8ulp: Add rpmsg node under imx_rproc
> >
> >  .../devicetree/bindings/gpio/gpio-rpmsg.yaml  |  49 ++
> >  .../bindings/remoteproc/fsl,imx-rproc.yaml    |  54 ++
> >  Documentation/driver-api/gpio/gpio-rpmsg.rst  | 232 +++++++++
> >  Documentation/driver-api/gpio/index.rst       |   1 +
> >  arch/arm64/boot/dts/freescale/imx8ulp.dtsi    |  27 +
> >  drivers/gpio/Kconfig                          |  16 +
> >  drivers/gpio/Makefile                         |   1 +
> >  drivers/gpio/gpio-rpmsg.c                     | 490 ++++++++++++++++++
> >  drivers/remoteproc/imx_rproc.c                | 143 +++++
> >  include/linux/rpmsg/rpdev_info.h              |  33 ++
> >  10 files changed, 1046 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/gpio/gpio-rpmsg.yaml
> >  create mode 100644 Documentation/driver-api/gpio/gpio-rpmsg.rst
> >  create mode 100644 drivers/gpio/gpio-rpmsg.c  create mode 100644
> > include/linux/rpmsg/rpdev_info.h
> >
> > --
> > 2.43.0
> >


More information about the linux-arm-kernel mailing list