1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 # Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
5 $id: http://devicetree.org/schemas/arm/qcom,coresight-tpdm.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: Trace, Profiling and Diagnostics Monitor - TPDM
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
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.
22 - Mao Jinlong <quic_jinlmao@quicinc.com>
23 - Tao Zhang <quic_taozha@quicinc.com>
25 # Need a custom select here or 'arm,primecell' will match on lots of nodes
37 pattern: "^tpdm(@[0-9a-f]+)$"
40 - const: qcom,coresight-tpdm
41 - const: arm,primecell
47 qcom,dsb-element-bits:
49 Specifies the DSB(Discrete Single Bit) element size supported by
50 the monitor. The associated aggregator will read this size before it
51 is enabled. DSB element size currently only supports 32-bit and 64-bit.
54 qcom,cmb-element-bits:
56 Specifies the CMB(Continuous Multi-Bit) element size supported by
57 the monitor. The associated aggregator will read this size before it
58 is enabled. CMB element size currently only supports 8-bit, 32-bit
64 Specifies the number of DSB(Discrete Single Bit) MSR(mux select register)
65 registers supported by the monitor. If this property is not configured
66 or set to 0, it means this DSB TPDM doesn't support MSR.
67 $ref: /schemas/types.yaml#/definitions/uint32
73 Specifies the number of CMB MSR(mux select register) registers supported
74 by the monitor. If this property is not configured or set to 0, it means
75 this TPDM doesn't support CMB MSR.
76 $ref: /schemas/types.yaml#/definitions/uint32
89 Output connections from the TPDM to coresight funnel/TPDA.
90 $ref: /schemas/graph.yaml#/properties/ports
94 description: Output connection from the TPDM to coresight
96 $ref: /schemas/graph.yaml#/properties/port
104 additionalProperties: false
107 # minimum TPDM definition. TPDM connect to coresight TPDA.
110 compatible = "qcom,coresight-tpdm", "arm,primecell";
111 reg = <0x0684c000 0x1000>;
113 qcom,dsb-element-bits = <32>;
114 qcom,dsb-msrs-num = <16>;
116 clocks = <&aoss_qmp>;
117 clock-names = "apb_pclk";
121 tpdm_prng_out_tpda_qdss: endpoint {
123 <&tpda_qdss_in_tpdm_prng>;
130 compatible = "qcom,coresight-tpdm", "arm,primecell";
131 reg = <0x06c29000 0x1000>;
133 qcom,cmb-element-bits = <64>;
134 qcom,cmb-msrs-num = <32>;
136 clocks = <&aoss_qmp>;
137 clock-names = "apb_pclk";
141 tpdm_ipcc_out_funnel_center: endpoint {
142 remote-endpoint = <&funnel_center_in_tpdm_ipcc>;