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-stm.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: Arm CoreSight System Trace MacroCell 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 STM is a trace source that is integrated into a CoreSight system, designed 24b97ee269SEmmanuel Vadot primarily for high-bandwidth trace of instrumentation embedded into software. 25b97ee269SEmmanuel Vadot This instrumentation is made up of memory-mapped writes to the STM Advanced 26b97ee269SEmmanuel Vadot eXtensible Interface (AXI) slave, which carry information about the behavior 27b97ee269SEmmanuel Vadot of the software. 28b97ee269SEmmanuel Vadot 29b97ee269SEmmanuel Vadotselect: 30b97ee269SEmmanuel Vadot properties: 31b97ee269SEmmanuel Vadot compatible: 32b97ee269SEmmanuel Vadot contains: 33b97ee269SEmmanuel Vadot const: arm,coresight-stm 34b97ee269SEmmanuel Vadot required: 35b97ee269SEmmanuel Vadot - compatible 36b97ee269SEmmanuel Vadot 37b97ee269SEmmanuel VadotallOf: 38b97ee269SEmmanuel Vadot - $ref: /schemas/arm/primecell.yaml# 39b97ee269SEmmanuel Vadot 40b97ee269SEmmanuel Vadotproperties: 41b97ee269SEmmanuel Vadot compatible: 42b97ee269SEmmanuel Vadot items: 43b97ee269SEmmanuel Vadot - const: arm,coresight-stm 44b97ee269SEmmanuel Vadot - const: arm,primecell 45b97ee269SEmmanuel Vadot 46b97ee269SEmmanuel Vadot reg: 47b97ee269SEmmanuel Vadot maxItems: 2 48b97ee269SEmmanuel Vadot 49b97ee269SEmmanuel Vadot reg-names: 50b97ee269SEmmanuel Vadot items: 51b97ee269SEmmanuel Vadot - const: stm-base 52b97ee269SEmmanuel Vadot - const: stm-stimulus-base 53b97ee269SEmmanuel Vadot 54b97ee269SEmmanuel Vadot clocks: 55b97ee269SEmmanuel Vadot minItems: 1 56b97ee269SEmmanuel Vadot maxItems: 2 57b97ee269SEmmanuel Vadot 58b97ee269SEmmanuel Vadot clock-names: 59b97ee269SEmmanuel Vadot minItems: 1 60b97ee269SEmmanuel Vadot items: 61b97ee269SEmmanuel Vadot - const: apb_pclk 62b97ee269SEmmanuel Vadot - const: atclk 63b97ee269SEmmanuel Vadot 64*7ef62cebSEmmanuel Vadot power-domains: 65*7ef62cebSEmmanuel Vadot maxItems: 1 66*7ef62cebSEmmanuel Vadot 67b97ee269SEmmanuel Vadot out-ports: 68b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 69b97ee269SEmmanuel Vadot additionalProperties: false 70b97ee269SEmmanuel Vadot 71b97ee269SEmmanuel Vadot properties: 72b97ee269SEmmanuel Vadot port: 73b97ee269SEmmanuel Vadot description: Output connection to the CoreSight Trace bus. 74b97ee269SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 75b97ee269SEmmanuel Vadot 76b97ee269SEmmanuel Vadotrequired: 77b97ee269SEmmanuel Vadot - compatible 78b97ee269SEmmanuel Vadot - reg 79b97ee269SEmmanuel Vadot - reg-names 80b97ee269SEmmanuel Vadot - clocks 81b97ee269SEmmanuel Vadot - clock-names 82b97ee269SEmmanuel Vadot - out-ports 83b97ee269SEmmanuel Vadot 84b97ee269SEmmanuel VadotunevaluatedProperties: false 85b97ee269SEmmanuel Vadot 86b97ee269SEmmanuel Vadotexamples: 87b97ee269SEmmanuel Vadot - | 88b97ee269SEmmanuel Vadot stm@20100000 { 89b97ee269SEmmanuel Vadot compatible = "arm,coresight-stm", "arm,primecell"; 90b97ee269SEmmanuel Vadot reg = <0x20100000 0x1000>, 91b97ee269SEmmanuel Vadot <0x28000000 0x180000>; 92b97ee269SEmmanuel Vadot reg-names = "stm-base", "stm-stimulus-base"; 93b97ee269SEmmanuel Vadot 94b97ee269SEmmanuel Vadot clocks = <&soc_smc50mhz>; 95b97ee269SEmmanuel Vadot clock-names = "apb_pclk"; 96b97ee269SEmmanuel Vadot out-ports { 97b97ee269SEmmanuel Vadot port { 98b97ee269SEmmanuel Vadot stm_out_port: endpoint { 99b97ee269SEmmanuel Vadot remote-endpoint = <&main_funnel_in_port2>; 100b97ee269SEmmanuel Vadot }; 101b97ee269SEmmanuel Vadot }; 102b97ee269SEmmanuel Vadot }; 103b97ee269SEmmanuel Vadot }; 104b97ee269SEmmanuel Vadot... 105