On Wed, 11 Jun 2025 at 11:43, Yuanfang Zhang quic_yuanfang@quicinc.com wrote:
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
.../bindings/arm/qcom,coresight-tnoc.yaml | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9d1c93a9ade3ff14ede4a8d1481782776cf47be9 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-tnoc.yaml @@ -0,0 +1,113 @@ +# 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>;
};
};
};
- };
+...
-- 2.34.1
Reviewed-by: Mike Leach mike.leach@linaro.org