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
134 lines
3.3 KiB
YAML
134 lines
3.3 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/arm/arm,coresight-dynamic-replicator.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Arm Coresight Programmable Trace Bus Replicator
|
|
|
|
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 Coresight replicator splits a single trace stream into two trace streams
|
|
for systems that have more than one trace sink component.
|
|
|
|
# Need a custom select here or 'arm,primecell' will match on lots of nodes
|
|
select:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: arm,coresight-dynamic-replicator
|
|
required:
|
|
- compatible
|
|
|
|
allOf:
|
|
- $ref: /schemas/arm/primecell.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- const: arm,coresight-dynamic-replicator
|
|
- 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.
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
qcom,replicator-loses-context:
|
|
type: boolean
|
|
description:
|
|
Indicates that the replicator will lose register context when AMBA clock
|
|
is removed which is observed in some replicator designs.
|
|
|
|
in-ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
port:
|
|
description: Input connection from CoreSight Trace bus
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
|
|
out-ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
|
|
patternProperties:
|
|
'^port(@[01])?$':
|
|
description: Output connections to CoreSight Trace bus
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- clock-names
|
|
- in-ports
|
|
- out-ports
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
replicator@20120000 {
|
|
compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
|
|
reg = <0x20120000 0x1000>;
|
|
|
|
clocks = <&soc_smc50mhz>;
|
|
clock-names = "apb_pclk";
|
|
|
|
out-ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
/* replicator output ports */
|
|
port@0 {
|
|
reg = <0>;
|
|
replicator_out_port0: endpoint {
|
|
remote-endpoint = <&tpiu_in_port>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
replicator_out_port1: endpoint {
|
|
remote-endpoint = <&etr_in_port>;
|
|
};
|
|
};
|
|
};
|
|
in-ports {
|
|
port {
|
|
replicator_in_port0: endpoint {
|
|
remote-endpoint = <&csys2_funnel_out_port>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|