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
168 lines
4.6 KiB
YAML
168 lines
4.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/arm/arm,coresight-tmc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Arm CoreSight Trace Memory Controller
|
|
|
|
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.
|
|
|
|
Trace Memory Controller is used for Embedded Trace Buffer(ETB), Embedded Trace
|
|
FIFO(ETF) and Embedded Trace Router(ETR) configurations. The configuration
|
|
mode (ETB, ETF, ETR) is discovered at boot time when the device is probed.
|
|
|
|
# Need a custom select here or 'arm,primecell' will match on lots of nodes
|
|
select:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: arm,coresight-tmc
|
|
required:
|
|
- compatible
|
|
|
|
allOf:
|
|
- $ref: /schemas/arm/primecell.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- const: arm,coresight-tmc
|
|
- const: arm,primecell
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: apb_pclk
|
|
- const: atclk
|
|
|
|
label:
|
|
description:
|
|
Description of a coresight device.
|
|
|
|
iommus:
|
|
maxItems: 1
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
arm,buffer-size:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
deprecated: true
|
|
description:
|
|
Size of contiguous buffer space for TMC ETR (embedded trace router). The
|
|
buffer size can be configured dynamically via buffer_size property in
|
|
sysfs instead.
|
|
|
|
arm,scatter-gather:
|
|
type: boolean
|
|
description:
|
|
Indicates that the TMC-ETR can safely use the SG mode on this system.
|
|
|
|
arm,max-burst-size:
|
|
description:
|
|
The maximum burst size initiated by TMC on the AXI master interface. The
|
|
burst size can be in the range [0..15], the setting supports one data
|
|
transfer per burst up to a maximum of 16 data transfers per burst.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
maximum: 15
|
|
|
|
in-ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
port:
|
|
description: Input connection from the CoreSight Trace bus.
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
|
|
out-ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
port:
|
|
description: AXI or ATB Master output connection. Used for ETR
|
|
and ETF configurations.
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
|
|
memory-region:
|
|
items:
|
|
- description: Reserved trace buffer memory for ETR and ETF sinks.
|
|
For ETR, this reserved memory region is used for trace data capture.
|
|
Same region is used for trace data retention as well after a panic
|
|
or watchdog reset.
|
|
This reserved memory region is used as trace buffer or used for trace
|
|
data retention only if specifically selected by the user in sysfs
|
|
interface.
|
|
The default memory usage models for ETR in sysfs/perf modes are
|
|
otherwise unaltered.
|
|
|
|
For ETF, this reserved memory region is used by default for
|
|
retention of trace data synced from internal SRAM after a panic
|
|
or watchdog reset.
|
|
- description: Reserved meta data memory. Used for ETR and ETF sinks
|
|
for storing metadata.
|
|
|
|
memory-region-names:
|
|
items:
|
|
- const: tracedata
|
|
- const: metadata
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- clock-names
|
|
- in-ports
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
etr@20070000 {
|
|
compatible = "arm,coresight-tmc", "arm,primecell";
|
|
reg = <0x20070000 0x1000>;
|
|
memory-region = <&etr_trace_mem_reserved>,
|
|
<&etr_mdata_mem_reserved>;
|
|
memory-region-names = "tracedata", "metadata";
|
|
|
|
clocks = <&oscclk6a>;
|
|
clock-names = "apb_pclk";
|
|
in-ports {
|
|
port {
|
|
etr_in_port: endpoint {
|
|
remote-endpoint = <&replicator2_out_port0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
out-ports {
|
|
port {
|
|
etr_out_port: endpoint {
|
|
remote-endpoint = <&catu_in_port>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|