[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