On Fri, Aug 30, 2024 at 09:03:50AM +0200, Jens Wiklander wrote:
From: Olivier Masse olivier.masse@nxp.com
DMABUF reserved memory definition for OP-TEE secure data path feature.
Signed-off-by: Olivier Masse olivier.masse@nxp.com Signed-off-by: Jens Wiklander jens.wiklander@linaro.org
.../linaro,restricted-heap.yaml | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/reserved-memory/linaro,restricted-heap.yaml
diff --git a/Documentation/devicetree/bindings/reserved-memory/linaro,restricted-heap.yaml b/Documentation/devicetree/bindings/reserved-memory/linaro,restricted-heap.yaml new file mode 100644 index 000000000000..0ab87cf02775 --- /dev/null +++ b/Documentation/devicetree/bindings/reserved-memory/linaro,restricted-heap.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/reserved-memory/linaro,restricted-heap.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Linaro Secure DMABUF Heap
+maintainers:
- Olivier Masse olivier.masse@nxp.com
+description:
- Linaro OP-TEE firmware needs a reserved memory for the
- Secure Data Path feature (aka SDP).
- The purpose is to provide a restricted memory heap which allow
- the normal world OS (REE) to allocate/free restricted buffers.
- The TEE is reponsible for protecting the SDP memory buffers.
- TEE Trusted Application can access restricted memory references
- provided as parameters (DMABUF file descriptor).
And what is the difference from regular reserved memory? Why it cannot be used?
+allOf:
- $ref: "reserved-memory.yaml"
It does not look like you tested the bindings, at least after quick look. Please run (see Documentation/devicetree/bindings/writing-schema.rst for instructions). Maybe you need to update your dtschema and yamllint.
+properties:
- compatible:
- const: linaro,restricted-heap
- reg:
- description:
Region of memory reserved for OP-TEE SDP feature
- no-map:
- $ref: /schemas/types.yaml#/definitions/flag
- description:
Avoid creating a virtual mapping of the region as part of the OS'
standard mapping of system memory.
+unevaluatedProperties: false
This goes after "required:" block.
+required:
- compatible
- reg
- no-map
+examples:
- |
- reserved-memory {
- #address-cells = <2>;
- #size-cells = <2>;
- sdp@3e800000 {
compatible = "linaro,restricted-heap";
no-map;
reg = <0 0x3E800000 0 0x00400000>;
lowercase hex
Best regards, Krzysztof