[PATCH 3/4] gpio: imx-rpmsg: add imx-rpmsg GPIO driver

Shenwei Wang shenwei.wang at nxp.com
Mon Sep 1 10:22:47 PDT 2025



> -----Original Message-----
> From: Arnaud POULIQUEN <arnaud.pouliquen at foss.st.com>
> Sent: Monday, September 1, 2025 2:27 AM
> To: Linus Walleij <linus.walleij at linaro.org>; Shenwei Wang
> <shenwei.wang at nxp.com>; Bjorn Andersson <andersson at kernel.org>; Mathieu
> Poirier <mathieu.poirier at linaro.org>
> Cc: Rob Herring <robh at kernel.org>; Krzysztof Kozlowski <krzk+dt at kernel.org>;
> Conor Dooley <conor+dt at kernel.org>; Shawn Guo <shawnguo at kernel.org>;
> Sascha Hauer <s.hauer at pengutronix.de>; Bartosz Golaszewski <brgl at bgdev.pl>;
> Pengutronix Kernel Team <kernel at pengutronix.de>; Fabio Estevam
> <festevam at gmail.com>; Peng Fan <peng.fan at nxp.com>; linux-
> remoteproc at vger.kernel.org; devicetree at vger.kernel.org; imx at lists.linux.dev;
> linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org; dl-linux-imx
> <linux-imx at nxp.com>
> Subject: [EXT] Re: [PATCH 3/4] gpio: imx-rpmsg: add imx-rpmsg GPIO driver
> 
> 
> Hello,
> 
> On 8/21/25 11:01, Linus Walleij wrote:
> > Hi Shenwei,
> >
> > thanks for your patch!
> >
> > On Mon, Aug 18, 2025 at 10:45 PM Shenwei Wang <shenwei.wang at nxp.com>
> wrote:
> >
> >> On i.MX SoCs, the system may include two processors:
> >>          - An MCU running an RTOS
> >>          - An MPU running Linux
> >>
> >> These processors communicate via the RPMSG protocol.
> >> The driver implements the standard GPIO interface, allowing the Linux
> >> side to control GPIO controllers which reside in the remote processor
> >> via RPMSG protocol.
> >>
> >> Signed-off-by: Shenwei Wang <shenwei.wang at nxp.com>
> > Since this is a first RPMSG GPIO driver, I'd like if Björn and/or
> > Mathieu have a look at it so I'm sure it is RPMSG-proper!
> 
> Could this driver be generic (platform independent) ?
> Perhaps i missed something, but it seems to me that there is no IMX specific
> code.
> Making it generic would allow other platforms to reuse it instead of duplicating it.
> 

The driver uses the RPMSG channel just as a transport layer, so the implementation is actually
platform-independent. However, it requires the remote side to implement the same communication 
protocol and behavior for the GPIO controller.

Thanks,
Shenwei

> Thanks,
> Arnaud
> 
> >
> >> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index
> >> a437fe652dbc..2ce4e9b5225e 100644
> >> --- a/drivers/gpio/Kconfig
> >> +++ b/drivers/gpio/Kconfig
> >> @@ -402,6 +402,17 @@ config GPIO_ICH
> >>
> >>            If unsure, say N.
> >>
> >> +config GPIO_IMX_RPMSG
> >> +       tristate "NXP i.MX SoC RPMSG GPIO support"
> >> +       depends on IMX_REMOTEPROC && RPMSG && GPIOLIB
> >> +       default IMX_REMOTEPROC
> >> +       help
> >> +         Say yes here to support the RPMSG GPIO functions on i.MX SoC based
> >> +         platform.  Currently supported devices: i.MX7ULP, i.MX8ULP, i.MX8x,
> >> +         and i.MX9x.
> >> +
> >> +         If unsure, say N.


More information about the linux-arm-kernel mailing list