[PATCH v5 1/5] dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support

Shenwei Wang shenwei.wang at nxp.com
Wed Nov 12 07:36:19 PST 2025



> -----Original Message-----
> From: Rob Herring <robh at kernel.org>
> Sent: Wednesday, November 12, 2025 6:53 AM
> To: Shenwei Wang <shenwei.wang at nxp.com>
> Cc: Bjorn Andersson <andersson at kernel.org>; Mathieu Poirier
> <mathieu.poirier at linaro.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>; Jonathan Corbet <corbet at lwn.net>; Linus
> Walleij <linus.walleij at linaro.org>; 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; linux-
> doc at vger.kernel.org; dl-linux-imx <linux-imx at nxp.com>
> Subject: [EXT] Re: [PATCH v5 1/5] dt-bindings: remoteproc: imx_rproc: Add
> "rpmsg" subnode support
> > +        patternProperties:
> > +          "gpio@[0-9a-f]+$":
> > +            type: object
> > +            unevaluatedProperties: false
> > +            properties:
> > +              compatible:
> > +                enum:
> > +                  - fsl,imx-rpmsg-gpio
> > +
> > +              reg:
> > +                maxItems: 1
> 
> I still don't understand what the numbers for 'reg' mean here. You explained it
> and I still don't understand. In any case, it needs to be explained in the schema.
> 
> For example, why do GPIO and I2C each have their own number space?
> 

Hi Rob,

The reg property represents the index of the GPIO controllers. Since the driver manages controllers 
on a remote system, this index tells the remote system which controller to operate.

For example, if the remote system has four GPIO controllers but only allocates two (indices 0 and 2) 
to Linux, the DTS might look like this:

          gpio at 0 {
            compatible = "fsl,imx-rpmsg-gpio";
            reg = <0>;
          };

          gpio at 2 {
            compatible = "fsl,imx-rpmsg-gpio";
            reg = <2>;
          }

Similarly, I²C numbers are mapped to their corresponding remote controllers in the same way. That's why
each has their own number space.

Thanks,
Shenwei

> > +
> > +              "#gpio-cells":
> > +                const: 2
> > +
> > +              gpio-controller: true



More information about the linux-arm-kernel mailing list