From: Laurentiu Mihalcea <[email protected]> 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/[email protected]/ [1] Link: https://lore.kernel.org/imx/alexXTYQHUs76J7v@SMW015318/T/#mb9dc709ff3adc24d9db6d30c973f37b580f6f1f9 [2] Signed-off-by: Laurentiu Mihalcea <[email protected]> Signed-off-by: Frank Li <[email protected]> --- 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])+$" + - 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

