mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Current name of coresight component's folder consists of prefix of the device and the id in the device list. When run 'ls' command, we can get the register address of the device. Take CTI for example, if we want to set the config for modem CTI, but we can't know which CTI is modem CTI from all current information. cti_sys0 -> ../../../devices/platform/soc@0/138f0000.cti/cti_sys0 cti_sys1 -> ../../../devices/platform/soc@0/13900000.cti/cti_sys1 Add label to show hardware context information of each coresight device. There will be a sysfs node label in each device folder. cat /sys/bus/coresight/devices/cti_sys0/label Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Mike Leach <mike.leach@linaro.org> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20250816072529.3716968-2-quic_jinlmao@quicinc.com
164 lines
4.2 KiB
YAML
164 lines
4.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/arm/arm,coresight-etm.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Arm CoreSight Embedded Trace MacroCell
|
|
|
|
maintainers:
|
|
- Mathieu Poirier <mathieu.poirier@linaro.org>
|
|
- Mike Leach <mike.leach@linaro.org>
|
|
- Leo Yan <leo.yan@linaro.org>
|
|
- Suzuki K Poulose <suzuki.poulose@arm.com>
|
|
|
|
description: |
|
|
CoreSight components are compliant with the ARM CoreSight architecture
|
|
specification and can be connected in various topologies to suit a particular
|
|
SoCs tracing needs. These trace components can generally be classified as
|
|
sinks, links and sources. Trace data produced by one or more sources flows
|
|
through the intermediate links connecting the source to the currently selected
|
|
sink.
|
|
|
|
The Embedded Trace Macrocell (ETM) is a real-time trace module providing
|
|
instruction and data tracing of a processor.
|
|
|
|
select:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- arm,coresight-etm3x
|
|
- arm,coresight-etm4x
|
|
- arm,coresight-etm4x-sysreg
|
|
required:
|
|
- compatible
|
|
|
|
allOf:
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: arm,coresight-etm4x-sysreg
|
|
then:
|
|
$ref: /schemas/arm/primecell.yaml#
|
|
required:
|
|
- reg
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- description:
|
|
Embedded Trace Macrocell with memory mapped access.
|
|
items:
|
|
- enum:
|
|
- arm,coresight-etm3x
|
|
- arm,coresight-etm4x
|
|
- const: arm,primecell
|
|
- description:
|
|
Embedded Trace Macrocell (version 4.x), with system register access only
|
|
const: arm,coresight-etm4x-sysreg
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: apb_pclk
|
|
- const: atclk
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
arm,coresight-loses-context-with-cpu:
|
|
type: boolean
|
|
description:
|
|
Indicates that the hardware will lose register context on CPU power down
|
|
(e.g. CPUIdle). An example of where this may be needed are systems which
|
|
contain a coresight component and CPU in the same power domain. When the
|
|
CPU powers down the coresight component also powers down and loses its
|
|
context.
|
|
|
|
label:
|
|
description:
|
|
Description of a coresight device.
|
|
|
|
arm,cp14:
|
|
type: boolean
|
|
description:
|
|
Must be present if the system accesses ETM/PTM management registers via
|
|
co-processor 14.
|
|
|
|
qcom,skip-power-up:
|
|
type: boolean
|
|
description:
|
|
Indicates that an implementation can skip powering up the trace unit.
|
|
TRCPDCR.PU does not have to be set on Qualcomm Technologies Inc. systems
|
|
since ETMs are in the same power domain as their CPU cores. This property
|
|
is required to identify such systems with hardware errata where the CPU
|
|
watchdog counter is stopped when TRCPDCR.PU is set.
|
|
|
|
cpu:
|
|
description:
|
|
phandle to the cpu this ETM is bound to.
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
out-ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
port:
|
|
description: Output connection from the ETM to CoreSight Trace bus.
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
|
|
required:
|
|
- compatible
|
|
- clocks
|
|
- clock-names
|
|
- cpu
|
|
- out-ports
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
ptm@2201c000 {
|
|
compatible = "arm,coresight-etm3x", "arm,primecell";
|
|
reg = <0x2201c000 0x1000>;
|
|
|
|
cpu = <&cpu0>;
|
|
clocks = <&oscclk6a>;
|
|
clock-names = "apb_pclk";
|
|
out-ports {
|
|
port {
|
|
ptm0_out_port: endpoint {
|
|
remote-endpoint = <&funnel_in_port0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
ptm@2201d000 {
|
|
compatible = "arm,coresight-etm3x", "arm,primecell";
|
|
reg = <0x2201d000 0x1000>;
|
|
|
|
cpu = <&cpu1>;
|
|
clocks = <&oscclk6a>;
|
|
clock-names = "apb_pclk";
|
|
out-ports {
|
|
port {
|
|
ptm1_out_port: endpoint {
|
|
remote-endpoint = <&funnel_in_port1>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|