Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / arm / qcom,coresight-tpdm.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
8 title: Trace, Profiling and Diagnostics Monitor - TPDM
9
10 description: |
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
21 maintainers:
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
26 select:
27   properties:
28     compatible:
29       contains:
30         enum:
31           - qcom,coresight-tpdm
32   required:
33     - compatible
34
35 properties:
36   $nodename:
37     pattern: "^tpdm(@[0-9a-f]+)$"
38   compatible:
39     items:
40       - const: qcom,coresight-tpdm
41       - const: arm,primecell
42
43   reg:
44     minItems: 1
45     maxItems: 2
46
47   clocks:
48     maxItems: 1
49
50   clock-names:
51     items:
52       - const: apb_pclk
53
54   out-ports:
55     description: |
56       Output connections from the TPDM to coresight funnel/TPDA.
57     $ref: /schemas/graph.yaml#/properties/ports
58
59     properties:
60       port:
61         description: Output connection from the TPDM to coresight
62             funnel/TPDA.
63         $ref: /schemas/graph.yaml#/properties/port
64
65 required:
66   - compatible
67   - reg
68   - clocks
69   - clock-names
70
71 additionalProperties: false
72
73 examples:
74   # minimum TPDM definition. TPDM connect to coresight TPDA.
75   - |
76     tpdm@684c000 {
77       compatible = "qcom,coresight-tpdm", "arm,primecell";
78       reg = <0x0684c000 0x1000>;
79
80       clocks = <&aoss_qmp>;
81       clock-names = "apb_pclk";
82
83       out-ports {
84         port {
85           tpdm_prng_out_tpda_qdss: endpoint {
86             remote-endpoint =
87               <&tpda_qdss_in_tpdm_prng>;
88           };
89         };
90       };
91     };
92
93 ...