13c15fddfSRob Herring# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
23c15fddfSRob Herring%YAML 1.2
33c15fddfSRob Herring---
43c15fddfSRob Herring$id: http://devicetree.org/schemas/arm/arm,coresight-stm.yaml#
53c15fddfSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
63c15fddfSRob Herring
73c15fddfSRob Herringtitle: Arm CoreSight System Trace MacroCell
83c15fddfSRob Herring
93c15fddfSRob Herringmaintainers:
103c15fddfSRob Herring  - Mathieu Poirier <mathieu.poirier@linaro.org>
113c15fddfSRob Herring  - Mike Leach <mike.leach@linaro.org>
123c15fddfSRob Herring  - Leo Yan <leo.yan@linaro.org>
133c15fddfSRob Herring  - Suzuki K Poulose <suzuki.poulose@arm.com>
143c15fddfSRob Herring
153c15fddfSRob Herringdescription: |
163c15fddfSRob Herring  CoreSight components are compliant with the ARM CoreSight architecture
173c15fddfSRob Herring  specification and can be connected in various topologies to suit a particular
183c15fddfSRob Herring  SoCs tracing needs. These trace components can generally be classified as
193c15fddfSRob Herring  sinks, links and sources. Trace data produced by one or more sources flows
203c15fddfSRob Herring  through the intermediate links connecting the source to the currently selected
213c15fddfSRob Herring  sink.
223c15fddfSRob Herring
233c15fddfSRob Herring  The STM is a trace source that is integrated into a CoreSight system, designed
243c15fddfSRob Herring  primarily for high-bandwidth trace of instrumentation embedded into software.
253c15fddfSRob Herring  This instrumentation is made up of memory-mapped writes to the STM Advanced
263c15fddfSRob Herring  eXtensible Interface (AXI) slave, which carry information about the behavior
273c15fddfSRob Herring  of the software.
283c15fddfSRob Herring
293c15fddfSRob Herringselect:
303c15fddfSRob Herring  properties:
313c15fddfSRob Herring    compatible:
323c15fddfSRob Herring      contains:
333c15fddfSRob Herring        const: arm,coresight-stm
343c15fddfSRob Herring  required:
353c15fddfSRob Herring    - compatible
363c15fddfSRob Herring
373c15fddfSRob HerringallOf:
383c15fddfSRob Herring  - $ref: /schemas/arm/primecell.yaml#
393c15fddfSRob Herring
403c15fddfSRob Herringproperties:
413c15fddfSRob Herring  compatible:
423c15fddfSRob Herring    items:
433c15fddfSRob Herring      - const: arm,coresight-stm
443c15fddfSRob Herring      - const: arm,primecell
453c15fddfSRob Herring
463c15fddfSRob Herring  reg:
473c15fddfSRob Herring    maxItems: 2
483c15fddfSRob Herring
493c15fddfSRob Herring  reg-names:
503c15fddfSRob Herring    items:
513c15fddfSRob Herring      - const: stm-base
523c15fddfSRob Herring      - const: stm-stimulus-base
533c15fddfSRob Herring
543c15fddfSRob Herring  clocks:
553c15fddfSRob Herring    minItems: 1
563c15fddfSRob Herring    maxItems: 2
573c15fddfSRob Herring
583c15fddfSRob Herring  clock-names:
593c15fddfSRob Herring    minItems: 1
603c15fddfSRob Herring    items:
613c15fddfSRob Herring      - const: apb_pclk
623c15fddfSRob Herring      - const: atclk
633c15fddfSRob Herring
64*8559e62cSRob Herring  power-domains:
65*8559e62cSRob Herring    maxItems: 1
66*8559e62cSRob Herring
673c15fddfSRob Herring  out-ports:
683c15fddfSRob Herring    $ref: /schemas/graph.yaml#/properties/ports
693c15fddfSRob Herring    additionalProperties: false
703c15fddfSRob Herring
713c15fddfSRob Herring    properties:
723c15fddfSRob Herring      port:
733c15fddfSRob Herring        description: Output connection to the CoreSight Trace bus.
743c15fddfSRob Herring        $ref: /schemas/graph.yaml#/properties/port
753c15fddfSRob Herring
763c15fddfSRob Herringrequired:
773c15fddfSRob Herring  - compatible
783c15fddfSRob Herring  - reg
793c15fddfSRob Herring  - reg-names
803c15fddfSRob Herring  - clocks
813c15fddfSRob Herring  - clock-names
823c15fddfSRob Herring  - out-ports
833c15fddfSRob Herring
843c15fddfSRob HerringunevaluatedProperties: false
853c15fddfSRob Herring
863c15fddfSRob Herringexamples:
873c15fddfSRob Herring  - |
883c15fddfSRob Herring    stm@20100000 {
893c15fddfSRob Herring        compatible = "arm,coresight-stm", "arm,primecell";
903c15fddfSRob Herring        reg = <0x20100000 0x1000>,
913c15fddfSRob Herring              <0x28000000 0x180000>;
923c15fddfSRob Herring        reg-names = "stm-base", "stm-stimulus-base";
933c15fddfSRob Herring
943c15fddfSRob Herring        clocks = <&soc_smc50mhz>;
953c15fddfSRob Herring        clock-names = "apb_pclk";
963c15fddfSRob Herring        out-ports {
973c15fddfSRob Herring            port {
983c15fddfSRob Herring                stm_out_port: endpoint {
993c15fddfSRob Herring                    remote-endpoint = <&main_funnel_in_port2>;
1003c15fddfSRob Herring                };
1013c15fddfSRob Herring            };
1023c15fddfSRob Herring        };
1033c15fddfSRob Herring    };
1043c15fddfSRob Herring...
105