]> git.sur5r.net Git - freertos/blob
7fc4ae088774b696ea5be20f64428f6eb31f3016
[freertos] /
1 /******************************************************************************
2 *
3 * Copyright (C) 2012 - 2015 Xilinx, Inc.  All rights reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * Use of the Software is limited solely to applications:
16 * (a) running on a Xilinx device, or
17 * (b) that interact with a Xilinx device through a bus or interconnect.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 * XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
24 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 * SOFTWARE.
26 *
27 * Except as contained in this notice, the name of the Xilinx shall not be used
28 * in advertising or otherwise to promote the sale, use or other dealings in
29 * this Software without prior written authorization from Xilinx.
30 *
31 ******************************************************************************/
32 /****************************************************************************/
33 /**
34 *
35 * @file xaxipmon_hw.h
36 *
37 * This header file contains identifiers and basic driver functions (or
38 * macros) that can be used to access the AXI Performance Monitor.
39 *
40 * Refer to the device specification for more information about this driver.
41 *
42 * @note  None.
43 *
44 * <pre>
45 *
46 * MODIFICATION HISTORY:
47 *
48 * Ver   Who    Date     Changes
49 * ----- -----  -------- -----------------------------------------------------
50 * 1.00a bss    02/27/12 First release
51 * 2.00a bss    06/23/12 Updated to support v2_00a version of IP.
52 * 3.00a bss    09/03/12 Deleted XAPM_AGENT_OFFSET Macro to support
53 *                       v2_01a version of IP.
54 * 3.01a bss    10/25/12 To support new version of IP:
55 *                       Added XAPM_MCXLOGEN_OFFSET and
56 *                       XAPM_CR_EXTERNAL_TRIGGER_MASK macros.
57 * 4.00a bss    01/17/13 To support new version of IP:
58 *                       Added XAPM_LATENCYID_OFFSET,
59 *                       XAPM_CR_EVTLOG_EXTTRIGGER_MASK,
60 *                       XAPM_LATENCYID_RID_MASK and XAPM_LATENCYID_WID_MASK
61 * 5.00a bss   08/26/13  To support new version of IP:
62 *                       Added Macros XAPM_MC10_OFFSET to XAPM_MC47_OFFSET,
63 *                       XAPM_SMC10_OFFSET to XAPM_SMC47_OFFSET.
64 *                       Added macro XAPM_IDMASK_OFFSET, XAPM_SR_OFFSET.
65 *                       Added XAPM_CR_IDFILTER_ENABLE_MASK,
66 *                       XAPM_CR_WRLATENCY_START_MASK,
67 *                       XAPM_CR_WRLATENCY_END_MASK,
68 *                       XAPM_CR_RDLATENCY_START_MASK,
69 *                       XAPM_CR_RDLATENCY_END_MASK, XAPM_MASKID_RID_MASK
70 *                       and XAPM_MASKID_WID_MASK macros.
71 *                       Renamed:
72 *                       XAPM_LATENCYID_OFFSET to XAPM_ID_OFFSET,
73 *                       XAPM_LATENCYID_RID_MASK to XAPM_ID_RID_MASK,
74 *                       XAPM_LATENCYID_WID_MASK to XAPM_ID_WID_MASK.
75 *
76 * 6.2  bss  03/02/15 Added XAPM_RID_OFFSET and XAPM_RIDMASK_OFFSET to support
77 *                                        Zynq MP APM.
78 * </pre>
79 *
80 *****************************************************************************/
81 #ifndef XAXIPMON_HW_H /* Prevent circular inclusions */
82 #define XAXIPMON_HW_H /* by using protection macros  */
83
84 #ifdef __cplusplus
85 extern "C" {
86 #endif
87
88 /***************************** Include Files ********************************/
89
90 #include "xil_types.h"
91 #include "xil_assert.h"
92 #include "xil_io.h"
93
94 /************************** Constant Definitions ****************************/
95
96
97 /**@name Register offsets of AXIMONITOR in the Device Config
98  *
99  * The following constants provide access to each of the registers of the
100  * AXI PERFORMANCE MONITOR device.
101  * @{
102  */
103
104 #define XAPM_GCC_HIGH_OFFSET            0x0000  /**< Global Clock Counter
105                                                         32 to 63 bits  */
106 #define XAPM_GCC_LOW_OFFSET             0x0004  /**< Global Clock Counter Lower
107                                                         0-31 bits  */
108 #define XAPM_SI_HIGH_OFFSET             0x0020  /**< Sample Interval MSB */
109 #define XAPM_SI_LOW_OFFSET              0x0024  /**< Sample Interval LSB */
110 #define XAPM_SICR_OFFSET                0x0028  /**< Sample Interval Control
111                                                         Register */
112 #define XAPM_SR_OFFSET                  0x002C  /**< Sample Register */
113 #define XAPM_GIE_OFFSET                 0x0030  /**< Global Interrupt Enable
114                                                         Register */
115 #define XAPM_IE_OFFSET                  0x0034  /**< Interrupt Enable Register */
116 #define XAPM_IS_OFFSET                  0x0038  /**< Interrupt Status Register */
117
118 #define XAPM_MSR0_OFFSET                0x0044  /**< Metric Selector 0 Register */
119 #define XAPM_MSR1_OFFSET                0x0048  /**< Metric Selector 1 Register */
120 #define XAPM_MSR2_OFFSET                0x004C  /**< Metric Selector 2 Register */
121
122 #define XAPM_MC0_OFFSET                 0x0100  /**< Metric Counter 0 Register */
123 #define XAPM_INC0_OFFSET                0x0104  /**< Incrementer 0 Register */
124 #define XAPM_RANGE0_OFFSET              0x0108  /**< Range 0 Register */
125 #define XAPM_MC0LOGEN_OFFSET            0x010C  /**< Metric Counter 0
126                                                         Log Enable Register */
127 #define XAPM_MC1_OFFSET                 0x0110  /**< Metric Counter 1 Register */
128 #define XAPM_INC1_OFFSET                0x0114  /**< Incrementer 1 Register */
129 #define XAPM_RANGE1_OFFSET              0x0118  /**< Range 1 Register */
130 #define XAPM_MC1LOGEN_OFFSET            0x011C  /**< Metric Counter 1
131                                                         Log Enable Register */
132 #define XAPM_MC2_OFFSET                 0x0120  /**< Metric Counter 2 Register */
133 #define XAPM_INC2_OFFSET                0x0124  /**< Incrementer 2 Register */
134 #define XAPM_RANGE2_OFFSET              0x0128  /**< Range 2 Register */
135 #define XAPM_MC2LOGEN_OFFSET            0x012C  /**< Metric Counter 2
136                                                         Log Enable Register */
137 #define XAPM_MC3_OFFSET                 0x0130  /**< Metric Counter 3 Register */
138 #define XAPM_INC3_OFFSET                0x0134  /**< Incrementer 3 Register */
139 #define XAPM_RANGE3_OFFSET              0x0138  /**< Range 3 Register */
140 #define XAPM_MC3LOGEN_OFFSET            0x013C  /**< Metric Counter 3
141                                                         Log Enable Register */
142 #define XAPM_MC4_OFFSET                 0x0140  /**< Metric Counter 4 Register */
143 #define XAPM_INC4_OFFSET                0x0144  /**< Incrementer 4 Register */
144 #define XAPM_RANGE4_OFFSET              0x0148  /**< Range 4 Register */
145 #define XAPM_MC4LOGEN_OFFSET            0x014C  /**< Metric Counter 4
146                                                         Log Enable Register */
147 #define XAPM_MC5_OFFSET                 0x0150  /**< Metric Counter 5
148                                                         Register */
149 #define XAPM_INC5_OFFSET                0x0154  /**< Incrementer 5 Register */
150 #define XAPM_RANGE5_OFFSET              0x0158  /**< Range 5 Register */
151 #define XAPM_MC5LOGEN_OFFSET            0x015C  /**< Metric Counter 5
152                                                         Log Enable Register */
153 #define XAPM_MC6_OFFSET                 0x0160  /**< Metric Counter 6
154                                                         Register */
155 #define XAPM_INC6_OFFSET                0x0164  /**< Incrementer 6 Register */
156 #define XAPM_RANGE6_OFFSET              0x0168  /**< Range 6 Register */
157 #define XAPM_MC6LOGEN_OFFSET            0x016C  /**< Metric Counter 6
158                                                         Log Enable Register */
159 #define XAPM_MC7_OFFSET                 0x0170  /**< Metric Counter 7
160                                                         Register */
161 #define XAPM_INC7_OFFSET                0x0174  /**< Incrementer 7 Register */
162 #define XAPM_RANGE7_OFFSET              0x0178  /**< Range 7 Register */
163 #define XAPM_MC7LOGEN_OFFSET            0x017C  /**< Metric Counter 7
164                                                         Log Enable Register */
165 #define XAPM_MC8_OFFSET                 0x0180  /**< Metric Counter 8
166                                                         Register */
167 #define XAPM_INC8_OFFSET                0x0184  /**< Incrementer 8 Register */
168 #define XAPM_RANGE8_OFFSET              0x0188  /**< Range 8 Register */
169 #define XAPM_MC8LOGEN_OFFSET            0x018C  /**< Metric Counter 8
170                                                         Log Enable Register */
171 #define XAPM_MC9_OFFSET                 0x0190  /**< Metric Counter 9
172                                                         Register */
173 #define XAPM_INC9_OFFSET                0x0194  /**< Incrementer 9 Register */
174 #define XAPM_RANGE9_OFFSET              0x0198  /**< Range 9 Register */
175 #define XAPM_MC9LOGEN_OFFSET            0x019C  /**< Metric Counter 9
176                                                         Log Enable Register */
177 #define XAPM_SMC0_OFFSET                0x0200  /**< Sampled Metric Counter
178                                                         0 Register */
179 #define XAPM_SINC0_OFFSET               0x0204  /**< Sampled Incrementer
180                                                         0 Register */
181 #define XAPM_SMC1_OFFSET                0x0210  /**< Sampled Metric Counter
182                                                         1 Register */
183 #define XAPM_SINC1_OFFSET               0x0214  /**< Sampled Incrementer
184                                                         1 Register */
185 #define XAPM_SMC2_OFFSET                0x0220  /**< Sampled Metric Counter
186                                                         2 Register */
187 #define XAPM_SINC2_OFFSET               0x0224  /**< Sampled Incrementer
188                                                         2 Register */
189 #define XAPM_SMC3_OFFSET                0x0230  /**< Sampled Metric Counter
190                                                         3 Register */
191 #define XAPM_SINC3_OFFSET               0x0234  /**< Sampled Incrementer
192                                                         3 Register */
193 #define XAPM_SMC4_OFFSET                0x0240  /**< Sampled Metric Counter
194                                                         4 Register */
195 #define XAPM_SINC4_OFFSET               0x0244  /**< Sampled Incrementer
196                                                         4 Register */
197 #define XAPM_SMC5_OFFSET                0x0250  /**< Sampled Metric Counter
198                                                         5 Register */
199 #define XAPM_SINC5_OFFSET               0x0254  /**< Sampled Incrementer
200                                                         5 Register */
201 #define XAPM_SMC6_OFFSET                0x0260  /**< Sampled Metric Counter
202                                                         6 Register */
203 #define XAPM_SINC6_OFFSET               0x0264  /**< Sampled Incrementer
204                                                         6 Register */
205 #define XAPM_SMC7_OFFSET                0x0270  /**< Sampled Metric Counter
206                                                         7 Register */
207 #define XAPM_SINC7_OFFSET               0x0274  /**< Sampled Incrementer
208                                                         7 Register */
209 #define XAPM_SMC8_OFFSET                0x0280  /**< Sampled Metric Counter
210                                                         8 Register */
211 #define XAPM_SINC8_OFFSET               0x0284  /**< Sampled Incrementer
212                                                         8 Register */
213 #define XAPM_SMC9_OFFSET                0x0290  /**< Sampled Metric Counter
214                                                         9 Register */
215 #define XAPM_SINC9_OFFSET               0x0294  /**< Sampled Incrementer
216                                                         9 Register */
217
218 #define XAPM_MC10_OFFSET                0x01A0  /**< Metric Counter 10
219                                                         Register */
220 #define XAPM_MC11_OFFSET                0x01B0  /**< Metric Counter 11
221                                                         Register */
222 #define XAPM_MC12_OFFSET                0x0500  /**< Metric Counter 12
223                                                         Register */
224 #define XAPM_MC13_OFFSET                0x0510  /**< Metric Counter 13
225                                                         Register */
226 #define XAPM_MC14_OFFSET                0x0520  /**< Metric Counter 14
227                                                         Register */
228 #define XAPM_MC15_OFFSET                0x0530  /**< Metric Counter 15
229                                                         Register */
230 #define XAPM_MC16_OFFSET                0x0540  /**< Metric Counter 16
231                                                         Register */
232 #define XAPM_MC17_OFFSET                0x0550  /**< Metric Counter 17
233                                                         Register */
234 #define XAPM_MC18_OFFSET                0x0560  /**< Metric Counter 18
235                                                         Register */
236 #define XAPM_MC19_OFFSET                0x0570  /**< Metric Counter 19
237                                                         Register */
238 #define XAPM_MC20_OFFSET                0x0580  /**< Metric Counter 20
239                                                         Register */
240 #define XAPM_MC21_OFFSET                0x0590  /**< Metric Counter 21
241                                                         Register */
242 #define XAPM_MC22_OFFSET                0x05A0  /**< Metric Counter 22
243                                                         Register */
244 #define XAPM_MC23_OFFSET                0x05B0  /**< Metric Counter 23
245                                                         Register */
246 #define XAPM_MC24_OFFSET                0x0700  /**< Metric Counter 24
247                                                         Register */
248 #define XAPM_MC25_OFFSET                0x0710  /**< Metric Counter 25
249                                                         Register */
250 #define XAPM_MC26_OFFSET                0x0720  /**< Metric Counter 26
251                                                         Register */
252 #define XAPM_MC27_OFFSET                0x0730  /**< Metric Counter 27
253                                                         Register */
254 #define XAPM_MC28_OFFSET                0x0740  /**< Metric Counter 28
255                                                         Register */
256 #define XAPM_MC29_OFFSET                0x0750  /**< Metric Counter 29
257                                                         Register */
258 #define XAPM_MC30_OFFSET                0x0760  /**< Metric Counter 30
259                                                         Register */
260 #define XAPM_MC31_OFFSET                0x0770  /**< Metric Counter 31
261                                                         Register */
262 #define XAPM_MC32_OFFSET                0x0780  /**< Metric Counter 32
263                                                         Register */
264 #define XAPM_MC33_OFFSET                0x0790  /**< Metric Counter 33
265                                                         Register */
266 #define XAPM_MC34_OFFSET                0x07A0  /**< Metric Counter 34
267                                                         Register */
268 #define XAPM_MC35_OFFSET                0x07B0  /**< Metric Counter 35
269                                                         Register */
270 #define XAPM_MC36_OFFSET                0x0900  /**< Metric Counter 36
271                                                         Register */
272 #define XAPM_MC37_OFFSET                0x0910  /**< Metric Counter 37
273                                                         Register */
274 #define XAPM_MC38_OFFSET                0x0920  /**< Metric Counter 38
275                                                         Register */
276 #define XAPM_MC39_OFFSET                0x0930  /**< Metric Counter 39
277                                                         Register */
278 #define XAPM_MC40_OFFSET                0x0940  /**< Metric Counter 40
279                                                         Register */
280 #define XAPM_MC41_OFFSET                0x0950  /**< Metric Counter 41
281                                                         Register */
282 #define XAPM_MC42_OFFSET                0x0960  /**< Metric Counter 42
283                                                         Register */
284 #define XAPM_MC43_OFFSET                0x0970  /**< Metric Counter 43
285                                                         Register */
286 #define XAPM_MC44_OFFSET                0x0980  /**< Metric Counter 44
287                                                         Register */
288 #define XAPM_MC45_OFFSET                0x0990  /**< Metric Counter 45
289                                                         Register */
290 #define XAPM_MC46_OFFSET                0x09A0  /**< Metric Counter 46
291                                                         Register */
292 #define XAPM_MC47_OFFSET                0x09B0  /**< Metric Counter 47
293                                                         Register */
294
295 #define XAPM_SMC10_OFFSET               0x02A0  /**< Sampled Metric Counter
296                                                         10 Register */
297 #define XAPM_SMC11_OFFSET               0x02B0  /**< Sampled Metric Counter
298                                                         11 Register */
299 #define XAPM_SMC12_OFFSET               0x0600  /**< Sampled Metric Counter
300                                                         12 Register */
301 #define XAPM_SMC13_OFFSET               0x0610  /**< Sampled Metric Counter
302                                                         13 Register */
303 #define XAPM_SMC14_OFFSET               0x0620  /**< Sampled Metric Counter
304                                                         14 Register */
305 #define XAPM_SMC15_OFFSET               0x0630  /**< Sampled Metric Counter
306                                                         15 Register */
307 #define XAPM_SMC16_OFFSET               0x0640  /**< Sampled Metric Counter
308                                                         16 Register */
309 #define XAPM_SMC17_OFFSET               0x0650  /**< Sampled Metric Counter
310                                                         17 Register */
311 #define XAPM_SMC18_OFFSET               0x0660  /**< Sampled Metric Counter
312                                                         18 Register */
313 #define XAPM_SMC19_OFFSET               0x0670  /**< Sampled Metric Counter
314                                                         19 Register */
315 #define XAPM_SMC20_OFFSET               0x0680  /**< Sampled Metric Counter
316                                                         20 Register */
317 #define XAPM_SMC21_OFFSET               0x0690  /**< Sampled Metric Counter
318                                                         21 Register */
319 #define XAPM_SMC22_OFFSET               0x06A0  /**< Sampled Metric Counter
320                                                         22 Register */
321 #define XAPM_SMC23_OFFSET               0x06B0  /**< Sampled Metric Counter
322                                                         23 Register */
323 #define XAPM_SMC24_OFFSET               0x0800  /**< Sampled Metric Counter
324                                                         24 Register */
325 #define XAPM_SMC25_OFFSET               0x0810  /**< Sampled Metric Counter
326                                                         25 Register */
327 #define XAPM_SMC26_OFFSET               0x0820  /**< Sampled Metric Counter
328                                                         26 Register */
329 #define XAPM_SMC27_OFFSET               0x0830  /**< Sampled Metric Counter
330                                                         27 Register */
331 #define XAPM_SMC28_OFFSET               0x0840  /**< Sampled Metric Counter
332                                                         28 Register */
333 #define XAPM_SMC29_OFFSET               0x0850  /**< Sampled Metric Counter
334                                                         29 Register */
335 #define XAPM_SMC30_OFFSET               0x0860  /**< Sampled Metric Counter
336                                                         30 Register */
337 #define XAPM_SMC31_OFFSET               0x0870  /**< Sampled Metric Counter
338                                                         31 Register */
339 #define XAPM_SMC32_OFFSET               0x0880  /**< Sampled Metric Counter
340                                                         32 Register */
341 #define XAPM_SMC33_OFFSET               0x0890  /**< Sampled Metric Counter
342                                                         33 Register */
343 #define XAPM_SMC34_OFFSET               0x08A0  /**< Sampled Metric Counter
344                                                         34 Register */
345 #define XAPM_SMC35_OFFSET               0x08B0  /**< Sampled Metric Counter
346                                                         35 Register */
347 #define XAPM_SMC36_OFFSET               0x0A00  /**< Sampled Metric Counter
348                                                         36 Register */
349 #define XAPM_SMC37_OFFSET               0x0A10  /**< Sampled Metric Counter
350                                                         37 Register */
351 #define XAPM_SMC38_OFFSET               0x0A20  /**< Sampled Metric Counter
352                                                         38 Register */
353 #define XAPM_SMC39_OFFSET               0x0A30  /**< Sampled Metric Counter
354                                                         39 Register */
355 #define XAPM_SMC40_OFFSET               0x0A40  /**< Sampled Metric Counter
356                                                         40 Register */
357 #define XAPM_SMC41_OFFSET               0x0A50  /**< Sampled Metric Counter
358                                                         41 Register */
359 #define XAPM_SMC42_OFFSET               0x0A60  /**< Sampled Metric Counter
360                                                         42 Register */
361 #define XAPM_SMC43_OFFSET               0x0A70  /**< Sampled Metric Counter
362                                                         43 Register */
363 #define XAPM_SMC44_OFFSET               0x0A80  /**< Sampled Metric Counter
364                                                         44 Register */
365 #define XAPM_SMC45_OFFSET               0x0A90  /**< Sampled Metric Counter
366                                                         45 Register */
367 #define XAPM_SMC46_OFFSET               0x0AA0  /**< Sampled Metric Counter
368                                                         46 Register */
369 #define XAPM_SMC47_OFFSET               0x0AB0  /**< Sampled Metric Counter
370                                                         47 Register */
371
372 #define XAPM_CTL_OFFSET                 0x0300  /**< Control Register */
373
374 #define XAPM_ID_OFFSET                  0x0304  /**< Latency ID Register */
375
376 #define XAPM_IDMASK_OFFSET              0x0308  /**< ID Mask Register */
377
378 #define XAPM_RID_OFFSET                 0x030C  /**< Latency Write ID Register */
379
380 #define XAPM_RIDMASK_OFFSET             0x0310  /**< Read ID Mask Register */
381
382 #define XAPM_FEC_OFFSET                 0x0400  /**< Flag Enable
383                                                         Control Register */
384
385 #define XAPM_SWD_OFFSET                 0x0404  /**< Software-written
386                                                         Data Register */
387
388 /* @} */
389
390 /**
391  * @name AXI Monitor Sample Interval Control Register mask(s)
392  * @{
393  */
394
395 #define XAPM_SICR_MCNTR_RST_MASK        0x00000100 /**< Enable the Metric
396                                                         Counter Reset */
397 #define XAPM_SICR_LOAD_MASK             0x00000002 /**< Load the Sample Interval
398                                                         *  Register Value into the
399                                                         *  counter */
400 #define XAPM_SICR_ENABLE_MASK           0x00000001 /**< Enable the downcounter */
401
402 /*@}*/
403
404
405 /** @name Interrupt Status/Enable Register Bit Definitions and Masks
406  *  @{
407  */
408
409 #define XAPM_IXR_MC9_OVERFLOW_MASK      0x00001000      /**< Metric Counter 9
410                                                           *  Overflow> */
411 #define XAPM_IXR_MC8_OVERFLOW_MASK      0x00000800      /**< Metric Counter 8
412                                                           *  Overflow> */
413 #define XAPM_IXR_MC7_OVERFLOW_MASK      0x00000400      /**< Metric Counter 7
414                                                           *  Overflow> */
415 #define XAPM_IXR_MC6_OVERFLOW_MASK      0x00000200      /**< Metric Counter 6
416                                                           *  Overflow> */
417 #define XAPM_IXR_MC5_OVERFLOW_MASK      0x00000100      /**< Metric Counter 5
418                                                           *  Overflow> */
419 #define XAPM_IXR_MC4_OVERFLOW_MASK      0x00000080      /**< Metric Counter 4
420                                                           *  Overflow> */
421 #define XAPM_IXR_MC3_OVERFLOW_MASK      0x00000040      /**< Metric Counter 3
422                                                           *  Overflow> */
423 #define XAPM_IXR_MC2_OVERFLOW_MASK      0x00000020      /**< Metric Counter 2
424                                                           *  Overflow> */
425 #define XAPM_IXR_MC1_OVERFLOW_MASK      0x00000010      /**< Metric Counter 1
426                                                           *  Overflow> */
427 #define XAPM_IXR_MC0_OVERFLOW_MASK      0x00000008      /**< Metric Counter 0
428                                                           *  Overflow> */
429 #define XAPM_IXR_FIFO_FULL_MASK         0x00000004      /**< Event Log FIFO
430                                                           *  full> */
431 #define XAPM_IXR_SIC_OVERFLOW_MASK      0x00000002      /**< Sample Interval
432                                                           * Counter Overflow> */
433 #define XAPM_IXR_GCC_OVERFLOW_MASK      0x00000001      /**< Global Clock Counter
434                                                           *  Overflow> */
435 #define XAPM_IXR_ALL_MASK               (XAPM_IXR_SIC_OVERFLOW_MASK | \
436                                         XAPM_IXR_GCC_OVERFLOW_MASK |  \
437                                         XAPM_IXR_FIFO_FULL_MASK | \
438                                         XAPM_IXR_MC0_OVERFLOW_MASK | \
439                                         XAPM_IXR_MC1_OVERFLOW_MASK | \
440                                         XAPM_IXR_MC2_OVERFLOW_MASK | \
441                                         XAPM_IXR_MC3_OVERFLOW_MASK | \
442                                         XAPM_IXR_MC4_OVERFLOW_MASK | \
443                                         XAPM_IXR_MC5_OVERFLOW_MASK | \
444                                         XAPM_IXR_MC6_OVERFLOW_MASK | \
445                                         XAPM_IXR_MC7_OVERFLOW_MASK | \
446                                         XAPM_IXR_MC8_OVERFLOW_MASK | \
447                                         XAPM_IXR_MC9_OVERFLOW_MASK)
448 /* @} */
449
450 /**
451  * @name AXI Monitor Control Register mask(s)
452  * @{
453  */
454
455 #define XAPM_CR_FIFO_RESET_MASK                 0x02000000
456                                                 /**< FIFO Reset */
457 #define XAPM_CR_GCC_RESET_MASK                  0x00020000
458                                                 /**< Global Clk
459                                                   Counter Reset */
460 #define XAPM_CR_GCC_ENABLE_MASK                 0x00010000
461                                                 /**< Global Clk
462                                                    Counter Enable */
463 #define XAPM_CR_EVTLOG_EXTTRIGGER_MASK          0x00000200
464                                                 /**< Enable External trigger
465                                                 to start event Log */
466 #define XAPM_CR_EVENTLOG_ENABLE_MASK            0x00000100
467                                                 /**< Event Log Enable */
468
469 #define XAPM_CR_RDLATENCY_END_MASK              0x00000080
470                                                 /**< Write Latency
471                                                         End point */
472 #define XAPM_CR_RDLATENCY_START_MASK            0x00000040
473                                                 /**< Read Latency
474                                                         Start point */
475 #define XAPM_CR_WRLATENCY_END_MASK              0x00000020
476                                                 /**< Write Latency
477                                                         End point */
478 #define XAPM_CR_WRLATENCY_START_MASK            0x00000010
479                                                 /**< Write Latency
480                                                         Start point */
481 #define XAPM_CR_IDFILTER_ENABLE_MASK            0x00000008
482                                                 /**< ID Filter Enable */
483
484 #define XAPM_CR_MCNTR_EXTTRIGGER_MASK           0x00000004
485                                                 /**< Enable External
486                                                    trigger to start
487                                                    Metric Counters  */
488 #define XAPM_CR_MCNTR_RESET_MASK                0x00000002
489                                                 /**< Metrics Counter
490                                                    Reset */
491 #define XAPM_CR_MCNTR_ENABLE_MASK               0x00000001
492                                                 /**< Metrics Counter
493                                                    Enable */
494 /*@}*/
495
496 /**
497  * @name AXI Monitor ID Register mask(s)
498  * @{
499  */
500
501 #define XAPM_ID_RID_MASK                        0xFFFF0000 /**< Read ID */
502
503 #define XAPM_ID_WID_MASK                        0x0000FFFF /**< Write ID */
504
505 /*@}*/
506
507 /**
508  * @name AXI Monitor ID Mask Register mask(s)
509  * @{
510  */
511
512 #define XAPM_MASKID_RID_MASK                    0xFFFF0000 /**< Read ID Mask */
513
514 #define XAPM_MASKID_WID_MASK                    0x0000FFFF /**< Write ID Mask*/
515
516 /*@}*/
517
518 /**************************** Type Definitions *******************************/
519
520 /***************** Macros (Inline Functions) Definitions *********************/
521
522 /*****************************************************************************/
523 /**
524 *
525 * Read a register of the AXI Performance Monitor device. This macro provides
526 * register access to all registers using the register offsets defined above.
527 *
528 * @param        BaseAddress contains the base address of the device.
529 * @param        RegOffset is the offset of the register to read.
530 *
531 * @return       The contents of the register.
532 *
533 * @note         C-style Signature:
534 *               u32 XAxiPmon_ReadReg(u32 BaseAddress, u32 RegOffset);
535 *
536 ******************************************************************************/
537 #define XAxiPmon_ReadReg(BaseAddress, RegOffset) \
538                 (Xil_In32((BaseAddress) + (RegOffset)))
539
540 /*****************************************************************************/
541 /**
542 *
543 * Write a register of the AXI Performance Monitor device. This macro provides
544 * register access to all registers using the register offsets defined above.
545 *
546 * @param        BaseAddress contains the base address of the device.
547 * @param        RegOffset is the offset of the register to write.
548 * @param        Data is the value to write to the register.
549 *
550 * @return       None.
551 *
552 * @note         C-style Signature:
553 *               void XAxiPmon_WriteReg(u32 BaseAddress,
554 *                                       u32 RegOffset,u32 Data)
555 *
556 ******************************************************************************/
557 #define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data) \
558                 (Xil_Out32((BaseAddress) + (RegOffset), (Data)))
559
560 /************************** Function Prototypes ******************************/
561
562 #ifdef __cplusplus
563 }
564 #endif
565
566 #endif  /* End of protection macro. */