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