126 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.3%YAML 1.24---5$id: http://devicetree.org/schemas/arm/qcom,coresight-tpda.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: Trace, Profiling and Diagnostics Aggregator - TPDA9 10description: |11 TPDAs are responsible for packetization and timestamping of data sets12 utilizing the MIPI STPv2 packet protocol. Pulling data sets from one or13 more attached TPDM and pushing the resultant (packetized) data out a14 master ATB interface. Performing an arbitrated ATB interleaving (funneling)15 task for free-flowing data from TPDM (i.e. CMB and DSB data set flows).16 17 There is no strict binding between TPDM and TPDA. TPDA can have multiple18 TPDMs connect to it. But There must be only one TPDA in the path from the19 TPDM source to TMC sink. TPDM can directly connect to TPDA's inport or20 connect to funnel which will connect to TPDA's inport.21 22 We can use the commands are similar to the below to validate TPDMs.23 Enable coresight sink first.24 25 echo 1 > /sys/bus/coresight/devices/tmc_etf0/enable_sink26 echo 1 > /sys/bus/coresight/devices/tpdm0/enable_source27 echo 1 > /sys/bus/coresight/devices/tpdm0/integration_test28 echo 2 > /sys/bus/coresight/devices/tpdm0/integration_test29 30 The test data will be collected in the coresight sink which is enabled.31 If rwp register of the sink is keeping updating when do integration_test32 (by cat tmc_etf0/mgmt/rwp), it means there is data generated from TPDM33 to sink.34 35maintainers:36 - Mao Jinlong <quic_jinlmao@quicinc.com>37 - Tao Zhang <quic_taozha@quicinc.com>38 39# Need a custom select here or 'arm,primecell' will match on lots of nodes40select:41 properties:42 compatible:43 contains:44 enum:45 - qcom,coresight-tpda46 required:47 - compatible48 49properties:50 $nodename:51 pattern: "^tpda(@[0-9a-f]+)$"52 compatible:53 items:54 - const: qcom,coresight-tpda55 - const: arm,primecell56 57 reg:58 minItems: 159 maxItems: 260 61 clocks:62 maxItems: 163 64 clock-names:65 items:66 - const: apb_pclk67 68 in-ports:69 description: |70 Input connections from TPDM to TPDA71 $ref: /schemas/graph.yaml#/properties/ports72 73 out-ports:74 description: |75 Output connections from the TPDA to legacy CoreSight trace bus.76 $ref: /schemas/graph.yaml#/properties/ports77 78 properties:79 port:80 description:81 Output connection from the TPDA to legacy CoreSight Trace bus.82 $ref: /schemas/graph.yaml#/properties/port83 84required:85 - compatible86 - reg87 - clocks88 - clock-names89 - in-ports90 - out-ports91 92additionalProperties: false93 94examples:95 # minimum tpda definition.96 - |97 tpda@6004000 {98 compatible = "qcom,coresight-tpda", "arm,primecell";99 reg = <0x6004000 0x1000>;100 101 clocks = <&aoss_qmp>;102 clock-names = "apb_pclk";103 104 in-ports {105 #address-cells = <1>;106 #size-cells = <0>;107 108 port@0 {109 reg = <0>;110 tpda_qdss_0_in_tpdm_dcc: endpoint {111 remote-endpoint = <&tpdm_dcc_out_tpda_qdss_0>;112 };113 };114 };115 116 out-ports {117 port {118 tpda_qdss_out_funnel_in0: endpoint {119 remote-endpoint = <&funnel_in0_in_tpda_qdss>;120 };121 };122 };123 };124 125...126