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