From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Shenwei Wang <shenwei.wang@nxp.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Jonathan Corbet <corbet@lwn.net>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>, Peng Fan <peng.fan@nxp.com>,
linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-imx@nxp.com, Randy Dunlap <rdunlap@infradead.org>,
Andrew Lunn <andrew@lunn.ch>,
Arnaud POULIQUEN <arnaud.pouliquen@foss.st.com>,
linux-gpio@vger.kernel.org
Subject: Re: [PATCH v5 0/5] Enable Remote GPIO over RPMSG on i.MX Platform
Date: Wed, 3 Dec 2025 12:09:37 -0700 [thread overview]
Message-ID: <aTCK8e1SJA7Uh3wL@p14s> (raw)
In-Reply-To: <20251104203315.85706-1-shenwei.wang@nxp.com>
On Tue, Nov 04, 2025 at 02:33:10PM -0600, Shenwei Wang wrote:
> 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
>
After reviewing this patchset I come to the following conclusion:
(1) Other people have pointed this out multiple time and I will do the same: the
only way this work will move forward is by adopting a generic solution. This
proposal is not (no need to try to convince me otherwise).
(2) The right way to do this would be to have a separate set of virtqueues for
each component that sits behind the remoteproc, instantiated using the content
found in the resource table. This would follow the same approach as the
namespace, with their own VIRTIO IDS as published in [1]. That way we could
re-use a lot of the work already done for other components, such as virtio-i2c
and virtio-gpio.
(3) Some environment may be too memory constrained for option (2) above, hence
using rpmsg as a transport protocol. But as with option (2), that way also
needs to look like virtio devices to the kernel. It also means that protocol
to interact with components need to follow the OASIS specification. As such
you'd have platform drivers for rpmsg-i2c and rpmsg-gpio that would register
rpmsg_drivers.
I don't mind which approach is taken as they both represent the same amount of
work. Lastly, your next patchset should contain an implementation for GPIO or
I2C, not both.
Thanks,
Mathieu
[1]. https://elixir.bootlin.com/linux/v6.18-rc7/source/include/uapi/linux/virtio_ids.h#L38
> --
> 2.43.0
>
prev parent reply other threads:[~2025-12-03 19:09 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-04 20:33 [PATCH v5 0/5] Enable Remote GPIO over RPMSG on i.MX Platform Shenwei Wang
2025-11-04 20:33 ` [PATCH v5 1/5] dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support Shenwei Wang
2025-11-06 18:18 ` Andrew Lunn
2025-11-12 12:53 ` Rob Herring
2025-11-12 15:36 ` Shenwei Wang
2025-11-04 20:33 ` [PATCH v5 2/5] remoteproc: imx_rproc: Populate devices under "rpmsg" subnode Shenwei Wang
2025-11-06 7:56 ` Peng Fan
2025-11-06 18:23 ` Andrew Lunn
2025-11-25 17:04 ` Mathieu Poirier
2025-11-26 22:43 ` Shenwei Wang
2025-11-26 18:53 ` Mathieu Poirier
2025-11-26 21:46 ` Shenwei Wang
2025-11-27 16:23 ` Mathieu Poirier
2025-12-01 15:50 ` Shenwei Wang
2025-11-04 20:33 ` [PATCH v5 3/5] docs: staging: gpio-rpmsg: gpio over rpmsg bus Shenwei Wang
2025-11-06 19:05 ` Andrew Lunn
2025-11-06 20:40 ` Shenwei Wang
2025-11-06 21:32 ` Andrew Lunn
2025-11-06 23:13 ` Shenwei Wang
2025-11-07 0:31 ` Andrew Lunn
2025-11-07 21:24 ` Shenwei Wang
2025-11-08 17:45 ` Andrew Lunn
2025-11-10 15:24 ` Shenwei Wang
2025-11-10 15:59 ` Andrew Lunn
2025-11-10 16:30 ` Shenwei Wang
2025-11-10 17:58 ` Andrew Lunn
2025-11-11 10:35 ` Linus Walleij
2025-11-11 16:45 ` Shenwei Wang
2025-11-12 13:41 ` Andrew Lunn
2025-11-12 16:31 ` Shenwei Wang
2025-11-14 17:39 ` Andrew Lunn
2025-11-12 12:57 ` Rob Herring
2025-11-12 13:35 ` Daniel Baluta
2025-11-12 21:18 ` Randy Dunlap
2025-11-13 22:23 ` Shenwei Wang
2025-11-13 22:34 ` Randy Dunlap
2025-11-04 20:33 ` [PATCH v5 4/5] gpio: imx-rpmsg: add imx-rpmsg GPIO driver Shenwei Wang
2025-11-06 8:12 ` Peng Fan
2025-11-06 12:31 ` Zhongqiu Han
2025-11-06 17:00 ` Shenwei Wang
2025-11-04 20:33 ` [PATCH v5 5/5] arm64: dts: imx8ulp: Add rpmsg node under imx_rproc Shenwei Wang
2025-11-05 1:12 ` [PATCH v5 0/5] Enable Remote GPIO over RPMSG on i.MX Platform Peng Fan
2025-11-05 10:25 ` Arnaud POULIQUEN
2025-11-05 14:12 ` Shenwei Wang
2025-11-06 10:17 ` Arnaud POULIQUEN
2025-11-06 16:26 ` Shenwei Wang
2025-11-07 17:17 ` Arnaud POULIQUEN
2025-11-07 17:27 ` Andrew Lunn
2025-11-07 22:40 ` Shenwei Wang
2025-11-24 17:06 ` Mathieu Poirier
2025-12-03 19:09 ` Mathieu Poirier [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aTCK8e1SJA7Uh3wL@p14s \
--to=mathieu.poirier@linaro.org \
--cc=andersson@kernel.org \
--cc=andrew@lunn.ch \
--cc=arnaud.pouliquen@foss.st.com \
--cc=brgl@bgdev.pl \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=peng.fan@nxp.com \
--cc=rdunlap@infradead.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=shenwei.wang@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).