[PATCH 3/4] gpio: imx-rpmsg: add imx-rpmsg GPIO driver
Arnaud POULIQUEN
arnaud.pouliquen at foss.st.com
Tue Sep 2 05:34:37 PDT 2025
On 9/1/25 19:22, Shenwei Wang wrote:
>
>> -----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.
>
Yes, pending implementation is needed on the remote processor, as is
already the case for the rpmsg_char and
rpmsg_tty Linux drivers. If a generic remote implementation is needed
for this series, then it could be
implemented in the OpenAMP project as done for the rpmsg_tty and
rpmsg_char [1].
The idea here would be to have an equivalent of the virtio-gpio driver
but based on the RPMsg protocol instead of the
virtio one.
[1]
https://github.com/OpenAMP/openamp-system-reference/tree/main/examples/zephyr/rpmsg_multi_services
Thanks,
Arnaud
>
> 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