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

Mathieu Poirier
2026-04-23T12:53:25Z

Once again Andrew Lunn was left out.

On Wed, 22 Apr 2026 at 15:29, Shenwei Wang <shenwei.wang@nxp.com> wrote:
>
> Support the remote devices on the remote processor via the RPMSG bus on
> i.MX platform.
>
> Changes in v13:
> - drop the support for legacy NXP firmware.
> - remove the fixed_up hooks from the rpmsg gpio driver.
> - code cleanup.
>
> Changes in v12:
> - Fixed the "underline" warning reported by Randy.
>
> Changes in v11:
> - Expand RPMSG for the first time per Shuah's review comment.
>
> Changes in v10:
> - Update gpio-rpmsg.rst according to Daniel Baluta's review comments.
> - Add a kernel CONFIG for fixed up handlers and only enable it on
> i.MX products.
> - Fixed bugs reported by kernel test robot.
>
> Changes in v9:
> - Reuse the gpio-virtio design for command and IRQ type definitions.
> - Remove msg_id, version, and vendor fields from the generic protocol.
> - Add fixed-up handlers to support legacy firmware.
>
> Changes in v8:
> - Add "depends on REMOTEPROC" in Kconfig to fix the build error reported
> by the kernel test robot.
> - Move the .rst patch before the .yaml patch.
> - Handle the "ngpios" DT property based on Andrew's feedback.
>
> Changes in v7:
> - Reworked the driver to use the rpmsg_driver framework instead of
> platform_driver, based on feedback from Bjorn and Arnaud.
> - Updated gpio-rpmsg.yaml and imx_rproc.yaml according to comments from
> Rob and Arnaud.
> - Further refinements to gpio-rpmsg.yaml per Arnaud's feedback.
>
> 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
>
> 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 (4):
> docs: driver-api: gpio: rpmsg gpio driver over rpmsg bus
> dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support
> gpio: rpmsg: add generic rpmsg GPIO driver
> arm64: dts: imx8ulp: Add rpmsg node under imx_rproc
>
> .../devicetree/bindings/gpio/gpio-rpmsg.yaml | 55 ++
> .../bindings/remoteproc/fsl,imx-rproc.yaml | 53 ++
> Documentation/driver-api/gpio/gpio-rpmsg.rst | 266 ++++++++
> Documentation/driver-api/gpio/index.rst | 1 +
> arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 25 +
> drivers/gpio/Kconfig | 17 +
> drivers/gpio/Makefile | 1 +
> drivers/gpio/gpio-rpmsg.c | 573 ++++++++++++++++++
> 8 files changed, 991 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
>
> --
> 2.43.0
>