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 items: 40 - const: qcom,coresight-tpdm 41 - const: arm,primecell 42 43 reg: 44 maxItems: 1 45 46 qcom,dsb-element-bits: 47 description: 48 Specifies the DSB(Discrete Single Bit) element size supported by 49 the monitor. The associated aggregator will read this size before it 50 is enabled. DSB element size currently only supports 32-bit and 64-bit. 51 enum: [32, 64] 52 53 qcom,cmb-element-bits: 54 description: 55 Specifies the CMB(Continuous Multi-Bit) element size supported by 56 the monitor. The associated aggregator will read this size before it 57 is enabled. CMB element size currently only supports 8-bit, 32-bit 58 and 64-bit. 59 enum: [8, 32, 64] 60 61 qcom,dsb-msrs-num: 62 description: 63 Specifies the number of DSB(Discrete Single Bit) MSR(mux select register) 64 registers supported by the monitor. If this property is not configured 65 or set to 0, it means this DSB TPDM doesn't support MSR. 66 $ref: /schemas/types.yaml#/definitions/uint32 67 minimum: 0 68 maximum: 32 69 70 qcom,cmb-msrs-num: 71 description: 72 Specifies the number of CMB MSR(mux select register) registers supported 73 by the monitor. If this property is not configured or set to 0, it means 74 this TPDM doesn't support CMB MSR. 75 $ref: /schemas/types.yaml#/definitions/uint32 76 minimum: 0 77 maximum: 32 78 79 label: 80 description: 81 Description of a coresight device. 82 83 clocks: 84 maxItems: 1 85 86 clock-names: 87 items: 88 - const: apb_pclk 89 90 out-ports: 91 description: | 92 Output connections from the TPDM to coresight funnel/TPDA. 93 $ref: /schemas/graph.yaml#/properties/ports 94 95 properties: 96 port: 97 description: Output connection from the TPDM to coresight 98 funnel/TPDA. 99 $ref: /schemas/graph.yaml#/properties/port 100 101required: 102 - compatible 103 - reg 104 - clocks 105 - clock-names 106 107additionalProperties: false 108 109examples: 110 # minimum TPDM definition. TPDM connect to coresight TPDA. 111 - | 112 tpdm@684c000 { 113 compatible = "qcom,coresight-tpdm", "arm,primecell"; 114 reg = <0x0684c000 0x1000>; 115 116 qcom,dsb-element-bits = <32>; 117 qcom,dsb-msrs-num = <16>; 118 119 clocks = <&aoss_qmp>; 120 clock-names = "apb_pclk"; 121 122 out-ports { 123 port { 124 tpdm_prng_out_tpda_qdss: endpoint { 125 remote-endpoint = 126 <&tpda_qdss_in_tpdm_prng>; 127 }; 128 }; 129 }; 130 }; 131 132 tpdm@6c29000 { 133 compatible = "qcom,coresight-tpdm", "arm,primecell"; 134 reg = <0x06c29000 0x1000>; 135 136 qcom,cmb-element-bits = <64>; 137 qcom,cmb-msrs-num = <32>; 138 139 clocks = <&aoss_qmp>; 140 clock-names = "apb_pclk"; 141 142 out-ports { 143 port { 144 tpdm_ipcc_out_funnel_center: endpoint { 145 remote-endpoint = <&funnel_center_in_tpdm_ipcc>; 146 }; 147 }; 148 }; 149 }; 150... 151