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