1*166df2a1SJie Gan# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*166df2a1SJie Gan%YAML 1.2 3*166df2a1SJie Gan--- 4*166df2a1SJie Gan$id: http://devicetree.org/schemas/arm/qcom,coresight-ctcu.yaml# 5*166df2a1SJie Gan$schema: http://devicetree.org/meta-schemas/core.yaml# 6*166df2a1SJie Gan 7*166df2a1SJie Gantitle: CoreSight TMC Control Unit 8*166df2a1SJie Gan 9*166df2a1SJie Ganmaintainers: 10*166df2a1SJie Gan - Yuanfang Zhang <quic_yuanfang@quicinc.com> 11*166df2a1SJie Gan - Mao Jinlong <quic_jinlmao@quicinc.com> 12*166df2a1SJie Gan - Jie Gan <quic_jiegan@quicinc.com> 13*166df2a1SJie Gan 14*166df2a1SJie Gandescription: | 15*166df2a1SJie Gan The Trace Memory Controller(TMC) is used for Embedded Trace Buffer(ETB), 16*166df2a1SJie Gan Embedded Trace FIFO(ETF) and Embedded Trace Router(ETR) configurations. 17*166df2a1SJie Gan The configuration mode (ETB, ETF, ETR) is discovered at boot time when 18*166df2a1SJie Gan the device is probed. 19*166df2a1SJie Gan 20*166df2a1SJie Gan The Coresight TMC Control unit controls various Coresight behaviors. 21*166df2a1SJie Gan It works as a helper device when connected to TMC ETR device. 22*166df2a1SJie Gan It is responsible for controlling the data filter function based on 23*166df2a1SJie Gan the source device's Trace ID for TMC ETR device. The trace data with 24*166df2a1SJie Gan that Trace id can get into ETR's buffer while other trace data gets 25*166df2a1SJie Gan ignored. 26*166df2a1SJie Gan 27*166df2a1SJie Ganproperties: 28*166df2a1SJie Gan compatible: 29*166df2a1SJie Gan enum: 30*166df2a1SJie Gan - qcom,sa8775p-ctcu 31*166df2a1SJie Gan 32*166df2a1SJie Gan reg: 33*166df2a1SJie Gan maxItems: 1 34*166df2a1SJie Gan 35*166df2a1SJie Gan clocks: 36*166df2a1SJie Gan maxItems: 1 37*166df2a1SJie Gan 38*166df2a1SJie Gan clock-names: 39*166df2a1SJie Gan items: 40*166df2a1SJie Gan - const: apb 41*166df2a1SJie Gan 42*166df2a1SJie Gan in-ports: 43*166df2a1SJie Gan $ref: /schemas/graph.yaml#/properties/ports 44*166df2a1SJie Gan 45*166df2a1SJie Gan patternProperties: 46*166df2a1SJie Gan '^port(@[0-1])?$': 47*166df2a1SJie Gan description: Input connections from CoreSight Trace bus 48*166df2a1SJie Gan $ref: /schemas/graph.yaml#/properties/port 49*166df2a1SJie Gan 50*166df2a1SJie Ganrequired: 51*166df2a1SJie Gan - compatible 52*166df2a1SJie Gan - reg 53*166df2a1SJie Gan - in-ports 54*166df2a1SJie Gan 55*166df2a1SJie GanadditionalProperties: false 56*166df2a1SJie Gan 57*166df2a1SJie Ganexamples: 58*166df2a1SJie Gan - | 59*166df2a1SJie Gan ctcu@1001000 { 60*166df2a1SJie Gan compatible = "qcom,sa8775p-ctcu"; 61*166df2a1SJie Gan reg = <0x1001000 0x1000>; 62*166df2a1SJie Gan 63*166df2a1SJie Gan clocks = <&aoss_qmp>; 64*166df2a1SJie Gan clock-names = "apb"; 65*166df2a1SJie Gan 66*166df2a1SJie Gan in-ports { 67*166df2a1SJie Gan #address-cells = <1>; 68*166df2a1SJie Gan #size-cells = <0>; 69*166df2a1SJie Gan 70*166df2a1SJie Gan port@0 { 71*166df2a1SJie Gan reg = <0>; 72*166df2a1SJie Gan ctcu_in_port0: endpoint { 73*166df2a1SJie Gan remote-endpoint = <&etr0_out_port>; 74*166df2a1SJie Gan }; 75*166df2a1SJie Gan }; 76*166df2a1SJie Gan 77*166df2a1SJie Gan port@1 { 78*166df2a1SJie Gan reg = <1>; 79*166df2a1SJie Gan ctcu_in_port1: endpoint { 80*166df2a1SJie Gan remote-endpoint = <&etr1_out_port>; 81*166df2a1SJie Gan }; 82*166df2a1SJie Gan }; 83*166df2a1SJie Gan }; 84*166df2a1SJie Gan }; 85