File Index
Files and directories
Sign in
FILE

qcom,coresight-tpdm.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  3%YAML 1.2
  4---
  5$id: http://devicetree.org/schemas/arm/qcom,coresight-tpdm.yaml#
  6$schema: http://devicetree.org/meta-schemas/core.yaml#
  7
  8title: Trace, Profiling and Diagnostics Monitor - TPDM
  9
 10description: |
 11  The TPDM or Monitor serves as data collection component for various dataset
 12  types specified in the QPMDA spec. It covers Implementation defined ((ImplDef),
 13  Basic Counts (BC), Tenure Counts (TC), Continuous Multi-Bit (CMB), and Discrete
 14  Single Bit (DSB). It performs data collection in the data producing clock
 15  domain and transfers it to the data collection time domain, generally ATB
 16  clock domain.
 17
 18  The primary use case of the TPDM is to collect data from different data
 19  sources and send it to a TPDA for packetization, timestamping, and funneling.
 20
 21maintainers:
 22  - Mao Jinlong <quic_jinlmao@quicinc.com>
 23  - Tao Zhang <quic_taozha@quicinc.com>
 24
 25# Need a custom select here or 'arm,primecell' will match on lots of nodes
 26select:
 27  properties:
 28    compatible:
 29      contains:
 30        enum:
 31          - qcom,coresight-tpdm
 32  required:
 33    - compatible
 34
 35properties:
 36  $nodename:
 37    pattern: "^tpdm(@[0-9a-f]+)$"
 38  compatible:
 39    oneOf:
 40      - items:
 41          - const: qcom,coresight-static-tpdm
 42      - items:
 43          - const: qcom,coresight-tpdm
 44          - const: arm,primecell
 45
 46  reg:
 47    maxItems: 1
 48
 49  qcom,dsb-element-bits:
 50    description:
 51      Specifies the DSB(Discrete Single Bit) element size supported by
 52      the monitor. The associated aggregator will read this size before it
 53      is enabled. DSB element size currently only supports 32-bit and 64-bit.
 54    enum: [32, 64]
 55
 56  qcom,cmb-element-bits:
 57    description:
 58      Specifies the CMB(Continuous Multi-Bit) element size supported by
 59      the monitor. The associated aggregator will read this size before it
 60      is enabled. CMB element size currently only supports 8-bit, 32-bit
 61      and 64-bit.
 62    enum: [8, 32, 64]
 63
 64  qcom,dsb-msrs-num:
 65    description:
 66      Specifies the number of DSB(Discrete Single Bit) MSR(mux select register)
 67      registers supported by the monitor. If this property is not configured
 68      or set to 0, it means this DSB TPDM doesn't support MSR.
 69    $ref: /schemas/types.yaml#/definitions/uint32
 70    minimum: 0
 71    maximum: 32
 72
 73  qcom,cmb-msrs-num:
 74    description:
 75      Specifies the number of CMB MSR(mux select register) registers supported
 76      by the monitor. If this property is not configured or set to 0, it means
 77      this TPDM doesn't support CMB MSR.
 78    $ref: /schemas/types.yaml#/definitions/uint32
 79    minimum: 0
 80    maximum: 32
 81
 82  label:
 83    description:
 84      Description of a coresight device.
 85
 86  clocks:
 87    maxItems: 1
 88
 89  clock-names:
 90    items:
 91      - const: apb_pclk
 92
 93  out-ports:
 94    description: |
 95      Output connections from the TPDM to coresight funnel/TPDA.
 96    $ref: /schemas/graph.yaml#/properties/ports
 97
 98    properties:
 99      port:
100        description: Output connection from the TPDM to coresight
101            funnel/TPDA.
102        $ref: /schemas/graph.yaml#/properties/port
103
104required:
105  - compatible
106  - reg
107  - clocks
108  - clock-names
109
110additionalProperties: false
111
112examples:
113  # minimum TPDM definition. TPDM connect to coresight TPDA.
114  - |
115    tpdm@684c000 {
116      compatible = "qcom,coresight-tpdm", "arm,primecell";
117      reg = <0x0684c000 0x1000>;
118
119      qcom,dsb-element-bits = <32>;
120      qcom,dsb-msrs-num = <16>;
121
122      clocks = <&aoss_qmp>;
123      clock-names = "apb_pclk";
124
125      out-ports {
126        port {
127          tpdm_prng_out_tpda_qdss: endpoint {
128            remote-endpoint =
129              <&tpda_qdss_in_tpdm_prng>;
130          };
131        };
132      };
133    };
134
135    tpdm@6c29000 {
136      compatible = "qcom,coresight-tpdm", "arm,primecell";
137      reg = <0x06c29000 0x1000>;
138
139      qcom,cmb-element-bits = <64>;
140      qcom,cmb-msrs-num = <32>;
141
142      clocks = <&aoss_qmp>;
143      clock-names = "apb_pclk";
144
145      out-ports {
146        port {
147          tpdm_ipcc_out_funnel_center: endpoint {
148            remote-endpoint = <&funnel_center_in_tpdm_ipcc>;
149          };
150        };
151      };
152    };
153
154    turing-llm-tpdm {
155      compatible = "qcom,coresight-static-tpdm";
156
157      qcom,cmb-element-bits = <32>;
158
159      out-ports {
160        port {
161         turing_llm_tpdm_out: endpoint {
162           remote-endpoint = <&turing0_funnel_in1>;
163         };
164        };
165      };
166    };
167...
~/ Read-only file preview.