xref: /linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/arm,coresight-static-replicator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Arm CoreSight Static Trace Bus Replicator
8
9maintainers:
10  - Mathieu Poirier <mathieu.poirier@linaro.org>
11  - Mike Leach <mike.leach@linaro.org>
12  - Leo Yan <leo.yan@linaro.org>
13  - Suzuki K Poulose <suzuki.poulose@arm.com>
14
15description: |
16  CoreSight components are compliant with the ARM CoreSight architecture
17  specification and can be connected in various topologies to suit a particular
18  SoCs tracing needs. These trace components can generally be classified as
19  sinks, links and sources. Trace data produced by one or more sources flows
20  through the intermediate links connecting the source to the currently selected
21  sink.
22
23  The Coresight replicator splits a single trace stream into two trace streams
24  for systems that have more than one trace sink component.
25
26properties:
27  compatible:
28    const: arm,coresight-static-replicator
29
30  power-domains:
31    maxItems: 1
32
33  clocks:
34    minItems: 1
35    maxItems: 3
36
37  clock-names:
38    oneOf:
39      - items:
40          - enum: [apb_pclk, atclk]
41      - items: # Zynq-700
42          - const: apb_pclk
43          - const: dbg_trc
44          - const: dbg_apb
45
46  in-ports:
47    $ref: /schemas/graph.yaml#/properties/ports
48    additionalProperties: false
49
50    properties:
51      port:
52        description: Input connection from CoreSight Trace bus
53        $ref: /schemas/graph.yaml#/properties/port
54
55  out-ports:
56    $ref: /schemas/graph.yaml#/properties/ports
57
58    patternProperties:
59      '^port@[01]$':
60        description: Output connections to CoreSight Trace bus
61        $ref: /schemas/graph.yaml#/$defs/port-base
62        unevaluatedProperties: false
63
64        properties:
65          endpoint:
66            $ref: /schemas/graph.yaml#/$defs/endpoint-base
67            unevaluatedProperties: false
68
69            properties:
70              filter-source:
71                $ref: /schemas/types.yaml#/definitions/phandle
72                description:
73                  phandle to the coresight trace source device matching the
74                  hard coded filtering for this port
75
76              remote-endpoint: true
77
78required:
79  - compatible
80  - in-ports
81  - out-ports
82
83additionalProperties: false
84
85examples:
86  - |
87    replicator {
88        /*
89         * non-configurable replicators don't show up on the
90         * AMBA bus.  As such no need to add "arm,primecell".
91         */
92        compatible = "arm,coresight-static-replicator";
93
94        out-ports {
95            #address-cells = <1>;
96            #size-cells = <0>;
97
98            /* replicator output ports */
99            port@0 {
100                reg = <0>;
101                replicator_out_port0: endpoint {
102                    remote-endpoint = <&etb_in_port>;
103                    filter-source = <&tpdm_video>;
104                };
105            };
106
107            port@1 {
108                reg = <1>;
109                replicator_out_port1: endpoint {
110                    remote-endpoint = <&tpiu_in_port>;
111                    filter-source = <&tpdm_mdss>;
112                };
113            };
114        };
115
116        in-ports {
117            port {
118                replicator_in_port0: endpoint {
119                    remote-endpoint = <&funnel_out_port0>;
120                };
121            };
122        };
123    };
124...
125