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