xref: /linux/Documentation/devicetree/bindings/perf/arm,cmn.yaml (revision 114143a595895c03fbefccfd8346fc51fb4908ed)
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
172b60a22bSRobin Murphy      - arm,cmn-650
182b60a22bSRobin Murphy      - arm,cmn-700
19*a87ef537SRobin Murphy      - arm,cmn-s3
20e3106447SRobin Murphy      - arm,ci-700
21c8fdbbfaSRobin Murphy
22c8fdbbfaSRobin Murphy  reg:
23c8fdbbfaSRobin Murphy    items:
24c8fdbbfaSRobin Murphy      - description: Physical address of the base (PERIPHBASE) and
25e3106447SRobin Murphy          size of the configuration address space.
26c8fdbbfaSRobin Murphy
27c8fdbbfaSRobin Murphy  interrupts:
28c8fdbbfaSRobin Murphy    minItems: 1
29c8fdbbfaSRobin Murphy    items:
30c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC0
31c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC1
32c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC2
33c8fdbbfaSRobin Murphy      - description: Overflow interrupt for DTC3
34c8fdbbfaSRobin Murphy    description: One interrupt for each DTC domain implemented must
35c8fdbbfaSRobin Murphy      be specified, in order. DTC0 is always present.
36c8fdbbfaSRobin Murphy
37c8fdbbfaSRobin Murphy  arm,root-node:
38c8fdbbfaSRobin Murphy    $ref: /schemas/types.yaml#/definitions/uint32
39e3106447SRobin Murphy    description: Offset from PERIPHBASE of CMN-600's configuration
40e3106447SRobin Murphy      discovery node (see TRM definition of ROOTNODEBASE). Not
41e3106447SRobin Murphy      relevant for newer CMN/CI products.
42c8fdbbfaSRobin Murphy
43c8fdbbfaSRobin Murphyrequired:
44c8fdbbfaSRobin Murphy  - compatible
45c8fdbbfaSRobin Murphy  - reg
46c8fdbbfaSRobin Murphy  - interrupts
47e3106447SRobin Murphy
48e3106447SRobin Murphyif:
49e3106447SRobin Murphy  properties:
50e3106447SRobin Murphy    compatible:
51e3106447SRobin Murphy      contains:
52e3106447SRobin Murphy        const: arm,cmn-600
53e3106447SRobin Murphythen:
54e3106447SRobin Murphy  required:
55c8fdbbfaSRobin Murphy    - arm,root-node
56c8fdbbfaSRobin Murphy
57c8fdbbfaSRobin MurphyadditionalProperties: false
58c8fdbbfaSRobin Murphy
59c8fdbbfaSRobin Murphyexamples:
60c8fdbbfaSRobin Murphy  - |
61c8fdbbfaSRobin Murphy    #include <dt-bindings/interrupt-controller/arm-gic.h>
62c8fdbbfaSRobin Murphy    #include <dt-bindings/interrupt-controller/irq.h>
63c8fdbbfaSRobin Murphy    pmu@50000000 {
64c8fdbbfaSRobin Murphy        compatible = "arm,cmn-600";
65c8fdbbfaSRobin Murphy        reg = <0x50000000 0x4000000>;
66c8fdbbfaSRobin Murphy        /* 4x2 mesh with one DTC, and CFG node at 0,1,1,0 */
67c8fdbbfaSRobin Murphy        interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
68c8fdbbfaSRobin Murphy        arm,root-node = <0x104000>;
69c8fdbbfaSRobin Murphy    };
70c8fdbbfaSRobin Murphy...
71