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-replicator.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Arm CoreSight Static Trace Bus Replicator
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 replicator splits a single trace stream into two trace streams
0024 for systems that have more than one trace sink component.
0025
0026 properties:
0027 compatible:
0028 const: arm,coresight-static-replicator
0029
0030 in-ports:
0031 $ref: /schemas/graph.yaml#/properties/ports
0032 additionalProperties: false
0033
0034 properties:
0035 port:
0036 description: Input connection from CoreSight Trace bus
0037 $ref: /schemas/graph.yaml#/properties/port
0038
0039 out-ports:
0040 $ref: /schemas/graph.yaml#/properties/ports
0041
0042 patternProperties:
0043 '^port@[01]$':
0044 description: Output connections 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 replicator {
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-replicator";
0062
0063 out-ports {
0064 #address-cells = <1>;
0065 #size-cells = <0>;
0066
0067 /* replicator output ports */
0068 port@0 {
0069 reg = <0>;
0070 replicator_out_port0: endpoint {
0071 remote-endpoint = <&etb_in_port>;
0072 };
0073 };
0074
0075 port@1 {
0076 reg = <1>;
0077 replicator_out_port1: endpoint {
0078 remote-endpoint = <&tpiu_in_port>;
0079 };
0080 };
0081 };
0082
0083 in-ports {
0084 port {
0085 replicator_in_port0: endpoint {
0086 remote-endpoint = <&funnel_out_port0>;
0087 };
0088 };
0089 };
0090 };
0091 ...