1c8fdbbfaSRobin Murphy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c8fdbbfaSRobin Murphy# Copyright 2020 Arm Ltd.
3c8fdbbfaSRobin Murphy%YAML 1.2
4c8fdbbfaSRobin Murphy---
5c8fdbbfaSRobin Murphy$id: http://devicetree.org/schemas/perf/arm,cmn.yaml#
6c8fdbbfaSRobin Murphy$schema: http://devicetree.org/meta-schemas/core.yaml#
7c8fdbbfaSRobin Murphy
8c8fdbbfaSRobin Murphytitle: Arm CMN (Coherent Mesh Network) Performance Monitors
9c8fdbbfaSRobin Murphy
10c8fdbbfaSRobin Murphymaintainers:
11c8fdbbfaSRobin Murphy  - Robin Murphy <robin.murphy@arm.com>
12c8fdbbfaSRobin Murphy
13c8fdbbfaSRobin Murphyproperties:
14c8fdbbfaSRobin Murphy  compatible:
15e3106447SRobin Murphy    enum:
16e3106447SRobin Murphy      - arm,cmn-600
17*2b60a22bSRobin Murphy      - arm,cmn-650
18*2b60a22bSRobin Murphy      - arm,cmn-700
19e3106447SRobin Murphy      - arm,ci-700
20c8fdbbfaSRobin Murphy
21c8fdbbfaSRobin Murphy  reg:
22c8fdbbfaSRobin Murphy    items:
23c8fdbbfaSRobin Murphy      - description: Physical address of the base (PERIPHBASE) and
24e3106447SRobin Murphy          size of the configuration address space.
25c8fdbbfaSRobin Murphy
26c8fdbbfaSRobin Murphy  interrupts:
27c8fdbbfaSRobin Murphy    minItems: 1
28c8fdbbfaSRobin Murphy    items:
29c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC0
30c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC1
31c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC2
32c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC3
33c8fdbbfaSRobin Murphy    description: One interrupt for each DTC domain implemented must
34c8fdbbfaSRobin Murphy      be specified, in order. DTC0 is always present.
35c8fdbbfaSRobin Murphy
36c8fdbbfaSRobin Murphy  arm,root-node:
37c8fdbbfaSRobin Murphy    $ref: /schemas/types.yaml#/definitions/uint32
38e3106447SRobin Murphy    description: Offset from PERIPHBASE of CMN-600's configuration
39e3106447SRobin Murphy      discovery node (see TRM definition of ROOTNODEBASE). Not
40e3106447SRobin Murphy      relevant for newer CMN/CI products.
41c8fdbbfaSRobin Murphy
42c8fdbbfaSRobin Murphyrequired:
43c8fdbbfaSRobin Murphy  - compatible
44c8fdbbfaSRobin Murphy  - reg
45c8fdbbfaSRobin Murphy  - interrupts
46e3106447SRobin Murphy
47e3106447SRobin Murphyif:
48e3106447SRobin Murphy  properties:
49e3106447SRobin Murphy    compatible:
50e3106447SRobin Murphy      contains:
51e3106447SRobin Murphy        const: arm,cmn-600
52e3106447SRobin Murphythen:
53e3106447SRobin Murphy  required:
54c8fdbbfaSRobin Murphy    - arm,root-node
55c8fdbbfaSRobin Murphy
56c8fdbbfaSRobin MurphyadditionalProperties: false
57c8fdbbfaSRobin Murphy
58c8fdbbfaSRobin Murphyexamples:
59c8fdbbfaSRobin Murphy  - |
60c8fdbbfaSRobin Murphy    #include <dt-bindings/interrupt-controller/arm-gic.h>
61c8fdbbfaSRobin Murphy    #include <dt-bindings/interrupt-controller/irq.h>
62c8fdbbfaSRobin Murphy    pmu@50000000 {
63c8fdbbfaSRobin Murphy        compatible = "arm,cmn-600";
64c8fdbbfaSRobin Murphy        reg = <0x50000000 0x4000000>;
65c8fdbbfaSRobin Murphy        /* 4x2 mesh with one DTC, and CFG node at 0,1,1,0 */
66c8fdbbfaSRobin Murphy        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
67c8fdbbfaSRobin Murphy        arm,root-node = <0x104000>;
68c8fdbbfaSRobin Murphy    };
69c8fdbbfaSRobin Murphy...
70