Back to home page

OSCL-LXR

 
 

    


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-tmc.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Arm CoreSight Trace Memory Controller
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   Trace Memory Controller is used for Embedded Trace Buffer(ETB), Embedded Trace
0024   FIFO(ETF) and Embedded Trace Router(ETR) configurations. The configuration
0025   mode (ETB, ETF, ETR) is discovered at boot time when the device is probed.
0026 
0027 # Need a custom select here or 'arm,primecell' will match on lots of nodes
0028 select:
0029   properties:
0030     compatible:
0031       contains:
0032         const: arm,coresight-tmc
0033   required:
0034     - compatible
0035 
0036 allOf:
0037   - $ref: /schemas/arm/primecell.yaml#
0038 
0039 properties:
0040   compatible:
0041     items:
0042       - const: arm,coresight-tmc
0043       - const: arm,primecell
0044 
0045   reg:
0046     maxItems: 1
0047 
0048   clocks:
0049     minItems: 1
0050     maxItems: 2
0051 
0052   clock-names:
0053     minItems: 1
0054     items:
0055       - const: apb_pclk
0056       - const: atclk
0057 
0058   arm,buffer-size:
0059     $ref: /schemas/types.yaml#/definitions/uint32
0060     deprecated: true
0061     description:
0062       Size of contiguous buffer space for TMC ETR (embedded trace router). The
0063       buffer size can be configured dynamically via buffer_size property in
0064       sysfs instead.
0065 
0066   arm,scatter-gather:
0067     type: boolean
0068     description:
0069       Indicates that the TMC-ETR can safely use the SG mode on this system.
0070 
0071   arm,max-burst-size:
0072     description:
0073       The maximum burst size initiated by TMC on the AXI master interface. The
0074       burst size can be in the range [0..15], the setting supports one data
0075       transfer per burst up to a maximum of 16 data transfers per burst.
0076     $ref: /schemas/types.yaml#/definitions/uint32
0077     maximum: 15
0078 
0079   in-ports:
0080     $ref: /schemas/graph.yaml#/properties/ports
0081     additionalProperties: false
0082 
0083     properties:
0084       port:
0085         description: Input connection from the CoreSight Trace bus.
0086         $ref: /schemas/graph.yaml#/properties/port
0087 
0088   out-ports:
0089     $ref: /schemas/graph.yaml#/properties/ports
0090     additionalProperties: false
0091 
0092     properties:
0093       port:
0094         description: AXI or ATB Master output connection. Used for ETR
0095           and ETF configurations.
0096         $ref: /schemas/graph.yaml#/properties/port
0097 
0098 required:
0099   - compatible
0100   - reg
0101   - clocks
0102   - clock-names
0103   - in-ports
0104 
0105 unevaluatedProperties: false
0106 
0107 examples:
0108   - |
0109     etr@20070000 {
0110         compatible = "arm,coresight-tmc", "arm,primecell";
0111         reg = <0x20070000 0x1000>;
0112 
0113         clocks = <&oscclk6a>;
0114         clock-names = "apb_pclk";
0115         in-ports {
0116             port {
0117                 etr_in_port: endpoint {
0118                     remote-endpoint = <&replicator2_out_port0>;
0119                 };
0120             };
0121         };
0122 
0123         out-ports {
0124             port {
0125                 etr_out_port: endpoint {
0126                     remote-endpoint = <&catu_in_port>;
0127                 };
0128             };
0129         };
0130     };
0131 ...