# 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 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>; }; }; }; }; ...