Re: [PATCH v4 1/4] dt-bindings: remoteproc: imx_rproc: document memory-region-names to avoid hidden ABI

From: Peng Fan

Date: Thu Oct 08 2026 - 23:12:57 EST


On Thu, Sep 17, 2026 at 02:19:42PM -0400, Frank.Li@xxxxxxxxxxx wrote:
>From: Laurentiu Mihalcea <laurentiu.mihalcea@xxxxxxx>
>
>Document the optional memory-region-names property.
> 
>The driver currently derives the memory region type from the referenced
>memory node name, creating a hidden DT ABI. Since memory node names are
>not constrained by the binding, incorrect names can silently pass DT
>validation, as seen in examples using "vdevbuffer" instead of
>"vdev0buffer" ([1] and [2]).
>
>Add memory-region-names to explicitly identify the expected memory regions
>and avoid relying on memory node names as ABI.
>
>Link: https://lore.kernel.org/imx/a3602ef8-2b77-4cc3-adef-2c4cba08a5d9@xxxxxxxxxxxx/ [1]
>Link: https://lore.kernel.org/imx/alexXTYQHUs76J7v@SMW015318/T/#mb9dc709ff3adc24d9db6d30c973f37b580f6f1f9 [2]
>Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@xxxxxxx>
>Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
>---
>Use optional property to keep back compatible with old platform.
>New platform should use memory-region-names.
>---
> .../devicetree/bindings/remoteproc/fsl,imx-rproc.yaml | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
>diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
>index c18f71b648890..5d98d21035f8c 100644
>--- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
>+++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
>@@ -62,6 +62,15 @@ properties:
> minItems: 1
> maxItems: 32
>
>+ memory-region-names:
>+ minItems: 1
>+ maxItems: 32
>+ items:
>+ anyOf:
>+ - const: rsc-table
>+ - pattern: "^vdev[0-9]+(buffer|vring[0-9])+$"

Should be "^vdev[0-9]+(buffer|vring[0-9]+)$"?

Regards
Peng

>+ - pattern: "^m(4|7|33)-reserved(-[a-z0-9-]+)+$"
>+
> power-domains:
> minItems: 2
> maxItems: 8
>@@ -134,6 +143,7 @@ examples:
> imx7d-cm4 {
> compatible = "fsl,imx7d-cm4";
> memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
>+ memory-region-names = "m4-reserved-sysmem1", "m4-reserved-sysmem2";
> syscon = <&src>;
> clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
> };
>@@ -149,6 +159,7 @@ examples:
> &mu 1 1
> &mu 3 1>;
> memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
>+ memory-region-names = "vdev0buffer", "vdev0vring0", "vdev0vring1", "rsc-table";
> syscon = <&src>;
> };
> ...
>
>--
>2.43.0
>
>