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