Re: [PATCH v6 0/5] Enable Remote GPIO over RPMSG on i.MX Platform
From: Shenwei Wang <shenwei.wang@nxp.com>
Date: 2026-02-07 21:08:14
Also in:
imx, linux-devicetree, linux-doc, linux-gpio, linux-remoteproc, lkml
-----Original Message----- From: Mathieu Poirier <mathieu.poirier@linaro.org> Sent: Wednesday, January 14, 2026 11:09 AM To: Shenwei Wang <shenwei.wang@nxp.com> Cc: Linus Walleij <linusw@kernel.org>; Bartosz Golaszewski <brgl@kernel.org>; Rob Herring [off-list ref]; Krzysztof Kozlowski [off-list ref]; Conor Dooley [off-list ref]; Bjorn Andersson On Fri, Dec 12, 2025 at 01:43:36PM -0600, Shenwei Wang wrote:quoted
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 infoNAK - 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
quoted
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