1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/arm/arm,coresight-etm.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Arm CoreSight Embedded Trace MacroCell 8 9maintainers: 10 - Mathieu Poirier <mathieu.poirier@linaro.org> 11 - Mike Leach <mike.leach@linaro.org> 12 - Leo Yan <leo.yan@linaro.org> 13 - Suzuki K Poulose <suzuki.poulose@arm.com> 14 15description: | 16 CoreSight components are compliant with the ARM CoreSight architecture 17 specification and can be connected in various topologies to suit a particular 18 SoCs tracing needs. These trace components can generally be classified as 19 sinks, links and sources. Trace data produced by one or more sources flows 20 through the intermediate links connecting the source to the currently selected 21 sink. 22 23 The Embedded Trace Macrocell (ETM) is a real-time trace module providing 24 instruction and data tracing of a processor. 25 26select: 27 properties: 28 compatible: 29 contains: 30 enum: 31 - arm,coresight-etm3x 32 - arm,coresight-etm4x 33 - arm,coresight-etm4x-sysreg 34 required: 35 - compatible 36 37allOf: 38 - if: 39 not: 40 properties: 41 compatible: 42 contains: 43 const: arm,coresight-etm4x-sysreg 44 then: 45 $ref: /schemas/arm/primecell.yaml# 46 required: 47 - reg 48 49properties: 50 compatible: 51 oneOf: 52 - description: 53 Embedded Trace Macrocell with memory mapped access. 54 items: 55 - enum: 56 - arm,coresight-etm3x 57 - arm,coresight-etm4x 58 - const: arm,primecell 59 - description: 60 Embedded Trace Macrocell (version 4.x), with system register access only 61 const: arm,coresight-etm4x-sysreg 62 63 reg: 64 maxItems: 1 65 66 clocks: 67 minItems: 1 68 maxItems: 2 69 70 clock-names: 71 minItems: 1 72 items: 73 - const: apb_pclk 74 - const: atclk 75 76 power-domains: 77 maxItems: 1 78 79 arm,coresight-loses-context-with-cpu: 80 type: boolean 81 description: 82 Indicates that the hardware will lose register context on CPU power down 83 (e.g. CPUIdle). An example of where this may be needed are systems which 84 contain a coresight component and CPU in the same power domain. When the 85 CPU powers down the coresight component also powers down and loses its 86 context. 87 88 arm,cp14: 89 type: boolean 90 description: 91 Must be present if the system accesses ETM/PTM management registers via 92 co-processor 14. 93 94 qcom,skip-power-up: 95 type: boolean 96 description: 97 Indicates that an implementation can skip powering up the trace unit. 98 TRCPDCR.PU does not have to be set on Qualcomm Technologies Inc. systems 99 since ETMs are in the same power domain as their CPU cores. This property 100 is required to identify such systems with hardware errata where the CPU 101 watchdog counter is stopped when TRCPDCR.PU is set. 102 103 cpu: 104 description: 105 phandle to the cpu this ETM is bound to. 106 $ref: /schemas/types.yaml#/definitions/phandle 107 108 out-ports: 109 $ref: /schemas/graph.yaml#/properties/ports 110 additionalProperties: false 111 112 properties: 113 port: 114 description: Output connection from the ETM to CoreSight Trace bus. 115 $ref: /schemas/graph.yaml#/properties/port 116 117required: 118 - compatible 119 - clocks 120 - clock-names 121 - cpu 122 - out-ports 123 124unevaluatedProperties: false 125 126examples: 127 - | 128 ptm@2201c000 { 129 compatible = "arm,coresight-etm3x", "arm,primecell"; 130 reg = <0x2201c000 0x1000>; 131 132 cpu = <&cpu0>; 133 clocks = <&oscclk6a>; 134 clock-names = "apb_pclk"; 135 out-ports { 136 port { 137 ptm0_out_port: endpoint { 138 remote-endpoint = <&funnel_in_port0>; 139 }; 140 }; 141 }; 142 }; 143 144 ptm@2201d000 { 145 compatible = "arm,coresight-etm3x", "arm,primecell"; 146 reg = <0x2201d000 0x1000>; 147 148 cpu = <&cpu1>; 149 clocks = <&oscclk6a>; 150 clock-names = "apb_pclk"; 151 out-ports { 152 port { 153 ptm1_out_port: endpoint { 154 remote-endpoint = <&funnel_in_port1>; 155 }; 156 }; 157 }; 158 }; 159... 160