# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
# Copyright 2021, Arm Ltd
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/arm,embedded-trace-extension.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Embedded Trace Extensions

maintainers:
  - Suzuki K Poulose <suzuki.poulose@arm.com>
  - Mathieu Poirier <mathieu.poirier@linaro.org>

description: |
  Arm Embedded Trace Extension(ETE) is a per CPU trace component that
  allows tracing the CPU execution. It overlaps with the CoreSight ETMv4
  architecture and has extended support for future architecture changes.
  The trace generated by the ETE could be stored via legacy CoreSight
  components (e.g, TMC-ETR) or other means (e.g, using a per CPU buffer
  Arm Trace Buffer Extension (TRBE)). Since the ETE can be connected to
  legacy CoreSight components, a node must be listed per instance, along
  with any optional connection graph as per the coresight bindings.

properties:
  $nodename:
    pattern: "^ete([0-9a-f]+)$"
  compatible:
    items:
      - const: arm,embedded-trace-extension

  cpu:
    description: |
      Handle to the cpu this ETE is bound to.
    $ref: /schemas/types.yaml#/definitions/phandle

  power-domains:
    maxItems: 1

  out-ports:
    description: |
      Output connections from the ETE to legacy CoreSight trace bus.
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port:
        description: Output connection from the ETE to legacy CoreSight Trace bus.
        $ref: /schemas/graph.yaml#/properties/port

required:
  - compatible
  - cpu

additionalProperties: false

examples:

# An ETE node without legacy CoreSight connections
  - |
    ete0 {
      compatible = "arm,embedded-trace-extension";
      cpu = <&cpu_0>;
    };
# An ETE node with legacy CoreSight connections
  - |
   ete1 {
      compatible = "arm,embedded-trace-extension";
      cpu = <&cpu_1>;

      out-ports {        /* legacy coresight connection */
         port {
             ete1_out_port: endpoint {
                remote-endpoint = <&funnel_in_port0>;
             };
         };
      };
   };

...
