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 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 65required: 66 - compatible 67 - reg 68 - clocks 69 - clock-names 70 71additionalProperties: false 72 73examples: 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... 94