xref: /freebsd-src/sys/contrib/device-tree/Bindings/arm/arm,coresight-static-replicator.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2b97ee269SEmmanuel Vadot%YAML 1.2
3b97ee269SEmmanuel Vadot---
4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/arm/arm,coresight-static-replicator.yaml#
5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadottitle: Arm CoreSight Static Trace Bus Replicator
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Mathieu Poirier <mathieu.poirier@linaro.org>
11b97ee269SEmmanuel Vadot  - Mike Leach <mike.leach@linaro.org>
12b97ee269SEmmanuel Vadot  - Leo Yan <leo.yan@linaro.org>
13b97ee269SEmmanuel Vadot  - Suzuki K Poulose <suzuki.poulose@arm.com>
14b97ee269SEmmanuel Vadot
15b97ee269SEmmanuel Vadotdescription: |
16b97ee269SEmmanuel Vadot  CoreSight components are compliant with the ARM CoreSight architecture
17b97ee269SEmmanuel Vadot  specification and can be connected in various topologies to suit a particular
18b97ee269SEmmanuel Vadot  SoCs tracing needs. These trace components can generally be classified as
19b97ee269SEmmanuel Vadot  sinks, links and sources. Trace data produced by one or more sources flows
20b97ee269SEmmanuel Vadot  through the intermediate links connecting the source to the currently selected
21b97ee269SEmmanuel Vadot  sink.
22b97ee269SEmmanuel Vadot
23b97ee269SEmmanuel Vadot  The Coresight replicator splits a single trace stream into two trace streams
24b97ee269SEmmanuel Vadot  for systems that have more than one trace sink component.
25b97ee269SEmmanuel Vadot
26b97ee269SEmmanuel Vadotproperties:
27b97ee269SEmmanuel Vadot  compatible:
28b97ee269SEmmanuel Vadot    const: arm,coresight-static-replicator
29b97ee269SEmmanuel Vadot
30*7ef62cebSEmmanuel Vadot  power-domains:
31*7ef62cebSEmmanuel Vadot    maxItems: 1
32*7ef62cebSEmmanuel Vadot
33b97ee269SEmmanuel Vadot  in-ports:
34b97ee269SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
35b97ee269SEmmanuel Vadot    additionalProperties: false
36b97ee269SEmmanuel Vadot
37b97ee269SEmmanuel Vadot    properties:
38b97ee269SEmmanuel Vadot      port:
39b97ee269SEmmanuel Vadot        description: Input connection from CoreSight Trace bus
40b97ee269SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
41b97ee269SEmmanuel Vadot
42b97ee269SEmmanuel Vadot  out-ports:
43b97ee269SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
44b97ee269SEmmanuel Vadot
45b97ee269SEmmanuel Vadot    patternProperties:
46b97ee269SEmmanuel Vadot      '^port@[01]$':
47b97ee269SEmmanuel Vadot        description: Output connections to CoreSight Trace bus
48b97ee269SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
49b97ee269SEmmanuel Vadot
50b97ee269SEmmanuel Vadotrequired:
51b97ee269SEmmanuel Vadot  - compatible
52b97ee269SEmmanuel Vadot  - in-ports
53b97ee269SEmmanuel Vadot  - out-ports
54b97ee269SEmmanuel Vadot
55b97ee269SEmmanuel VadotadditionalProperties: false
56b97ee269SEmmanuel Vadot
57b97ee269SEmmanuel Vadotexamples:
58b97ee269SEmmanuel Vadot  - |
59b97ee269SEmmanuel Vadot    replicator {
60b97ee269SEmmanuel Vadot        /*
61b97ee269SEmmanuel Vadot         * non-configurable replicators don't show up on the
62b97ee269SEmmanuel Vadot         * AMBA bus.  As such no need to add "arm,primecell".
63b97ee269SEmmanuel Vadot         */
64b97ee269SEmmanuel Vadot        compatible = "arm,coresight-static-replicator";
65b97ee269SEmmanuel Vadot
66b97ee269SEmmanuel Vadot        out-ports {
67b97ee269SEmmanuel Vadot            #address-cells = <1>;
68b97ee269SEmmanuel Vadot            #size-cells = <0>;
69b97ee269SEmmanuel Vadot
70b97ee269SEmmanuel Vadot            /* replicator output ports */
71b97ee269SEmmanuel Vadot            port@0 {
72b97ee269SEmmanuel Vadot                reg = <0>;
73b97ee269SEmmanuel Vadot                replicator_out_port0: endpoint {
74b97ee269SEmmanuel Vadot                    remote-endpoint = <&etb_in_port>;
75b97ee269SEmmanuel Vadot                };
76b97ee269SEmmanuel Vadot            };
77b97ee269SEmmanuel Vadot
78b97ee269SEmmanuel Vadot            port@1 {
79b97ee269SEmmanuel Vadot                reg = <1>;
80b97ee269SEmmanuel Vadot                replicator_out_port1: endpoint {
81b97ee269SEmmanuel Vadot                    remote-endpoint = <&tpiu_in_port>;
82b97ee269SEmmanuel Vadot                };
83b97ee269SEmmanuel Vadot            };
84b97ee269SEmmanuel Vadot        };
85b97ee269SEmmanuel Vadot
86b97ee269SEmmanuel Vadot        in-ports {
87b97ee269SEmmanuel Vadot            port {
88b97ee269SEmmanuel Vadot                replicator_in_port0: endpoint {
89b97ee269SEmmanuel Vadot                    remote-endpoint = <&funnel_out_port0>;
90b97ee269SEmmanuel Vadot                };
91b97ee269SEmmanuel Vadot            };
92b97ee269SEmmanuel Vadot        };
93b97ee269SEmmanuel Vadot    };
94b97ee269SEmmanuel Vadot...
95