xref: /openbmc/linux/Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt (revision b9df02231930c01eaaf3c37b192bd75ea0d1c0bb)
1*b9df0223SStephen George===================================================================
2*b9df0223SStephen GeorgeDebug Control and Status Register (DCSR) Binding
3*b9df0223SStephen GeorgeCopyright 2011 Freescale Semiconductor Inc.
4*b9df0223SStephen George
5*b9df0223SStephen GeorgeNOTE: The bindings described in this document are preliminary and subject
6*b9df0223SStephen Georgeto change.  Some of the compatible strings that contain only generic names
7*b9df0223SStephen Georgemay turn out to be inappropriate, or need additional properties to describe
8*b9df0223SStephen Georgethe integration of the block with the rest of the chip.
9*b9df0223SStephen George
10*b9df0223SStephen George=====================================================================
11*b9df0223SStephen GeorgeDebug Control and Status Register Memory Map
12*b9df0223SStephen George
13*b9df0223SStephen GeorgeDescription
14*b9df0223SStephen George
15*b9df0223SStephen GeorgeThis node defines the base address and range for the
16*b9df0223SStephen Georgedefined DCSR Memory Map. Child nodes will describe the individual
17*b9df0223SStephen Georgedebug blocks defined within this memory space.
18*b9df0223SStephen George
19*b9df0223SStephen GeorgePROPERTIES
20*b9df0223SStephen George
21*b9df0223SStephen George	- compatible
22*b9df0223SStephen George	Usage: required
23*b9df0223SStephen George	Value type: <string>
24*b9df0223SStephen George	Definition: Must include "fsl,dcsr" and "simple-bus".
25*b9df0223SStephen George	The DCSR space exists in the memory-mapped bus.
26*b9df0223SStephen George
27*b9df0223SStephen George	- #address-cells
28*b9df0223SStephen George	Usage: required
29*b9df0223SStephen George	Value type: <u32>
30*b9df0223SStephen George	Definition: A standard property.  Defines the number of cells
31*b9df0223SStephen George	or representing physical addresses in child nodes.
32*b9df0223SStephen George
33*b9df0223SStephen George	- #size-cells
34*b9df0223SStephen George	Usage: required
35*b9df0223SStephen George	Value type: <u32>
36*b9df0223SStephen George	Definition: A standard property.  Defines the number of cells
37*b9df0223SStephen George	or representing the size of physical addresses in
38*b9df0223SStephen George	child nodes.
39*b9df0223SStephen George
40*b9df0223SStephen George	- ranges
41*b9df0223SStephen George	Usage: required
42*b9df0223SStephen George	Value type: <prop-encoded-array>
43*b9df0223SStephen George	Definition: A standard property. Specifies the physical address
44*b9df0223SStephen George	range of the DCSR space.
45*b9df0223SStephen George
46*b9df0223SStephen GeorgeEXAMPLE
47*b9df0223SStephen George	dcsr: dcsr@f00000000 {
48*b9df0223SStephen George		#address-cells = <1>;
49*b9df0223SStephen George		#size-cells = <1>;
50*b9df0223SStephen George		compatible = "fsl,dcsr", "simple-bus";
51*b9df0223SStephen George		ranges = <0x00000000 0xf 0x00000000 0x01008000>;
52*b9df0223SStephen George	};
53*b9df0223SStephen George
54*b9df0223SStephen George=====================================================================
55*b9df0223SStephen GeorgeEvent Processing Unit
56*b9df0223SStephen George
57*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to the EPU
58*b9df0223SStephen George
59*b9df0223SStephen GeorgePROPERTIES
60*b9df0223SStephen George
61*b9df0223SStephen George	- compatible
62*b9df0223SStephen George	Usage: required
63*b9df0223SStephen George	Value type: <string>
64*b9df0223SStephen George	Definition: Must include "fsl,dcsr-epu"
65*b9df0223SStephen George
66*b9df0223SStephen George	- interrupts
67*b9df0223SStephen George	Usage: required
68*b9df0223SStephen George	Value type: <prop_encoded-array>
69*b9df0223SStephen George	Definition:  Specifies the interrupts generated by the EPU.
70*b9df0223SStephen George	The value of the interrupts property consists of three
71*b9df0223SStephen George	interrupt specifiers. The format of the specifier is defined
72*b9df0223SStephen George	by the binding document describing the node's interrupt parent.
73*b9df0223SStephen George
74*b9df0223SStephen George	The EPU counters can be configured to assert the performance
75*b9df0223SStephen George	monitor interrupt signal based on either counter overflow or value
76*b9df0223SStephen George	match. Which counter asserted the interrupt is captured in an EPU
77*b9df0223SStephen George	Counter Interrupt Status Register (EPCPUISR).
78*b9df0223SStephen George
79*b9df0223SStephen George	The EPU unit can also be configured to assert either or both of
80*b9df0223SStephen George	two interrupt signals based on debug event sources within the SoC.
81*b9df0223SStephen George	The interrupt signals are epu_xt_int0 and epu_xt_int1.
82*b9df0223SStephen George	Which event source asserted the interrupt is captured in an EPU
83*b9df0223SStephen George	Interrupt Status Register (EPISR0,EPISR1).
84*b9df0223SStephen George
85*b9df0223SStephen George	Interrupt numbers are lised in order (perfmon, event0, event1).
86*b9df0223SStephen George
87*b9df0223SStephen George	- interrupt-parent
88*b9df0223SStephen George	Usage: required
89*b9df0223SStephen George	Value type: <phandle>
90*b9df0223SStephen George	Definition: A single <phandle> value that points
91*b9df0223SStephen George	to the interrupt parent to which the child domain
92*b9df0223SStephen George	is being mapped. Value must be "&mpic"
93*b9df0223SStephen George
94*b9df0223SStephen George	- reg
95*b9df0223SStephen George	Usage: required
96*b9df0223SStephen George	Value type: <prop-encoded-array>
97*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
98*b9df0223SStephen George	offset and length of the DCSR space registers of the device
99*b9df0223SStephen George	configuration block.
100*b9df0223SStephen George
101*b9df0223SStephen GeorgeEXAMPLE
102*b9df0223SStephen George	dcsr-epu@0 {
103*b9df0223SStephen George		compatible = "fsl,dcsr-epu";
104*b9df0223SStephen George		interrupts = <52 2 0 0
105*b9df0223SStephen George			      84 2 0 0
106*b9df0223SStephen George			      85 2 0 0>;
107*b9df0223SStephen George		interrupt-parent = <&mpic>;
108*b9df0223SStephen George		reg = <0x0 0x1000>;
109*b9df0223SStephen George	};
110*b9df0223SStephen George
111*b9df0223SStephen George=======================================================================
112*b9df0223SStephen GeorgeNexus Port Controller
113*b9df0223SStephen George
114*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to the NPC
115*b9df0223SStephen George
116*b9df0223SStephen GeorgePROPERTIES
117*b9df0223SStephen George
118*b9df0223SStephen George	- compatible
119*b9df0223SStephen George	Usage: required
120*b9df0223SStephen George	Value type: <string>
121*b9df0223SStephen George	Definition: Must include "fsl,dcsr-npc"
122*b9df0223SStephen George
123*b9df0223SStephen George	- reg
124*b9df0223SStephen George	Usage: required
125*b9df0223SStephen George	Value type: <prop-encoded-array>
126*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
127*b9df0223SStephen George	offset and length of the DCSR space registers of the device
128*b9df0223SStephen George	configuration block.
129*b9df0223SStephen George	The Nexus Port controller occupies two regions in the DCSR space
130*b9df0223SStephen George	with distinct functionality.
131*b9df0223SStephen George
132*b9df0223SStephen George	The first register range describes the Nexus Port Controller
133*b9df0223SStephen George	control and status registers.
134*b9df0223SStephen George
135*b9df0223SStephen George	The second register range describes the Nexus Port Controller
136*b9df0223SStephen George	internal trace buffer. The NPC trace buffer is a small memory buffer
137*b9df0223SStephen George	which stages the nexus trace data for transmission via the Aurora port
138*b9df0223SStephen George	or to a DDR based trace buffer. In some configurations the NPC trace
139*b9df0223SStephen George	buffer can be the only trace buffer used.
140*b9df0223SStephen George
141*b9df0223SStephen George
142*b9df0223SStephen GeorgeEXAMPLE
143*b9df0223SStephen George		dcsr-npc {
144*b9df0223SStephen George			compatible = "fsl,dcsr-npc";
145*b9df0223SStephen George			reg = <0x1000 0x1000 0x1000000 0x8000>;
146*b9df0223SStephen George		};
147*b9df0223SStephen George
148*b9df0223SStephen George=======================================================================
149*b9df0223SStephen GeorgeNexus Concentrator
150*b9df0223SStephen George
151*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to the NXC
152*b9df0223SStephen George
153*b9df0223SStephen GeorgePROPERTIES
154*b9df0223SStephen George
155*b9df0223SStephen George	- compatible
156*b9df0223SStephen George	Usage: required
157*b9df0223SStephen George	Value type: <string>
158*b9df0223SStephen George	Definition: Must include "fsl,dcsr-nxc"
159*b9df0223SStephen George
160*b9df0223SStephen George	- reg
161*b9df0223SStephen George	Usage: required
162*b9df0223SStephen George	Value type: <prop-encoded-array>
163*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
164*b9df0223SStephen George	offset and length of the DCSR space registers of the device
165*b9df0223SStephen George	configuration block.
166*b9df0223SStephen George
167*b9df0223SStephen GeorgeEXAMPLE
168*b9df0223SStephen George		dcsr-nxc@2000 {
169*b9df0223SStephen George			compatible = "fsl,dcsr-nxc";
170*b9df0223SStephen George			reg = <0x2000 0x1000>;
171*b9df0223SStephen George		};
172*b9df0223SStephen George=======================================================================
173*b9df0223SStephen GeorgeCoreNet Debug Controller
174*b9df0223SStephen George
175*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
176*b9df0223SStephen Georgethe CoreNet Debug controller.
177*b9df0223SStephen George
178*b9df0223SStephen GeorgePROPERTIES
179*b9df0223SStephen George
180*b9df0223SStephen George	- compatible
181*b9df0223SStephen George	Usage: required
182*b9df0223SStephen George	Value type: <string>
183*b9df0223SStephen George	Definition: Must include "fsl,dcsr-corenet"
184*b9df0223SStephen George
185*b9df0223SStephen George	- reg
186*b9df0223SStephen George	Usage: required
187*b9df0223SStephen George	Value type: <prop-encoded-array>
188*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
189*b9df0223SStephen George	offset and length of the DCSR space registers of the device
190*b9df0223SStephen George	configuration block.
191*b9df0223SStephen George	The CoreNet Debug controller occupies two regions in the DCSR space
192*b9df0223SStephen George	with distinct functionality.
193*b9df0223SStephen George
194*b9df0223SStephen George	The first register range describes the CoreNet Debug Controller
195*b9df0223SStephen George	functionalty to perform transaction and transaction attribute matches.
196*b9df0223SStephen George
197*b9df0223SStephen George	The second register range describes the CoreNet Debug Controller
198*b9df0223SStephen George	functionalty to trigger event notifications and debug traces.
199*b9df0223SStephen George
200*b9df0223SStephen GeorgeEXAMPLE
201*b9df0223SStephen George		dcsr-corenet {
202*b9df0223SStephen George			compatible = "fsl,dcsr-corenet";
203*b9df0223SStephen George			reg = <0x8000 0x1000 0xB0000 0x1000>;
204*b9df0223SStephen George		};
205*b9df0223SStephen George
206*b9df0223SStephen George=======================================================================
207*b9df0223SStephen GeorgeData Path Debug controller
208*b9df0223SStephen George
209*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
210*b9df0223SStephen Georgethe DPAA Debug Controller. This controller controls debug configuration
211*b9df0223SStephen Georgefor the QMAN and FMAN blocks.
212*b9df0223SStephen George
213*b9df0223SStephen GeorgePROPERTIES
214*b9df0223SStephen George
215*b9df0223SStephen George	- compatible
216*b9df0223SStephen George	Usage: required
217*b9df0223SStephen George	Value type: <string>
218*b9df0223SStephen George	Definition: Must include both an identifier specific to the SoC
219*b9df0223SStephen George	or Debug IP of the form "fsl,<soc>-dcsr-dpaa" in addition to the
220*b9df0223SStephen George	generic compatible string "fsl,dcsr-dpaa".
221*b9df0223SStephen George
222*b9df0223SStephen George	- reg
223*b9df0223SStephen George	Usage: required
224*b9df0223SStephen George	Value type: <prop-encoded-array>
225*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
226*b9df0223SStephen George	offset and length of the DCSR space registers of the device
227*b9df0223SStephen George	configuration block.
228*b9df0223SStephen George
229*b9df0223SStephen GeorgeEXAMPLE
230*b9df0223SStephen George		dcsr-dpaa@9000 {
231*b9df0223SStephen George			compatible = "fsl,p4080-dcsr-dpaa", "fsl,dcsr-dpaa";
232*b9df0223SStephen George			reg = <0x9000 0x1000>;
233*b9df0223SStephen George		};
234*b9df0223SStephen George
235*b9df0223SStephen George=======================================================================
236*b9df0223SStephen GeorgeOCeaN Debug controller
237*b9df0223SStephen George
238*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
239*b9df0223SStephen Georgethe OCN Debug Controller.
240*b9df0223SStephen George
241*b9df0223SStephen GeorgePROPERTIES
242*b9df0223SStephen George
243*b9df0223SStephen George	- compatible
244*b9df0223SStephen George	Usage: required
245*b9df0223SStephen George	Value type: <string>
246*b9df0223SStephen George	Definition: Must include both an identifier specific to the SoC
247*b9df0223SStephen George	or Debug IP of the form "fsl,<soc>-dcsr-ocn" in addition to the
248*b9df0223SStephen George	generic compatible string "fsl,dcsr-ocn".
249*b9df0223SStephen George
250*b9df0223SStephen George	- reg
251*b9df0223SStephen George	Usage: required
252*b9df0223SStephen George	Value type: <prop-encoded-array>
253*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
254*b9df0223SStephen George	offset and length of the DCSR space registers of the device
255*b9df0223SStephen George	configuration block.
256*b9df0223SStephen George
257*b9df0223SStephen GeorgeEXAMPLE
258*b9df0223SStephen George		dcsr-ocn@11000 {
259*b9df0223SStephen George			compatible = "fsl,p4080-dcsr-ocn", "fsl,dcsr-ocn";
260*b9df0223SStephen George			reg = <0x11000 0x1000>;
261*b9df0223SStephen George		};
262*b9df0223SStephen George
263*b9df0223SStephen George=======================================================================
264*b9df0223SStephen GeorgeDDR Controller Debug controller
265*b9df0223SStephen George
266*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
267*b9df0223SStephen Georgethe OCN Debug Controller.
268*b9df0223SStephen George
269*b9df0223SStephen GeorgePROPERTIES
270*b9df0223SStephen George
271*b9df0223SStephen George	- compatible
272*b9df0223SStephen George	Usage: required
273*b9df0223SStephen George	Value type: <string>
274*b9df0223SStephen George	Definition: Must include "fsl,dcsr-ddr"
275*b9df0223SStephen George
276*b9df0223SStephen George	- dev-handle
277*b9df0223SStephen George	Usage: required
278*b9df0223SStephen George	Definition: A phandle to associate this debug node with its
279*b9df0223SStephen George	component controller.
280*b9df0223SStephen George
281*b9df0223SStephen George	- reg
282*b9df0223SStephen George	Usage: required
283*b9df0223SStephen George	Value type: <prop-encoded-array>
284*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
285*b9df0223SStephen George	offset and length of the DCSR space registers of the device
286*b9df0223SStephen George	configuration block.
287*b9df0223SStephen George
288*b9df0223SStephen GeorgeEXAMPLE
289*b9df0223SStephen George		dcsr-ddr@12000 {
290*b9df0223SStephen George			compatible = "fsl,dcsr-ddr";
291*b9df0223SStephen George			dev-handle = <&ddr1>;
292*b9df0223SStephen George			reg = <0x12000 0x1000>;
293*b9df0223SStephen George		};
294*b9df0223SStephen George
295*b9df0223SStephen George=======================================================================
296*b9df0223SStephen GeorgeNexus Aurora Link Controller
297*b9df0223SStephen George
298*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
299*b9df0223SStephen Georgethe NAL Controller.
300*b9df0223SStephen George
301*b9df0223SStephen GeorgePROPERTIES
302*b9df0223SStephen George
303*b9df0223SStephen George	- compatible
304*b9df0223SStephen George	Usage: required
305*b9df0223SStephen George	Value type: <string>
306*b9df0223SStephen George	Definition: Must include both an identifier specific to the SoC
307*b9df0223SStephen George	or Debug IP of the form "fsl,<soc>-dcsr-nal" in addition to the
308*b9df0223SStephen George	generic compatible string "fsl,dcsr-nal".
309*b9df0223SStephen George
310*b9df0223SStephen George	- reg
311*b9df0223SStephen George	Usage: required
312*b9df0223SStephen George	Value type: <prop-encoded-array>
313*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
314*b9df0223SStephen George	offset and length of the DCSR space registers of the device
315*b9df0223SStephen George	configuration block.
316*b9df0223SStephen George
317*b9df0223SStephen GeorgeEXAMPLE
318*b9df0223SStephen George		dcsr-nal@18000 {
319*b9df0223SStephen George			compatible = "fsl,p4080-dcsr-nal", "fsl,dcsr-nal";
320*b9df0223SStephen George			reg = <0x18000 0x1000>;
321*b9df0223SStephen George		};
322*b9df0223SStephen George
323*b9df0223SStephen George
324*b9df0223SStephen George=======================================================================
325*b9df0223SStephen GeorgeRun Control and Power Management
326*b9df0223SStephen George
327*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
328*b9df0223SStephen Georgethe RCPM Debug Controller. This functionlity is limited to the
329*b9df0223SStephen Georgecontrol the debug operations of the SoC and cores.
330*b9df0223SStephen George
331*b9df0223SStephen GeorgePROPERTIES
332*b9df0223SStephen George
333*b9df0223SStephen George	- compatible
334*b9df0223SStephen George	Usage: required
335*b9df0223SStephen George	Value type: <string>
336*b9df0223SStephen George	Definition: Must include both an identifier specific to the SoC
337*b9df0223SStephen George	or Debug IP of the form "fsl,<soc>-dcsr-rcpm" in addition to the
338*b9df0223SStephen George	generic compatible string "fsl,dcsr-rcpm".
339*b9df0223SStephen George
340*b9df0223SStephen George	- reg
341*b9df0223SStephen George	Usage: required
342*b9df0223SStephen George	Value type: <prop-encoded-array>
343*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
344*b9df0223SStephen George	offset and length of the DCSR space registers of the device
345*b9df0223SStephen George	configuration block.
346*b9df0223SStephen George
347*b9df0223SStephen GeorgeEXAMPLE
348*b9df0223SStephen George		dcsr-rcpm@22000 {
349*b9df0223SStephen George			compatible = "fsl,p4080-dcsr-rcpm", "fsl,dcsr-rcpm";
350*b9df0223SStephen George			reg = <0x22000 0x1000>;
351*b9df0223SStephen George		};
352*b9df0223SStephen George
353*b9df0223SStephen George=======================================================================
354*b9df0223SStephen GeorgeCore Service Bridge Proxy
355*b9df0223SStephen George
356*b9df0223SStephen GeorgeThis node represents the region of DCSR space allocated to
357*b9df0223SStephen Georgethe Core Service Bridge Proxies.
358*b9df0223SStephen GeorgeThere is one Core Service Bridge Proxy device for each CPU in the system.
359*b9df0223SStephen GeorgeThis functionlity provides access to the debug operations of the CPU.
360*b9df0223SStephen George
361*b9df0223SStephen GeorgePROPERTIES
362*b9df0223SStephen George
363*b9df0223SStephen George	- compatible
364*b9df0223SStephen George	Usage: required
365*b9df0223SStephen George	Value type: <string>
366*b9df0223SStephen George	Definition: Must include both an identifier specific to the cpu
367*b9df0223SStephen George	of the form "fsl,dcsr-<cpu>-sb-proxy" in addition to the
368*b9df0223SStephen George	generic compatible string "fsl,dcsr-cpu-sb-proxy".
369*b9df0223SStephen George
370*b9df0223SStephen George	- cpu-handle
371*b9df0223SStephen George	Usage: required
372*b9df0223SStephen George	Definition: A phandle to associate this debug node with its cpu.
373*b9df0223SStephen George
374*b9df0223SStephen George	- reg
375*b9df0223SStephen George	Usage: required
376*b9df0223SStephen George	Value type: <prop-encoded-array>
377*b9df0223SStephen George	Definition: A standard property.  Specifies the physical address
378*b9df0223SStephen George	offset and length of the DCSR space registers of the device
379*b9df0223SStephen George	configuration block.
380*b9df0223SStephen George
381*b9df0223SStephen GeorgeEXAMPLE
382*b9df0223SStephen George		dcsr-cpu-sb-proxy@40000 {
383*b9df0223SStephen George			compatible = "fsl,dcsr-e500mc-sb-proxy",
384*b9df0223SStephen George				     "fsl,dcsr-cpu-sb-proxy";
385*b9df0223SStephen George			cpu-handle = <&cpu0>;
386*b9df0223SStephen George			reg = <0x40000 0x1000>;
387*b9df0223SStephen George		};
388*b9df0223SStephen George		dcsr-cpu-sb-proxy@41000 {
389*b9df0223SStephen George			compatible = "fsl,dcsr-e500mc-sb-proxy",
390*b9df0223SStephen George				     "fsl,dcsr-cpu-sb-proxy";
391*b9df0223SStephen George			cpu-handle = <&cpu1>;
392*b9df0223SStephen George			reg = <0x41000 0x1000>;
393*b9df0223SStephen George		};
394*b9df0223SStephen George
395*b9df0223SStephen George=======================================================================
396