13c15fddfSRob Herring# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 23c15fddfSRob Herring%YAML 1.2 33c15fddfSRob Herring--- 43c15fddfSRob Herring$id: http://devicetree.org/schemas/arm/arm,coresight-etm.yaml# 53c15fddfSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 63c15fddfSRob Herring 73c15fddfSRob Herringtitle: Arm CoreSight Embedded Trace MacroCell 83c15fddfSRob Herring 93c15fddfSRob Herringmaintainers: 103c15fddfSRob Herring - Mathieu Poirier <mathieu.poirier@linaro.org> 113c15fddfSRob Herring - Mike Leach <mike.leach@linaro.org> 123c15fddfSRob Herring - Leo Yan <leo.yan@linaro.org> 133c15fddfSRob Herring - Suzuki K Poulose <suzuki.poulose@arm.com> 143c15fddfSRob Herring 153c15fddfSRob Herringdescription: | 163c15fddfSRob Herring CoreSight components are compliant with the ARM CoreSight architecture 173c15fddfSRob Herring specification and can be connected in various topologies to suit a particular 183c15fddfSRob Herring SoCs tracing needs. These trace components can generally be classified as 193c15fddfSRob Herring sinks, links and sources. Trace data produced by one or more sources flows 203c15fddfSRob Herring through the intermediate links connecting the source to the currently selected 213c15fddfSRob Herring sink. 223c15fddfSRob Herring 233c15fddfSRob Herring The Embedded Trace Macrocell (ETM) is a real-time trace module providing 243c15fddfSRob Herring instruction and data tracing of a processor. 253c15fddfSRob Herring 263c15fddfSRob Herringselect: 273c15fddfSRob Herring properties: 283c15fddfSRob Herring compatible: 293c15fddfSRob Herring contains: 303c15fddfSRob Herring enum: 313c15fddfSRob Herring - arm,coresight-etm3x 323c15fddfSRob Herring - arm,coresight-etm4x 333c15fddfSRob Herring - arm,coresight-etm4x-sysreg 343c15fddfSRob Herring required: 353c15fddfSRob Herring - compatible 363c15fddfSRob Herring 373c15fddfSRob HerringallOf: 383c15fddfSRob Herring - if: 393c15fddfSRob Herring not: 403c15fddfSRob Herring properties: 413c15fddfSRob Herring compatible: 423c15fddfSRob Herring contains: 433c15fddfSRob Herring const: arm,coresight-etm4x-sysreg 443c15fddfSRob Herring then: 453c15fddfSRob Herring $ref: /schemas/arm/primecell.yaml# 463c15fddfSRob Herring required: 473c15fddfSRob Herring - reg 483c15fddfSRob Herring 493c15fddfSRob Herringproperties: 503c15fddfSRob Herring compatible: 513c15fddfSRob Herring oneOf: 523c15fddfSRob Herring - description: 533c15fddfSRob Herring Embedded Trace Macrocell with memory mapped access. 543c15fddfSRob Herring items: 553c15fddfSRob Herring - enum: 563c15fddfSRob Herring - arm,coresight-etm3x 573c15fddfSRob Herring - arm,coresight-etm4x 583c15fddfSRob Herring - const: arm,primecell 593c15fddfSRob Herring - description: 603c15fddfSRob Herring Embedded Trace Macrocell (version 4.x), with system register access only 613c15fddfSRob Herring const: arm,coresight-etm4x-sysreg 623c15fddfSRob Herring 633c15fddfSRob Herring reg: 643c15fddfSRob Herring maxItems: 1 653c15fddfSRob Herring 663c15fddfSRob Herring clocks: 673c15fddfSRob Herring minItems: 1 683c15fddfSRob Herring maxItems: 2 693c15fddfSRob Herring 703c15fddfSRob Herring clock-names: 713c15fddfSRob Herring minItems: 1 723c15fddfSRob Herring items: 733c15fddfSRob Herring - const: apb_pclk 743c15fddfSRob Herring - const: atclk 753c15fddfSRob Herring 76*8559e62cSRob Herring power-domains: 77*8559e62cSRob Herring maxItems: 1 78*8559e62cSRob Herring 793c15fddfSRob Herring arm,coresight-loses-context-with-cpu: 803c15fddfSRob Herring type: boolean 813c15fddfSRob Herring description: 823c15fddfSRob Herring Indicates that the hardware will lose register context on CPU power down 833c15fddfSRob Herring (e.g. CPUIdle). An example of where this may be needed are systems which 843c15fddfSRob Herring contain a coresight component and CPU in the same power domain. When the 853c15fddfSRob Herring CPU powers down the coresight component also powers down and loses its 863c15fddfSRob Herring context. 873c15fddfSRob Herring 883c15fddfSRob Herring arm,cp14: 893c15fddfSRob Herring type: boolean 903c15fddfSRob Herring description: 913c15fddfSRob Herring Must be present if the system accesses ETM/PTM management registers via 923c15fddfSRob Herring co-processor 14. 933c15fddfSRob Herring 943c15fddfSRob Herring qcom,skip-power-up: 953c15fddfSRob Herring type: boolean 963c15fddfSRob Herring description: 973c15fddfSRob Herring Indicates that an implementation can skip powering up the trace unit. 983c15fddfSRob Herring TRCPDCR.PU does not have to be set on Qualcomm Technologies Inc. systems 993c15fddfSRob Herring since ETMs are in the same power domain as their CPU cores. This property 1003c15fddfSRob Herring is required to identify such systems with hardware errata where the CPU 1013c15fddfSRob Herring watchdog counter is stopped when TRCPDCR.PU is set. 1023c15fddfSRob Herring 1033c15fddfSRob Herring cpu: 1043c15fddfSRob Herring description: 1053c15fddfSRob Herring phandle to the cpu this ETM is bound to. 1063c15fddfSRob Herring $ref: /schemas/types.yaml#/definitions/phandle 1073c15fddfSRob Herring 1083c15fddfSRob Herring out-ports: 1093c15fddfSRob Herring $ref: /schemas/graph.yaml#/properties/ports 1103c15fddfSRob Herring additionalProperties: false 1113c15fddfSRob Herring 1123c15fddfSRob Herring properties: 1133c15fddfSRob Herring port: 1143c15fddfSRob Herring description: Output connection from the ETM to CoreSight Trace bus. 1153c15fddfSRob Herring $ref: /schemas/graph.yaml#/properties/port 1163c15fddfSRob Herring 1173c15fddfSRob Herringrequired: 1183c15fddfSRob Herring - compatible 1193c15fddfSRob Herring - clocks 1203c15fddfSRob Herring - clock-names 1213c15fddfSRob Herring - cpu 1223c15fddfSRob Herring - out-ports 1233c15fddfSRob Herring 1243c15fddfSRob HerringunevaluatedProperties: false 1253c15fddfSRob Herring 1263c15fddfSRob Herringexamples: 1273c15fddfSRob Herring - | 1283c15fddfSRob Herring ptm@2201c000 { 1293c15fddfSRob Herring compatible = "arm,coresight-etm3x", "arm,primecell"; 1303c15fddfSRob Herring reg = <0x2201c000 0x1000>; 1313c15fddfSRob Herring 1323c15fddfSRob Herring cpu = <&cpu0>; 1333c15fddfSRob Herring clocks = <&oscclk6a>; 1343c15fddfSRob Herring clock-names = "apb_pclk"; 1353c15fddfSRob Herring out-ports { 1363c15fddfSRob Herring port { 1373c15fddfSRob Herring ptm0_out_port: endpoint { 1383c15fddfSRob Herring remote-endpoint = <&funnel_in_port0>; 1393c15fddfSRob Herring }; 1403c15fddfSRob Herring }; 1413c15fddfSRob Herring }; 1423c15fddfSRob Herring }; 1433c15fddfSRob Herring 1443c15fddfSRob Herring ptm@2201d000 { 1453c15fddfSRob Herring compatible = "arm,coresight-etm3x", "arm,primecell"; 1463c15fddfSRob Herring reg = <0x2201d000 0x1000>; 1473c15fddfSRob Herring 1483c15fddfSRob Herring cpu = <&cpu1>; 1493c15fddfSRob Herring clocks = <&oscclk6a>; 1503c15fddfSRob Herring clock-names = "apb_pclk"; 1513c15fddfSRob Herring out-ports { 1523c15fddfSRob Herring port { 1533c15fddfSRob Herring ptm1_out_port: endpoint { 1543c15fddfSRob Herring remote-endpoint = <&funnel_in_port1>; 1553c15fddfSRob Herring }; 1563c15fddfSRob Herring }; 1573c15fddfSRob Herring }; 1583c15fddfSRob Herring }; 1593c15fddfSRob Herring... 160