This adds DT bindings for ARM's FFA framework. The bindings are used to provide a reserved memory region per FFA device. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> --- .../devicetree/bindings/firmware/arm,ffa.yaml | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Documentation/devicetree/bindings/firmware/arm,ffa.yaml diff --git a/Documentation/devicetree/bindings/firmware/arm,ffa.yaml b/Documentation/devicetree/bindings/firmware/arm,ffa.yaml new file mode 100644 index 000000000000..b88d6cec7e16 --- /dev/null +++ b/Documentation/devicetree/bindings/firmware/arm,ffa.yaml @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2021 ARM Ltd. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/firmware/arm,ffa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Arm Firmware Framework for A-class + +maintainers: + - Viresh Kumar <viresh.kumar@xxxxxxxxxx> + +description: | + ARM FFA (Arm Firmware Framework for A-class) is a framework designed to + facilitate communication and resource sharing between various software + components in an Arm system, such as operating systems, hypervisors, and + trusted execution environments (TEEs). It's particularly used in systems + leveraging the Armv8-A architecture and later. + + This binding is intended to define the interface the firmware implementing the + FFA provide in the device tree. + + https://developer.arm.com/documentation/den0077/ + +properties: + $nodename: + pattern: '^ffa(-[a-z0-9]+)?$' + + compatible: + const: arm,ffa + + vm-id: + description: Virtual machine identifier. + $ref: /schemas/types.yaml#/definitions/uint32 + + uuid: + description: Universally Unique Identifier. + $ref: /schemas/types.yaml#/definitions/uint32-matrix + minItems: 4 + maxItems: 4 + + memory-region: + maxItems: 1 + description: + Reserved memory allocated for sharing with other software components. + +additionalProperties: false + +required: + - compatible + - vm-id + - uuid + +examples: + - | + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + ffa_2_mem: ffamem@81000000 { + compatible = "restricted-dma-pool"; + reg = <0x81000000 0x00800000>; + }; + }; + + firmware { + ffa { + compatible = "arm,ffa"; + vm-id = <2>; + uuid = <0xc5b82091 0x48bbd4fe 0x244de7b7 0xbe28bb6e>; + memory-region = <&ffa_2_mem>; + }; + }; +... -- 2.31.1.272.g89b43f80a514