blob: f725e6940993e97aedd45e4db3af31bd7e56fa23 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2# Copyright 2021, Arm Ltd
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/arm/arm,embedded-trace-extension.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: ARM Embedded Trace Extensions
9
10maintainers:
11 - Suzuki K Poulose <suzuki.poulose@arm.com>
12 - Mathieu Poirier <mathieu.poirier@linaro.org>
13
14description: |
15 Arm Embedded Trace Extension(ETE) is a per CPU trace component that
16 allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
17 architecture and has extended support for future architecture changes.
18 The trace generated by the ETE could be stored via legacy CoreSight
19 components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
20 Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
21 legacy CoreSight components, a node must be listed per instance, along
22 with any optional connection graph as per the coresight bindings.
23
24properties:
25 $nodename:
26 pattern: "^ete([0-9a-f]+)$"
27 compatible:
28 items:
29 - const: arm,embedded-trace-extension
30
31 cpu:
32 description: |
33 Handle to the cpu this ETE is bound to.
34 $ref: /schemas/types.yaml#/definitions/phandle
35
36 power-domains:
37 maxItems: 1
38
39 out-ports:
40 description: |
41 Output connections from the ETE to legacy CoreSight trace bus.
42 $ref: /schemas/graph.yaml#/properties/ports
43 properties:
44 port:
45 description: Output connection from the ETE to legacy CoreSight Trace bus.
46 $ref: /schemas/graph.yaml#/properties/port
47
48required:
49 - compatible
50 - cpu
51
52additionalProperties: false
53
54examples:
55
56# An ETE node without legacy CoreSight connections
57 - |
58 ete0 {
59 compatible = "arm,embedded-trace-extension";
60 cpu = <&cpu_0>;
61 };
62# An ETE node with legacy CoreSight connections
63 - |
64 ete1 {
65 compatible = "arm,embedded-trace-extension";
66 cpu = <&cpu_1>;
67
68 out-ports { /* legacy coresight connection */
69 port {
70 ete1_out_port: endpoint {
71 remote-endpoint = <&funnel_in_port0>;
72 };
73 };
74 };
75 };
76
77...