[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250818204420.794554-2-shenwei.wang@nxp.com>
Date: Mon, 18 Aug 2025 15:44:17 -0500
From: Shenwei Wang <shenwei.wang@....com>
To: Bjorn Andersson <andersson@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>
Cc: Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Shenwei Wang <shenwei.wang@....com>,
Peng Fan <peng.fan@....com>,
linux-remoteproc@...r.kernel.org,
devicetree@...r.kernel.org,
imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
linux-imx@....com
Subject: [PATCH 1/4] dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support
Remote processors may announce multiple devices (e.g., I2C, GPIO) over
an RPMSG channel. These devices may require corresponding device tree
nodes, especially when acting as providers, to supply phandles for their
consumers.
Define an RPMSG node to work as a container for a group of RPMSG channels
under the imx_rproc node.
Each subnode within "rpmsg" represents an individual RPMSG channel. The
name of each subnode corresponds to the channel name as defined by the
remote processor.
All remote devices associated with a given channel are defined as child
nodes under the corresponding channel node.
Signed-off-by: Shenwei Wang <shenwei.wang@....com>
---
.../bindings/remoteproc/fsl,imx-rproc.yaml | 117 ++++++++++++++++++
1 file changed, 117 insertions(+)
diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
index 57d75acb0b5e..a105aac798d0 100644
--- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
@@ -84,6 +84,86 @@ properties:
This property is to specify the resource id of the remote processor in SoC
which supports SCFW
+ rpmsg:
+ type: object
+ additionalProperties: false
+ description:
+ Present a group of RPMSG channel devices.
+
+ properties:
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ rpmsg-io-channel:
+ type: object
+ unevaluatedProperties: false
+ properties:
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ patternProperties:
+ "gpio@[0-9a-f]+$":
+ type: object
+ unevaluatedProperties: false
+ properties:
+ compatible:
+ enum:
+ - fsl,imx-rpmsg-gpio
+
+ reg:
+ maxItems: 1
+
+ required:
+ - compatible
+ - reg
+
+ allOf:
+ - $ref: /schemas/gpio/gpio.yaml#
+ - $ref: /schemas/interrupt-controller.yaml#
+
+ required:
+ - '#address-cells'
+ - '#size-cells'
+
+ rpmsg-i2c-channel:
+ type: object
+ unevaluatedProperties: false
+ properties:
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ patternProperties:
+ "i2c@[0-9a-f]+$":
+ type: object
+ unevaluatedProperties: false
+ properties:
+ compatible:
+ enum:
+ - fsl,imx-rpmsg-i2c
+
+ reg:
+ maxItems: 1
+
+ required:
+ - compatible
+ - reg
+
+ allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+ required:
+ - '#address-cells'
+ - '#size-cells'
+
required:
- compatible
@@ -146,5 +226,42 @@ examples:
&mu 3 1>;
memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
syscon = <&src>;
+
+ rpmsg {
+ rpmsg-io-channel {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio@0 {
+ compatible = "fsl,imx-rpmsg-gpio";
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&rpmsg_gpioa>;
+ };
+
+ gpio@1 {
+ compatible = "fsl,imx-rpmsg-gpio";
+ reg = <1>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&rpmsg_gpiob>;
+ };
+ };
+
+ rpmsg-i2c-channel {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ compatible = "fsl,imx-rpmsg-i2c";
+ reg = <0>;
+ };
+ };
+ };
};
...
--
2.43.0
Powered by blists - more mailing lists