0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/arm,coresight-static-funnel.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Arm CoreSight Static Trace Bus Funnel
0008
0009 maintainers:
0010 - Mathieu Poirier <mathieu.poirier@linaro.org>
0011 - Mike Leach <mike.leach@linaro.org>
0012 - Leo Yan <leo.yan@linaro.org>
0013 - Suzuki K Poulose <suzuki.poulose@arm.com>
0014
0015 description: |
0016 CoreSight components are compliant with the ARM CoreSight architecture
0017 specification and can be connected in various topologies to suit a particular
0018 SoCs tracing needs. These trace components can generally be classified as
0019 sinks, links and sources. Trace data produced by one or more sources flows
0020 through the intermediate links connecting the source to the currently selected
0021 sink.
0022
0023 The Coresight static funnel merges 2-8 trace sources into a single trace
0024 stream.
0025
0026 properties:
0027 compatible:
0028 const: arm,coresight-static-funnel
0029
0030 in-ports:
0031 $ref: /schemas/graph.yaml#/properties/ports
0032
0033 patternProperties:
0034 '^port@[0-7]$':
0035 description: Input connections from CoreSight Trace bus
0036 $ref: /schemas/graph.yaml#/properties/port
0037
0038 out-ports:
0039 $ref: /schemas/graph.yaml#/properties/ports
0040 additionalProperties: false
0041
0042 properties:
0043 port:
0044 description: Output connection to CoreSight Trace bus
0045 $ref: /schemas/graph.yaml#/properties/port
0046
0047 required:
0048 - compatible
0049 - in-ports
0050 - out-ports
0051
0052 additionalProperties: false
0053
0054 examples:
0055 - |
0056 funnel {
0057 /*
0058 * non-configurable replicators don't show up on the
0059 * AMBA bus. As such no need to add "arm,primecell".
0060 */
0061 compatible = "arm,coresight-static-funnel";
0062
0063 out-ports {
0064 port {
0065 combo_funnel_out: endpoint {
0066 remote-endpoint = <&top_funnel_in>;
0067 };
0068 };
0069 };
0070
0071 in-ports {
0072 #address-cells = <1>;
0073 #size-cells = <0>;
0074
0075 port@0 {
0076 reg = <0>;
0077 combo_funnel_in0: endpoint {
0078 remote-endpoint = <&cluster0_etf_out>;
0079 };
0080 };
0081
0082 port@1 {
0083 reg = <1>;
0084 combo_funnel_in1: endpoint {
0085 remote-endpoint = <&cluster1_etf_out>;
0086 };
0087 };
0088 };
0089 };
0090 ...