xref: /freebsd-src/sys/contrib/device-tree/Bindings/arm/coresight.txt (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
1c66ec88fSEmmanuel Vadot* CoreSight Components:
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotCoreSight components are compliant with the ARM CoreSight architecture
4c66ec88fSEmmanuel Vadotspecification and can be connected in various topologies to suit a particular
5c66ec88fSEmmanuel VadotSoCs tracing needs. These trace components can generally be classified as
6c66ec88fSEmmanuel Vadotsinks, links and sources. Trace data produced by one or more sources flows
7c66ec88fSEmmanuel Vadotthrough the intermediate links connecting the source to the currently selected
8c66ec88fSEmmanuel Vadotsink. Each CoreSight component device should use these properties to describe
9c66ec88fSEmmanuel Vadotits hardware characteristcs.
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot* Required properties for all components *except* non-configurable replicators
12c66ec88fSEmmanuel Vadot  and non-configurable funnels:
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot	* compatible: These have to be supplemented with "arm,primecell" as
15c66ec88fSEmmanuel Vadot	  drivers are using the AMBA bus interface.  Possible values include:
16c66ec88fSEmmanuel Vadot		- Embedded Trace Buffer (version 1.0):
17c66ec88fSEmmanuel Vadot			"arm,coresight-etb10", "arm,primecell";
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot		- Trace Port Interface Unit:
20c66ec88fSEmmanuel Vadot			"arm,coresight-tpiu", "arm,primecell";
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot		- Trace Memory Controller, used for Embedded Trace Buffer(ETB),
23c66ec88fSEmmanuel Vadot		  Embedded Trace FIFO(ETF) and Embedded Trace Router(ETR)
24c66ec88fSEmmanuel Vadot		  configuration.  The configuration mode (ETB, ETF, ETR) is
25c66ec88fSEmmanuel Vadot		  discovered at boot time when the device is probed.
26c66ec88fSEmmanuel Vadot			"arm,coresight-tmc", "arm,primecell";
27c66ec88fSEmmanuel Vadot
28c66ec88fSEmmanuel Vadot		- Trace Programmable Funnel:
29c66ec88fSEmmanuel Vadot			"arm,coresight-dynamic-funnel", "arm,primecell";
30c66ec88fSEmmanuel Vadot			"arm,coresight-funnel", "arm,primecell"; (OBSOLETE. For
31c66ec88fSEmmanuel Vadot				backward compatibility and will be removed)
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot		- Embedded Trace Macrocell (version 3.x) and
34c66ec88fSEmmanuel Vadot					Program Flow Trace Macrocell:
35c66ec88fSEmmanuel Vadot			"arm,coresight-etm3x", "arm,primecell";
36c66ec88fSEmmanuel Vadot
375def4c47SEmmanuel Vadot		- Embedded Trace Macrocell (version 4.x), with memory mapped access.
38c66ec88fSEmmanuel Vadot			"arm,coresight-etm4x", "arm,primecell";
39c66ec88fSEmmanuel Vadot
405def4c47SEmmanuel Vadot		- Embedded Trace Macrocell (version 4.x), with system register access only.
415def4c47SEmmanuel Vadot			"arm,coresight-etm4x-sysreg";
425def4c47SEmmanuel Vadot
43c66ec88fSEmmanuel Vadot		- Coresight programmable Replicator :
44c66ec88fSEmmanuel Vadot			"arm,coresight-dynamic-replicator", "arm,primecell";
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot		- System Trace Macrocell:
47c66ec88fSEmmanuel Vadot			"arm,coresight-stm", "arm,primecell"; [1]
48c66ec88fSEmmanuel Vadot		- Coresight Address Translation Unit (CATU)
49c66ec88fSEmmanuel Vadot			"arm,coresight-catu", "arm,primecell";
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot		- Coresight Cross Trigger Interface (CTI):
52c66ec88fSEmmanuel Vadot			"arm,coresight-cti", "arm,primecell";
53c66ec88fSEmmanuel Vadot			See coresight-cti.yaml for full CTI definitions.
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot	* reg: physical base address and length of the register
56c66ec88fSEmmanuel Vadot	  set(s) of the component.
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot	* clocks: the clocks associated to this component.
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot	* clock-names: the name of the clocks referenced by the code.
61c66ec88fSEmmanuel Vadot	  Since we are using the AMBA framework, the name of the clock
62c66ec88fSEmmanuel Vadot	  providing the interconnect should be "apb_pclk", and some
63c66ec88fSEmmanuel Vadot	  coresight blocks also have an additional clock "atclk", which
64c66ec88fSEmmanuel Vadot	  clocks the core of that coresight component. The latter clock
65c66ec88fSEmmanuel Vadot	  is optional.
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot	* port or ports: see "Graph bindings for Coresight" below.
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot* Additional required property for Embedded Trace Macrocell (version 3.x and
70c66ec88fSEmmanuel Vadot  version 4.x):
71c66ec88fSEmmanuel Vadot	* cpu: the cpu phandle this ETM/PTM is affined to. Do not
72c66ec88fSEmmanuel Vadot	  assume it to default to CPU0 if omitted.
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot* Additional required properties for System Trace Macrocells (STM):
75c66ec88fSEmmanuel Vadot	* reg: along with the physical base address and length of the register
76c66ec88fSEmmanuel Vadot	  set as described above, another entry is required to describe the
77c66ec88fSEmmanuel Vadot	  mapping of the extended stimulus port area.
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot	* reg-names: the only acceptable values are "stm-base" and
80c66ec88fSEmmanuel Vadot	  "stm-stimulus-base", each corresponding to the areas defined in "reg".
81c66ec88fSEmmanuel Vadot
82c66ec88fSEmmanuel Vadot* Required properties for Coresight Cross Trigger Interface (CTI)
83c66ec88fSEmmanuel Vadot	See coresight-cti.yaml for full CTI definitions.
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot* Required properties for devices that don't show up on the AMBA bus, such as
86c66ec88fSEmmanuel Vadot  non-configurable replicators and non-configurable funnels:
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot	* compatible: Currently supported value is (note the absence of the
89c66ec88fSEmmanuel Vadot	  AMBA markee):
90c66ec88fSEmmanuel Vadot		- Coresight Non-configurable Replicator:
91c66ec88fSEmmanuel Vadot			"arm,coresight-static-replicator";
92c66ec88fSEmmanuel Vadot			"arm,coresight-replicator"; (OBSOLETE. For backward
93c66ec88fSEmmanuel Vadot				compatibility and will be removed)
94c66ec88fSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot		- Coresight Non-configurable Funnel:
96c66ec88fSEmmanuel Vadot			"arm,coresight-static-funnel";
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot	* port or ports: see "Graph bindings for Coresight" below.
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot* Optional properties for all components:
101c66ec88fSEmmanuel Vadot
102c66ec88fSEmmanuel Vadot	* arm,coresight-loses-context-with-cpu : boolean. Indicates that the
103c66ec88fSEmmanuel Vadot	  hardware will lose register context on CPU power down (e.g. CPUIdle).
104c66ec88fSEmmanuel Vadot	  An example of where this may be needed are systems which contain a
105c66ec88fSEmmanuel Vadot	  coresight component and CPU in the same power domain. When the CPU
106c66ec88fSEmmanuel Vadot	  powers down the coresight component also powers down and loses its
107c66ec88fSEmmanuel Vadot	  context. This property is currently only used for the ETM 4.x driver.
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot* Optional properties for ETM/PTMs:
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot	* arm,cp14: must be present if the system accesses ETM/PTM management
112c66ec88fSEmmanuel Vadot	  registers via co-processor 14.
113c66ec88fSEmmanuel Vadot
114c66ec88fSEmmanuel Vadot	* qcom,skip-power-up: boolean. Indicates that an implementation can
115c66ec88fSEmmanuel Vadot	  skip powering up the trace unit. TRCPDCR.PU does not have to be set
116c66ec88fSEmmanuel Vadot	  on Qualcomm Technologies Inc. systems since ETMs are in the same power
117c66ec88fSEmmanuel Vadot	  domain as their CPU cores. This property is required to identify such
118c66ec88fSEmmanuel Vadot	  systems with hardware errata where the CPU watchdog counter is stopped
119c66ec88fSEmmanuel Vadot	  when TRCPDCR.PU is set.
120c66ec88fSEmmanuel Vadot
121c66ec88fSEmmanuel Vadot* Optional property for TMC:
122c66ec88fSEmmanuel Vadot
123c66ec88fSEmmanuel Vadot	* arm,buffer-size: size of contiguous buffer space for TMC ETR
124c66ec88fSEmmanuel Vadot	  (embedded trace router). This property is obsolete. The buffer size
125c66ec88fSEmmanuel Vadot	  can be configured dynamically via buffer_size property in sysfs.
126c66ec88fSEmmanuel Vadot
127c66ec88fSEmmanuel Vadot	* arm,scatter-gather: boolean. Indicates that the TMC-ETR can safely
128c66ec88fSEmmanuel Vadot	  use the SG mode on this system.
129c66ec88fSEmmanuel Vadot
130*8cc087a1SEmmanuel Vadot	* arm,max-burst-size: The maximum burst size initiated by TMC on the
131*8cc087a1SEmmanuel Vadot	  AXI master interface. The burst size can be in the range [0..15],
132*8cc087a1SEmmanuel Vadot	  the setting supports one data transfer per burst up to a maximum of
133*8cc087a1SEmmanuel Vadot	  16 data transfers per burst.
134*8cc087a1SEmmanuel Vadot
135c66ec88fSEmmanuel Vadot* Optional property for CATU :
136c66ec88fSEmmanuel Vadot	* interrupts : Exactly one SPI may be listed for reporting the address
137c66ec88fSEmmanuel Vadot	  error
138c66ec88fSEmmanuel Vadot
139c66ec88fSEmmanuel Vadot* Optional property for configurable replicators:
140c66ec88fSEmmanuel Vadot
141c66ec88fSEmmanuel Vadot	* qcom,replicator-loses-context: boolean. Indicates that the replicator
142c66ec88fSEmmanuel Vadot	  will lose register context when AMBA clock is removed which is observed
143c66ec88fSEmmanuel Vadot	  in some replicator designs.
144c66ec88fSEmmanuel Vadot
145c66ec88fSEmmanuel VadotGraph bindings for Coresight
146c66ec88fSEmmanuel Vadot-------------------------------
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel VadotCoresight components are interconnected to create a data path for the flow of
149c66ec88fSEmmanuel Vadottrace data generated from the "sources" to their collection points "sink".
150c66ec88fSEmmanuel VadotEach coresight component must describe the "input" and "output" connections.
151c66ec88fSEmmanuel VadotThe connections must be described via generic DT graph bindings as described
152c66ec88fSEmmanuel Vadotby the "bindings/graph.txt", where each "port" along with an "endpoint"
153c66ec88fSEmmanuel Vadotcomponent represents a hardware port and the connection.
154c66ec88fSEmmanuel Vadot
155c66ec88fSEmmanuel Vadot * All output ports must be listed inside a child node named "out-ports"
156c66ec88fSEmmanuel Vadot * All input ports must be listed inside a child node named "in-ports".
157c66ec88fSEmmanuel Vadot * Port address must match the hardware port number.
158c66ec88fSEmmanuel Vadot
159c66ec88fSEmmanuel VadotExample:
160c66ec88fSEmmanuel Vadot
161c66ec88fSEmmanuel Vadot1. Sinks
162c66ec88fSEmmanuel Vadot	etb@20010000 {
163c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-etb10", "arm,primecell";
164c66ec88fSEmmanuel Vadot		reg = <0 0x20010000 0 0x1000>;
165c66ec88fSEmmanuel Vadot
166c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
167c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
168c66ec88fSEmmanuel Vadot		in-ports {
169c66ec88fSEmmanuel Vadot			port {
170c66ec88fSEmmanuel Vadot				etb_in_port: endpoint@0 {
171c66ec88fSEmmanuel Vadot					remote-endpoint = <&replicator_out_port0>;
172c66ec88fSEmmanuel Vadot				};
173c66ec88fSEmmanuel Vadot			};
174c66ec88fSEmmanuel Vadot		};
175c66ec88fSEmmanuel Vadot	};
176c66ec88fSEmmanuel Vadot
177c66ec88fSEmmanuel Vadot	tpiu@20030000 {
178c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-tpiu", "arm,primecell";
179c66ec88fSEmmanuel Vadot		reg = <0 0x20030000 0 0x1000>;
180c66ec88fSEmmanuel Vadot
181c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
182c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
183c66ec88fSEmmanuel Vadot		in-ports {
184c66ec88fSEmmanuel Vadot			port {
185c66ec88fSEmmanuel Vadot				tpiu_in_port: endpoint@0 {
186c66ec88fSEmmanuel Vadot					remote-endpoint = <&replicator_out_port1>;
187c66ec88fSEmmanuel Vadot				};
188c66ec88fSEmmanuel Vadot			};
189c66ec88fSEmmanuel Vadot		};
190c66ec88fSEmmanuel Vadot	};
191c66ec88fSEmmanuel Vadot
192c66ec88fSEmmanuel Vadot	etr@20070000 {
193c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-tmc", "arm,primecell";
194c66ec88fSEmmanuel Vadot		reg = <0 0x20070000 0 0x1000>;
195c66ec88fSEmmanuel Vadot
196c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
197c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
198c66ec88fSEmmanuel Vadot		in-ports {
199c66ec88fSEmmanuel Vadot			port {
200c66ec88fSEmmanuel Vadot				etr_in_port: endpoint {
201c66ec88fSEmmanuel Vadot					remote-endpoint = <&replicator2_out_port0>;
202c66ec88fSEmmanuel Vadot				};
203c66ec88fSEmmanuel Vadot			};
204c66ec88fSEmmanuel Vadot		};
205c66ec88fSEmmanuel Vadot
206c66ec88fSEmmanuel Vadot		out-ports {
207c66ec88fSEmmanuel Vadot			port {
208c66ec88fSEmmanuel Vadot				etr_out_port: endpoint {
209c66ec88fSEmmanuel Vadot					remote-endpoint = <&catu_in_port>;
210c66ec88fSEmmanuel Vadot				};
211c66ec88fSEmmanuel Vadot			};
212c66ec88fSEmmanuel Vadot		};
213c66ec88fSEmmanuel Vadot	};
214c66ec88fSEmmanuel Vadot
215c66ec88fSEmmanuel Vadot2. Links
216c66ec88fSEmmanuel Vadot	replicator {
217c66ec88fSEmmanuel Vadot		/* non-configurable replicators don't show up on the
218c66ec88fSEmmanuel Vadot		 * AMBA bus.  As such no need to add "arm,primecell".
219c66ec88fSEmmanuel Vadot		 */
220c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-static-replicator";
221c66ec88fSEmmanuel Vadot
222c66ec88fSEmmanuel Vadot		out-ports {
223c66ec88fSEmmanuel Vadot			#address-cells = <1>;
224c66ec88fSEmmanuel Vadot			#size-cells = <0>;
225c66ec88fSEmmanuel Vadot
226c66ec88fSEmmanuel Vadot			/* replicator output ports */
227c66ec88fSEmmanuel Vadot			port@0 {
228c66ec88fSEmmanuel Vadot				reg = <0>;
229c66ec88fSEmmanuel Vadot				replicator_out_port0: endpoint {
230c66ec88fSEmmanuel Vadot					remote-endpoint = <&etb_in_port>;
231c66ec88fSEmmanuel Vadot				};
232c66ec88fSEmmanuel Vadot			};
233c66ec88fSEmmanuel Vadot
234c66ec88fSEmmanuel Vadot			port@1 {
235c66ec88fSEmmanuel Vadot				reg = <1>;
236c66ec88fSEmmanuel Vadot				replicator_out_port1: endpoint {
237c66ec88fSEmmanuel Vadot					remote-endpoint = <&tpiu_in_port>;
238c66ec88fSEmmanuel Vadot				};
239c66ec88fSEmmanuel Vadot			};
240c66ec88fSEmmanuel Vadot		};
241c66ec88fSEmmanuel Vadot
242c66ec88fSEmmanuel Vadot		in-ports {
243c66ec88fSEmmanuel Vadot			port {
244c66ec88fSEmmanuel Vadot				replicator_in_port0: endpoint {
245c66ec88fSEmmanuel Vadot					remote-endpoint = <&funnel_out_port0>;
246c66ec88fSEmmanuel Vadot				};
247c66ec88fSEmmanuel Vadot			};
248c66ec88fSEmmanuel Vadot		};
249c66ec88fSEmmanuel Vadot	};
250c66ec88fSEmmanuel Vadot
251c66ec88fSEmmanuel Vadot	funnel {
252c66ec88fSEmmanuel Vadot		/*
253c66ec88fSEmmanuel Vadot		 * non-configurable funnel don't show up on the AMBA
254c66ec88fSEmmanuel Vadot		 * bus.  As such no need to add "arm,primecell".
255c66ec88fSEmmanuel Vadot		 */
256c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-static-funnel";
257c66ec88fSEmmanuel Vadot		clocks = <&crg_ctrl HI3660_PCLK>;
258c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
259c66ec88fSEmmanuel Vadot
260c66ec88fSEmmanuel Vadot		out-ports {
261c66ec88fSEmmanuel Vadot			port {
262c66ec88fSEmmanuel Vadot				combo_funnel_out: endpoint {
263c66ec88fSEmmanuel Vadot					remote-endpoint = <&top_funnel_in>;
264c66ec88fSEmmanuel Vadot				};
265c66ec88fSEmmanuel Vadot			};
266c66ec88fSEmmanuel Vadot		};
267c66ec88fSEmmanuel Vadot
268c66ec88fSEmmanuel Vadot		in-ports {
269c66ec88fSEmmanuel Vadot			#address-cells = <1>;
270c66ec88fSEmmanuel Vadot			#size-cells = <0>;
271c66ec88fSEmmanuel Vadot
272c66ec88fSEmmanuel Vadot			port@0 {
273c66ec88fSEmmanuel Vadot				reg = <0>;
274c66ec88fSEmmanuel Vadot				combo_funnel_in0: endpoint {
275c66ec88fSEmmanuel Vadot					remote-endpoint = <&cluster0_etf_out>;
276c66ec88fSEmmanuel Vadot				};
277c66ec88fSEmmanuel Vadot			};
278c66ec88fSEmmanuel Vadot
279c66ec88fSEmmanuel Vadot			port@1 {
280c66ec88fSEmmanuel Vadot				reg = <1>;
281c66ec88fSEmmanuel Vadot				combo_funnel_in1: endpoint {
282c66ec88fSEmmanuel Vadot					remote-endpoint = <&cluster1_etf_out>;
283c66ec88fSEmmanuel Vadot				};
284c66ec88fSEmmanuel Vadot			};
285c66ec88fSEmmanuel Vadot		};
286c66ec88fSEmmanuel Vadot	};
287c66ec88fSEmmanuel Vadot
288c66ec88fSEmmanuel Vadot	funnel@20040000 {
289c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
290c66ec88fSEmmanuel Vadot		reg = <0 0x20040000 0 0x1000>;
291c66ec88fSEmmanuel Vadot
292c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
293c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
294c66ec88fSEmmanuel Vadot		out-ports {
295c66ec88fSEmmanuel Vadot			port {
296c66ec88fSEmmanuel Vadot				funnel_out_port0: endpoint {
297c66ec88fSEmmanuel Vadot					remote-endpoint =
298c66ec88fSEmmanuel Vadot							<&replicator_in_port0>;
299c66ec88fSEmmanuel Vadot				};
300c66ec88fSEmmanuel Vadot			};
301c66ec88fSEmmanuel Vadot		};
302c66ec88fSEmmanuel Vadot
303c66ec88fSEmmanuel Vadot		in-ports {
304c66ec88fSEmmanuel Vadot			#address-cells = <1>;
305c66ec88fSEmmanuel Vadot			#size-cells = <0>;
306c66ec88fSEmmanuel Vadot
307c66ec88fSEmmanuel Vadot			port@0 {
308c66ec88fSEmmanuel Vadot				reg = <0>;
309c66ec88fSEmmanuel Vadot				funnel_in_port0: endpoint {
310c66ec88fSEmmanuel Vadot					remote-endpoint = <&ptm0_out_port>;
311c66ec88fSEmmanuel Vadot				};
312c66ec88fSEmmanuel Vadot			};
313c66ec88fSEmmanuel Vadot
314c66ec88fSEmmanuel Vadot			port@1 {
315c66ec88fSEmmanuel Vadot				reg = <1>;
316c66ec88fSEmmanuel Vadot				funnel_in_port1: endpoint {
317c66ec88fSEmmanuel Vadot					remote-endpoint = <&ptm1_out_port>;
318c66ec88fSEmmanuel Vadot				};
319c66ec88fSEmmanuel Vadot			};
320c66ec88fSEmmanuel Vadot
321c66ec88fSEmmanuel Vadot			port@2 {
322c66ec88fSEmmanuel Vadot				reg = <2>;
323c66ec88fSEmmanuel Vadot				funnel_in_port2: endpoint {
324c66ec88fSEmmanuel Vadot					remote-endpoint = <&etm0_out_port>;
325c66ec88fSEmmanuel Vadot				};
326c66ec88fSEmmanuel Vadot			};
327c66ec88fSEmmanuel Vadot
328c66ec88fSEmmanuel Vadot		};
329c66ec88fSEmmanuel Vadot	};
330c66ec88fSEmmanuel Vadot
331c66ec88fSEmmanuel Vadot3. Sources
332c66ec88fSEmmanuel Vadot	ptm@2201c000 {
333c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-etm3x", "arm,primecell";
334c66ec88fSEmmanuel Vadot		reg = <0 0x2201c000 0 0x1000>;
335c66ec88fSEmmanuel Vadot
336c66ec88fSEmmanuel Vadot		cpu = <&cpu0>;
337c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
338c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
339c66ec88fSEmmanuel Vadot		out-ports {
340c66ec88fSEmmanuel Vadot			port {
341c66ec88fSEmmanuel Vadot				ptm0_out_port: endpoint {
342c66ec88fSEmmanuel Vadot					remote-endpoint = <&funnel_in_port0>;
343c66ec88fSEmmanuel Vadot				};
344c66ec88fSEmmanuel Vadot			};
345c66ec88fSEmmanuel Vadot		};
346c66ec88fSEmmanuel Vadot	};
347c66ec88fSEmmanuel Vadot
348c66ec88fSEmmanuel Vadot	ptm@2201d000 {
349c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-etm3x", "arm,primecell";
350c66ec88fSEmmanuel Vadot		reg = <0 0x2201d000 0 0x1000>;
351c66ec88fSEmmanuel Vadot
352c66ec88fSEmmanuel Vadot		cpu = <&cpu1>;
353c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
354c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
355c66ec88fSEmmanuel Vadot		out-ports {
356c66ec88fSEmmanuel Vadot			port {
357c66ec88fSEmmanuel Vadot				ptm1_out_port: endpoint {
358c66ec88fSEmmanuel Vadot					remote-endpoint = <&funnel_in_port1>;
359c66ec88fSEmmanuel Vadot				};
360c66ec88fSEmmanuel Vadot			};
361c66ec88fSEmmanuel Vadot		};
362c66ec88fSEmmanuel Vadot	};
363c66ec88fSEmmanuel Vadot
364c66ec88fSEmmanuel Vadot4. STM
365c66ec88fSEmmanuel Vadot	stm@20100000 {
366c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-stm", "arm,primecell";
367c66ec88fSEmmanuel Vadot		reg = <0 0x20100000 0 0x1000>,
368c66ec88fSEmmanuel Vadot		      <0 0x28000000 0 0x180000>;
369c66ec88fSEmmanuel Vadot		reg-names = "stm-base", "stm-stimulus-base";
370c66ec88fSEmmanuel Vadot
371c66ec88fSEmmanuel Vadot		clocks = <&soc_smc50mhz>;
372c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
373c66ec88fSEmmanuel Vadot		out-ports {
374c66ec88fSEmmanuel Vadot			port {
375c66ec88fSEmmanuel Vadot				stm_out_port: endpoint {
376c66ec88fSEmmanuel Vadot					remote-endpoint = <&main_funnel_in_port2>;
377c66ec88fSEmmanuel Vadot				};
378c66ec88fSEmmanuel Vadot			};
379c66ec88fSEmmanuel Vadot		};
380c66ec88fSEmmanuel Vadot	};
381c66ec88fSEmmanuel Vadot
382c66ec88fSEmmanuel Vadot5. CATU
383c66ec88fSEmmanuel Vadot
384c66ec88fSEmmanuel Vadot	catu@207e0000 {
385c66ec88fSEmmanuel Vadot		compatible = "arm,coresight-catu", "arm,primecell";
386c66ec88fSEmmanuel Vadot		reg = <0 0x207e0000 0 0x1000>;
387c66ec88fSEmmanuel Vadot
388c66ec88fSEmmanuel Vadot		clocks = <&oscclk6a>;
389c66ec88fSEmmanuel Vadot		clock-names = "apb_pclk";
390c66ec88fSEmmanuel Vadot
391c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
392c66ec88fSEmmanuel Vadot		in-ports {
393c66ec88fSEmmanuel Vadot			port {
394c66ec88fSEmmanuel Vadot				catu_in_port: endpoint {
395c66ec88fSEmmanuel Vadot					remote-endpoint = <&etr_out_port>;
396c66ec88fSEmmanuel Vadot				};
397c66ec88fSEmmanuel Vadot			};
398c66ec88fSEmmanuel Vadot		};
399c66ec88fSEmmanuel Vadot	};
400c66ec88fSEmmanuel Vadot
401c66ec88fSEmmanuel Vadot[1]. There is currently two version of STM: STM32 and STM500.  Both
402c66ec88fSEmmanuel Vadothave the same HW interface and as such don't need an explicit binding name.
403