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

Shenwei Wang
2025-11-04T20:34:27Z

Support the remote devices on the remote processor via the RPMSG bus on
i.MX platform.

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

Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Arnaud POULIQUEN <arnaud.pouliquen@foss.st.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org

Shenwei Wang (5):
dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support
remoteproc: imx_rproc: Populate devices under "rpmsg" subnode
docs: staging: gpio-rpmsg: gpio over rpmsg bus
gpio: imx-rpmsg: add imx-rpmsg GPIO driver
arm64: dts: imx8ulp: Add rpmsg node under imx_rproc

.../bindings/remoteproc/fsl,imx-rproc.yaml | 123 +++++
Documentation/staging/gpio-rpmsg.rst | 202 ++++++++
Documentation/staging/index.rst | 1 +
arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 27 +
drivers/gpio/Kconfig | 17 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-imx-rpmsg.c | 475 ++++++++++++++++++
drivers/remoteproc/imx_rproc.c | 146 ++++++
include/linux/rpmsg/imx_rpmsg.h | 48 ++
9 files changed, 1040 insertions(+)
create mode 100644 Documentation/staging/gpio-rpmsg.rst
create mode 100644 drivers/gpio/gpio-imx-rpmsg.c
create mode 100644 include/linux/rpmsg/imx_rpmsg.h

--
2.43.0