diff mbox series

[v4,1/7] dt-bindings: Arm: Add Firmware Framework for Armv8-A (FF-A) binding

Message ID 20210212154614.38604-2-sudeep.holla@arm.com
State Superseded
Headers show
Series firmware: Add initial support for Arm FF-A | expand

Commit Message

Sudeep Holla Feb. 12, 2021, 3:46 p.m. UTC
Since the FF-A v1.0 specification doesn't list the UUID of all the
partitions in the discovery API, we need to specify the UUID of the
partitions that need to be accessed by drivers within the kernel.

This binding to provide the list of partitions that kernel drivers
may need to access.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

---
 .../devicetree/bindings/arm/arm,ffa.yaml      | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/arm,ffa.yaml

Hi Rob,

Sorry to send the same version again just to keep the driver review progress.
I am still exploring on how to add "format: uuid" support in the dt-schemas.
I am seeing errors as format is used in some of the audio/video DT bindings.
I get errors for all those files, may be I need to use $format, initial
trial to do that also failed.

Regarding other comment, I had replied earlier[1] as why we need to keep
separate DT nodes for each partitions.

[1] https://lore.kernel.org/linux-arm-kernel/20210113100011.bnn75jogx22cgkk4@bogus/

Regards,
Sudeep


-- 
2.25.1

Comments

Rob Herring March 5, 2021, 8:38 p.m. UTC | #1
On Fri, Feb 12, 2021 at 03:46:08PM +0000, Sudeep Holla wrote:
> Since the FF-A v1.0 specification doesn't list the UUID of all the

> partitions in the discovery API, we need to specify the UUID of the

> partitions that need to be accessed by drivers within the kernel.

> 

> This binding to provide the list of partitions that kernel drivers

> may need to access.

> 

> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

> ---

>  .../devicetree/bindings/arm/arm,ffa.yaml      | 58 +++++++++++++++++++

>  1 file changed, 58 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/arm/arm,ffa.yaml

> 

> Hi Rob,

> 

> Sorry to send the same version again just to keep the driver review progress.

> I am still exploring on how to add "format: uuid" support in the dt-schemas.

> I am seeing errors as format is used in some of the audio/video DT bindings.

> I get errors for all those files, may be I need to use $format, initial

> trial to do that also failed.


Other bindings shouldn't affect you. The meta-schema and maybe the 
fixups are probably the issue. It's something I need to fix.


> Regarding other comment, I had replied earlier[1] as why we need to keep

> separate DT nodes for each partitions.


That's fine. It's the other users like TF-A that I'm now more concerned 
about...

> [1] https://lore.kernel.org/linux-arm-kernel/20210113100011.bnn75jogx22cgkk4@bogus/

> 

> Regards,

> Sudeep

> 

> 

> diff --git a/Documentation/devicetree/bindings/arm/arm,ffa.yaml b/Documentation/devicetree/bindings/arm/arm,ffa.yaml

> new file mode 100644

> index 000000000000..a014a5801c34

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/arm/arm,ffa.yaml

> @@ -0,0 +1,58 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/arm/arm,ffa.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Arm Firmware Framework for Arm v8-A (in-kernel users)

> +

> +maintainers:

> +  - Sudeep Holla <sudeep.holla@arm.com>

> +

> +description: |

> +  Firmware frameworks implementing partition according to the FF-A

> +  specification defined by ARM document number ARM DEN 0077A ("Arm Firmware

> +  Framework for Arm v8-A") [0], providing services to be used by other

> +  partitions.

> +

> +  [0] https://developer.arm.com/docs/den0077/latest

> +

> +properties:

> +  $nodename:

> +    const: ffa

> +

> +  compatible:

> +    oneOf:

> +      - const: arm,ffa-1.0

> +

> +patternProperties:

> +  "^ffa_partition[0-9]+$":


'^ffa-partition-[0-9a-f]+$'

> +    type: object

> +    description: One or more child nodes, each describing an FFA partition.

> +    properties:

> +      $nodename:

> +        const: ffa_partition

> +

> +      compatible:

> +        oneOf:


Don't need oneOf.

> +          - const: arm,ffa-1.0-partition

> +

> +      uuid:

> +        $ref: '/schemas/types.yaml#definitions/string'

> +        description: |

> +          The 128-bit UUID [2] of the service implemented by this partition.

> +

> +          [2] https://tools.ietf.org/html/rfc4122

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    ffa {

> +      compatible = "arm,ffa-1.0";

> +

> +      ffa_partition0 {

> +        compatible = "arm,ffa-1.0-partition";

> +        uuid = "12345678-9abc-def0-1234-56789abcdef0";

> +      };

> +    };

> -- 

> 2.25.1

>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/arm,ffa.yaml b/Documentation/devicetree/bindings/arm/arm,ffa.yaml
new file mode 100644
index 000000000000..a014a5801c34
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arm,ffa.yaml
@@ -0,0 +1,58 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/arm,ffa.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Arm Firmware Framework for Arm v8-A (in-kernel users)
+
+maintainers:
+  - Sudeep Holla <sudeep.holla@arm.com>
+
+description: |
+  Firmware frameworks implementing partition according to the FF-A
+  specification defined by ARM document number ARM DEN 0077A ("Arm Firmware
+  Framework for Arm v8-A") [0], providing services to be used by other
+  partitions.
+
+  [0] https://developer.arm.com/docs/den0077/latest
+
+properties:
+  $nodename:
+    const: ffa
+
+  compatible:
+    oneOf:
+      - const: arm,ffa-1.0
+
+patternProperties:
+  "^ffa_partition[0-9]+$":
+    type: object
+    description: One or more child nodes, each describing an FFA partition.
+    properties:
+      $nodename:
+        const: ffa_partition
+
+      compatible:
+        oneOf:
+          - const: arm,ffa-1.0-partition
+
+      uuid:
+        $ref: '/schemas/types.yaml#definitions/string'
+        description: |
+          The 128-bit UUID [2] of the service implemented by this partition.
+
+          [2] https://tools.ietf.org/html/rfc4122
+
+additionalProperties: false
+
+examples:
+  - |
+    ffa {
+      compatible = "arm,ffa-1.0";
+
+      ffa_partition0 {
+        compatible = "arm,ffa-1.0-partition";
+        uuid = "12345678-9abc-def0-1234-56789abcdef0";
+      };
+    };