dt-bindings: arm: psci: Relax and simplify compatible constraints
authorRob Herring <robh@kernel.org>
Wed, 3 Aug 2022 20:16:38 +0000 (14:16 -0600)
committerRob Herring <robh@kernel.org>
Tue, 16 Aug 2022 16:29:05 +0000 (10:29 -0600)
Even PSCI v1.0 compliant implementations may support v0.1 clients
(i.e. "arm,psci"). Relax the compatible schema such that an
implementation can claim 1.0, 0.2, and 0.1 compatibility.

In the process, the schema can be simplified a bit by using 'minItems'
instead of separate 'oneOf' entries.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220803201639.2552581-1-robh@kernel.org
Documentation/devicetree/bindings/arm/psci.yaml

index dd83ef2..3a2c908 100644 (file)
@@ -43,29 +43,24 @@ properties:
 
       - description:
           For implementations complying to PSCI 0.2.
-        const: arm,psci-0.2
-
-      - description:
-          For implementations complying to PSCI 0.2.
           Function IDs are not required and should be ignored by an OS with
           PSCI 0.2 support, but are permitted to be present for compatibility
           with existing software when "arm,psci" is later in the compatible
           list.
+        minItems: 1
         items:
           - const: arm,psci-0.2
           - const: arm,psci
 
       - description:
           For implementations complying to PSCI 1.0.
-        const: arm,psci-1.0
-
-      - description:
-          For implementations complying to PSCI 1.0.
           PSCI 1.0 is backward compatible with PSCI 0.2 with minor
           specification updates, as defined in the PSCI specification[2].
+        minItems: 1
         items:
           - const: arm,psci-1.0
           - const: arm,psci-0.2
+          - const: arm,psci
 
   method:
     description: The method of calling the PSCI firmware.