Skip to content

Commit 166df2a

Browse files
Jie GanSuzuki K Poulose
authored andcommitted
dt-bindings: arm: Add Coresight TMC Control Unit hardware
Add binding file to specify how to define a Coresight TMC Control Unit device in device tree. It is responsible for controlling the data filter function based on the source device's Trace ID for TMC ETR device. The trace data with that Trace id can get into ETR's buffer while other trace data gets ignored. Reviewed-by: Rob Herring (Arm) <[email protected]> Signed-off-by: Jie Gan <[email protected]> Signed-off-by: Suzuki K Poulose <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 080ee83 commit 166df2a

File tree

1 file changed

+84
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)