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