xref: /freebsd-src/sys/contrib/device-tree/Bindings/arm/arm,coresight-dynamic-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-dynamic-replicator.yaml#
5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadottitle: Arm Coresight Programmable 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 Vadot# Need a custom select here or 'arm,primecell' will match on lots of nodes
27b97ee269SEmmanuel Vadotselect:
28b97ee269SEmmanuel Vadot  properties:
29b97ee269SEmmanuel Vadot    compatible:
30b97ee269SEmmanuel Vadot      contains:
31b97ee269SEmmanuel Vadot        const: arm,coresight-dynamic-replicator
32b97ee269SEmmanuel Vadot  required:
33b97ee269SEmmanuel Vadot    - compatible
34b97ee269SEmmanuel Vadot
35b97ee269SEmmanuel VadotallOf:
36b97ee269SEmmanuel Vadot  - $ref: /schemas/arm/primecell.yaml#
37b97ee269SEmmanuel Vadot
38b97ee269SEmmanuel Vadotproperties:
39b97ee269SEmmanuel Vadot  compatible:
40b97ee269SEmmanuel Vadot    items:
41b97ee269SEmmanuel Vadot      - const: arm,coresight-dynamic-replicator
42b97ee269SEmmanuel Vadot      - const: arm,primecell
43b97ee269SEmmanuel Vadot
44b97ee269SEmmanuel Vadot  reg:
45b97ee269SEmmanuel Vadot    maxItems: 1
46b97ee269SEmmanuel Vadot
47b97ee269SEmmanuel Vadot  clocks:
48b97ee269SEmmanuel Vadot    minItems: 1
49b97ee269SEmmanuel Vadot    maxItems: 2
50b97ee269SEmmanuel Vadot
51b97ee269SEmmanuel Vadot  clock-names:
52b97ee269SEmmanuel Vadot    minItems: 1
53b97ee269SEmmanuel Vadot    items:
54b97ee269SEmmanuel Vadot      - const: apb_pclk
55b97ee269SEmmanuel Vadot      - const: atclk
56b97ee269SEmmanuel Vadot
57*7ef62cebSEmmanuel Vadot  power-domains:
58*7ef62cebSEmmanuel Vadot    maxItems: 1
59*7ef62cebSEmmanuel Vadot
60b97ee269SEmmanuel Vadot  qcom,replicator-loses-context:
61b97ee269SEmmanuel Vadot    type: boolean
62b97ee269SEmmanuel Vadot    description:
63b97ee269SEmmanuel Vadot      Indicates that the replicator will lose register context when AMBA clock
64b97ee269SEmmanuel Vadot      is removed which is observed in some replicator designs.
65b97ee269SEmmanuel Vadot
66b97ee269SEmmanuel Vadot  in-ports:
67b97ee269SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
68b97ee269SEmmanuel Vadot    additionalProperties: false
69b97ee269SEmmanuel Vadot
70b97ee269SEmmanuel Vadot    properties:
71b97ee269SEmmanuel Vadot      port:
72b97ee269SEmmanuel Vadot        description: Input connection from CoreSight Trace bus
73b97ee269SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
74b97ee269SEmmanuel Vadot
75b97ee269SEmmanuel Vadot  out-ports:
76b97ee269SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
77b97ee269SEmmanuel Vadot
78b97ee269SEmmanuel Vadot    patternProperties:
79b97ee269SEmmanuel Vadot      '^port(@[01])?$':
80b97ee269SEmmanuel Vadot        description: Output connections to CoreSight Trace bus
81b97ee269SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
82b97ee269SEmmanuel Vadot
83b97ee269SEmmanuel Vadotrequired:
84b97ee269SEmmanuel Vadot  - compatible
85b97ee269SEmmanuel Vadot  - reg
86b97ee269SEmmanuel Vadot  - clocks
87b97ee269SEmmanuel Vadot  - clock-names
88b97ee269SEmmanuel Vadot  - in-ports
89b97ee269SEmmanuel Vadot  - out-ports
90b97ee269SEmmanuel Vadot
91b97ee269SEmmanuel VadotunevaluatedProperties: false
92b97ee269SEmmanuel Vadot
93b97ee269SEmmanuel Vadotexamples:
94b97ee269SEmmanuel Vadot  - |
95b97ee269SEmmanuel Vadot    replicator@20120000 {
96b97ee269SEmmanuel Vadot        compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
97b97ee269SEmmanuel Vadot        reg = <0x20120000 0x1000>;
98b97ee269SEmmanuel Vadot
99b97ee269SEmmanuel Vadot        clocks = <&soc_smc50mhz>;
100b97ee269SEmmanuel Vadot        clock-names = "apb_pclk";
101b97ee269SEmmanuel Vadot
102b97ee269SEmmanuel Vadot        out-ports {
103b97ee269SEmmanuel Vadot            #address-cells = <1>;
104b97ee269SEmmanuel Vadot            #size-cells = <0>;
105b97ee269SEmmanuel Vadot
106b97ee269SEmmanuel Vadot            /* replicator output ports */
107b97ee269SEmmanuel Vadot            port@0 {
108b97ee269SEmmanuel Vadot                reg = <0>;
109b97ee269SEmmanuel Vadot                replicator_out_port0: endpoint {
110b97ee269SEmmanuel Vadot                    remote-endpoint = <&tpiu_in_port>;
111b97ee269SEmmanuel Vadot                };
112b97ee269SEmmanuel Vadot            };
113b97ee269SEmmanuel Vadot
114b97ee269SEmmanuel Vadot            port@1 {
115b97ee269SEmmanuel Vadot                reg = <1>;
116b97ee269SEmmanuel Vadot                replicator_out_port1: endpoint {
117b97ee269SEmmanuel Vadot                    remote-endpoint = <&etr_in_port>;
118b97ee269SEmmanuel Vadot                };
119b97ee269SEmmanuel Vadot            };
120b97ee269SEmmanuel Vadot        };
121b97ee269SEmmanuel Vadot        in-ports {
122b97ee269SEmmanuel Vadot            port {
123b97ee269SEmmanuel Vadot                replicator_in_port0: endpoint {
124b97ee269SEmmanuel Vadot                    remote-endpoint = <&csys2_funnel_out_port>;
125b97ee269SEmmanuel Vadot                };
126b97ee269SEmmanuel Vadot            };
127b97ee269SEmmanuel Vadot        };
128b97ee269SEmmanuel Vadot    };
129b97ee269SEmmanuel Vadot...
130