diff mbox series

[12/14] dt-bindings: perf: arm-cmn: Add CI-700

Message ID 5f0b372f808f1468e6d9500cedafbecd10254674.1638530442.git.robin.murphy@arm.com
State Not Applicable, archived
Headers show
Series None | expand

Checks

Context Check Description
robh/checkpatch success
robh/dtbs-check success
robh/dt-meta-schema success

Commit Message

Robin Murphy Dec. 3, 2021, 11:45 a.m. UTC
CI-700 is a new client-level coherent interconnect derived from
the enterprise-level CMN family, and shares the same PMU design.

CC: devicetree@vger.kernel.org
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 .../devicetree/bindings/perf/arm,cmn.yaml     | 21 ++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

Comments

Rob Herring (Arm) Dec. 3, 2021, 11:34 p.m. UTC | #1
On Fri, Dec 3, 2021 at 5:45 AM Robin Murphy <robin.murphy@arm.com> wrote:
>
> CI-700 is a new client-level coherent interconnect derived from
> the enterprise-level CMN family, and shares the same PMU design.
>
> CC: devicetree@vger.kernel.org
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
>  .../devicetree/bindings/perf/arm,cmn.yaml     | 21 ++++++++++++++-----
>  1 file changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/perf/arm,cmn.yaml b/Documentation/devicetree/bindings/perf/arm,cmn.yaml
> index 42424ccbdd0c..2d4219ec7eda 100644
> --- a/Documentation/devicetree/bindings/perf/arm,cmn.yaml
> +++ b/Documentation/devicetree/bindings/perf/arm,cmn.yaml
> @@ -12,12 +12,14 @@ maintainers:
>
>  properties:
>    compatible:
> -    const: arm,cmn-600
> +    enum:
> +      - arm,cmn-600
> +      - arm,ci-700
>
>    reg:
>      items:
>        - description: Physical address of the base (PERIPHBASE) and
> -          size (up to 64MB) of the configuration address space.
> +          size of the configuration address space.
>
>    interrupts:
>      minItems: 1
> @@ -31,14 +33,23 @@ properties:
>
>    arm,root-node:
>      $ref: /schemas/types.yaml#/definitions/uint32
> -    description: Offset from PERIPHBASE of the configuration
> -      discovery node (see TRM definition of ROOTNODEBASE).
> +    description: Offset from PERIPHBASE of CMN-600's configuration
> +      discovery node (see TRM definition of ROOTNODEBASE). Not
> +      relevant for newer CMN/CI products.
>
>  required:
>    - compatible
>    - reg
>    - interrupts
> -  - arm,root-node
> +
> +if:
> +  properties:
> +    compatible:
> +      contains:
> +        const: arm,cmn-600
> +then:
> +  required:
> +    - arm,root-node

If you want to disallow arm,root-node as the description above suggests:

else:
  properties:
    arm,root-node: false

Otherwise,

Reviewed-by: Rob Herring <robh@kernel.org>

>
>  additionalProperties: false

>
> --
> 2.28.0.dirty
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/perf/arm,cmn.yaml b/Documentation/devicetree/bindings/perf/arm,cmn.yaml
index 42424ccbdd0c..2d4219ec7eda 100644
--- a/Documentation/devicetree/bindings/perf/arm,cmn.yaml
+++ b/Documentation/devicetree/bindings/perf/arm,cmn.yaml
@@ -12,12 +12,14 @@  maintainers:
 
 properties:
   compatible:
-    const: arm,cmn-600
+    enum:
+      - arm,cmn-600
+      - arm,ci-700
 
   reg:
     items:
       - description: Physical address of the base (PERIPHBASE) and
-          size (up to 64MB) of the configuration address space.
+          size of the configuration address space.
 
   interrupts:
     minItems: 1
@@ -31,14 +33,23 @@  properties:
 
   arm,root-node:
     $ref: /schemas/types.yaml#/definitions/uint32
-    description: Offset from PERIPHBASE of the configuration
-      discovery node (see TRM definition of ROOTNODEBASE).
+    description: Offset from PERIPHBASE of CMN-600's configuration
+      discovery node (see TRM definition of ROOTNODEBASE). Not
+      relevant for newer CMN/CI products.
 
 required:
   - compatible
   - reg
   - interrupts
-  - arm,root-node
+
+if:
+  properties:
+    compatible:
+      contains:
+        const: arm,cmn-600
+then:
+  required:
+    - arm,root-node
 
 additionalProperties: false