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-dynamic-replicator.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Arm Coresight Programmable 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 # Need a custom select here or 'arm,primecell' will match on lots of nodes
0027 select:
0028 properties:
0029 compatible:
0030 contains:
0031 const: arm,coresight-dynamic-replicator
0032 required:
0033 - compatible
0034
0035 allOf:
0036 - $ref: /schemas/arm/primecell.yaml#
0037
0038 properties:
0039 compatible:
0040 items:
0041 - const: arm,coresight-dynamic-replicator
0042 - const: arm,primecell
0043
0044 reg:
0045 maxItems: 1
0046
0047 clocks:
0048 minItems: 1
0049 maxItems: 2
0050
0051 clock-names:
0052 minItems: 1
0053 items:
0054 - const: apb_pclk
0055 - const: atclk
0056
0057 qcom,replicator-loses-context:
0058 type: boolean
0059 description:
0060 Indicates that the replicator will lose register context when AMBA clock
0061 is removed which is observed in some replicator designs.
0062
0063 in-ports:
0064 $ref: /schemas/graph.yaml#/properties/ports
0065 additionalProperties: false
0066
0067 properties:
0068 port:
0069 description: Input connection from CoreSight Trace bus
0070 $ref: /schemas/graph.yaml#/properties/port
0071
0072 out-ports:
0073 $ref: /schemas/graph.yaml#/properties/ports
0074
0075 patternProperties:
0076 '^port(@[01])?$':
0077 description: Output connections to CoreSight Trace bus
0078 $ref: /schemas/graph.yaml#/properties/port
0079
0080 required:
0081 - compatible
0082 - reg
0083 - clocks
0084 - clock-names
0085 - in-ports
0086 - out-ports
0087
0088 unevaluatedProperties: false
0089
0090 examples:
0091 - |
0092 replicator@20120000 {
0093 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
0094 reg = <0x20120000 0x1000>;
0095
0096 clocks = <&soc_smc50mhz>;
0097 clock-names = "apb_pclk";
0098
0099 out-ports {
0100 #address-cells = <1>;
0101 #size-cells = <0>;
0102
0103 /* replicator output ports */
0104 port@0 {
0105 reg = <0>;
0106 replicator_out_port0: endpoint {
0107 remote-endpoint = <&tpiu_in_port>;
0108 };
0109 };
0110
0111 port@1 {
0112 reg = <1>;
0113 replicator_out_port1: endpoint {
0114 remote-endpoint = <&etr_in_port>;
0115 };
0116 };
0117 };
0118 in-ports {
0119 port {
0120 replicator_in_port0: endpoint {
0121 remote-endpoint = <&csys2_funnel_out_port>;
0122 };
0123 };
0124 };
0125 };
0126 ...