Files
linux/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml
Yuanfang Zhang 931c93119d dt-bindings: arm: Add device Trace Network On Chip definition
Add a new coresight-tnoc.yaml file to describe the bindings required to
define Trace Network On Chip (TNOC) in device trees. TNOC is an
integration hierarchy which is a hardware component that integrates the
functionalities of TPDA and funnels. It collects trace form subsystems
and transfers to coresight sink.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Yuanfang Zhang <quic_yuanfang@quicinc.com>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20250710-trace-noc-v11-1-f849075c40b8@quicinc.com
2025-09-02 09:12:58 +01:00

114 lines
2.5 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/qcom,coresight-tnoc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Trace Network On Chip - TNOC
maintainers:
- Yuanfang Zhang <quic_yuanfang@quicinc.com>
description: >
The Trace Network On Chip (TNOC) is an integration hierarchy hardware
component that integrates the functionalities of TPDA and funnels.
It sits in the different subsystem of SOC and aggregates the trace and
transports it to Aggregation TNOC or to coresight trace sink eventually.
TNOC embeds bridges for all the interfaces APB, ATB, TPDA and NTS (Narrow
Time Stamp).
TNOC can take inputs from different trace sources i.e. ATB, TPDM.
Note this binding is specifically intended for Aggregator TNOC instances.
# Need a custom select here or 'arm,primecell' will match on lots of nodes
select:
properties:
compatible:
contains:
enum:
- qcom,coresight-tnoc
required:
- compatible
properties:
$nodename:
pattern: "^tn(@[0-9a-f]+)$"
compatible:
items:
- const: qcom,coresight-tnoc
- const: arm,primecell
reg:
maxItems: 1
clock-names:
items:
- const: apb_pclk
clocks:
items:
- description: APB register access clock
in-ports:
$ref: /schemas/graph.yaml#/properties/ports
patternProperties:
'^port(@[0-9a-f]{1,2})?$':
description: Input connections from CoreSight Trace Bus
$ref: /schemas/graph.yaml#/properties/port
out-ports:
$ref: /schemas/graph.yaml#/properties/ports
additionalProperties: false
properties:
port:
description:
Output connection to CoreSight Trace Bus
$ref: /schemas/graph.yaml#/properties/port
required:
- compatible
- reg
- clocks
- clock-names
- in-ports
- out-ports
additionalProperties: false
examples:
- |
tn@109ab000 {
compatible = "qcom,coresight-tnoc", "arm,primecell";
reg = <0x109ab000 0x4200>;
clocks = <&aoss_qmp>;
clock-names = "apb_pclk";
in-ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
tn_ag_in_tpdm_gcc: endpoint {
remote-endpoint = <&tpdm_gcc_out_tn_ag>;
};
};
};
out-ports {
port {
tn_ag_out_funnel_in1: endpoint {
remote-endpoint = <&funnel_in1_in_tn_ag>;
};
};
};
};
...