File Index
Files and directories
Sign in
FILE

arm,coresight-etm.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/arm/arm,coresight-etm.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/arm/arm,coresight-etm.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Arm CoreSight Embedded Trace MacroCell
  8
  9maintainers:
 10  - Mathieu Poirier <mathieu.poirier@linaro.org>
 11  - Mike Leach <mike.leach@linaro.org>
 12  - Leo Yan <leo.yan@linaro.org>
 13  - Suzuki K Poulose <suzuki.poulose@arm.com>
 14
 15description: |
 16  CoreSight components are compliant with the ARM CoreSight architecture
 17  specification and can be connected in various topologies to suit a particular
 18  SoCs tracing needs. These trace components can generally be classified as
 19  sinks, links and sources. Trace data produced by one or more sources flows
 20  through the intermediate links connecting the source to the currently selected
 21  sink.
 22
 23  The Embedded Trace Macrocell (ETM) is a real-time trace module providing
 24  instruction and data tracing of a processor.
 25
 26select:
 27  properties:
 28    compatible:
 29      contains:
 30        enum:
 31          - arm,coresight-etm3x
 32          - arm,coresight-etm4x
 33          - arm,coresight-etm4x-sysreg
 34  required:
 35    - compatible
 36
 37allOf:
 38  - if:
 39      not:
 40        properties:
 41          compatible:
 42            contains:
 43              const: arm,coresight-etm4x-sysreg
 44    then:
 45      $ref: /schemas/arm/primecell.yaml#
 46      required:
 47        - reg
 48
 49properties:
 50  compatible:
 51    oneOf:
 52      - description:
 53          Embedded Trace Macrocell with memory mapped access.
 54        items:
 55          - enum:
 56              - arm,coresight-etm3x
 57              - arm,coresight-etm4x
 58          - const: arm,primecell
 59      - description:
 60          Embedded Trace Macrocell (version 4.x), with system register access only
 61        const: arm,coresight-etm4x-sysreg
 62
 63  reg:
 64    maxItems: 1
 65
 66  clocks:
 67    minItems: 1
 68    maxItems: 2
 69
 70  clock-names:
 71    minItems: 1
 72    items:
 73      - const: apb_pclk
 74      - const: atclk
 75
 76  power-domains:
 77    maxItems: 1
 78
 79  arm,coresight-loses-context-with-cpu:
 80    type: boolean
 81    description:
 82      Indicates that the hardware will lose register context on CPU power down
 83      (e.g. CPUIdle). An example of where this may be needed are systems which
 84      contain a coresight component and CPU in the same power domain. When the
 85      CPU powers down the coresight component also powers down and loses its
 86      context.
 87
 88  label:
 89    description:
 90      Description of a coresight device.
 91
 92  arm,cp14:
 93    type: boolean
 94    description:
 95      Must be present if the system accesses ETM/PTM management registers via
 96      co-processor 14.
 97
 98  qcom,skip-power-up:
 99    type: boolean
100    description:
101      Indicates that an implementation can skip powering up the trace unit.
102      TRCPDCR.PU does not have to be set on Qualcomm Technologies Inc. systems
103      since ETMs are in the same power domain as their CPU cores. This property
104      is required to identify such systems with hardware errata where the CPU
105      watchdog counter is stopped when TRCPDCR.PU is set.
106
107  cpu:
108    description:
109      phandle to the cpu this ETM is bound to.
110    $ref: /schemas/types.yaml#/definitions/phandle
111
112  out-ports:
113    $ref: /schemas/graph.yaml#/properties/ports
114    additionalProperties: false
115
116    properties:
117      port:
118        description: Output connection from the ETM to CoreSight Trace bus.
119        $ref: /schemas/graph.yaml#/properties/port
120
121required:
122  - compatible
123  - clocks
124  - clock-names
125  - cpu
126  - out-ports
127
128unevaluatedProperties: false
129
130examples:
131  - |
132    ptm@2201c000 {
133        compatible = "arm,coresight-etm3x", "arm,primecell";
134        reg = <0x2201c000 0x1000>;
135
136        cpu = <&cpu0>;
137        clocks = <&oscclk6a>;
138        clock-names = "apb_pclk";
139        out-ports {
140            port {
141                ptm0_out_port: endpoint {
142                    remote-endpoint = <&funnel_in_port0>;
143                };
144            };
145        };
146    };
147
148    ptm@2201d000 {
149        compatible = "arm,coresight-etm3x", "arm,primecell";
150        reg = <0x2201d000 0x1000>;
151
152        cpu = <&cpu1>;
153        clocks = <&oscclk6a>;
154        clock-names = "apb_pclk";
155        out-ports {
156            port {
157                ptm1_out_port: endpoint {
158                    remote-endpoint = <&funnel_in_port1>;
159                };
160            };
161        };
162    };
163...
~/ Read-only file preview.