]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo_bsp/ps7_cortexa9_0/libsrc/standalone_v6_6/src/xl2cc_counter.h
Update Zynq, MPSoc Cortex-A53 and MPSoc Cortex-R5 demo projects to build with the...
[freertos] / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / RTOSDemo_bsp / ps7_cortexa9_0 / libsrc / standalone_v6_6 / src / xl2cc_counter.h
1 /******************************************************************************
2 *
3 * Copyright (C) 2011 - 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 xl2cc_counter.h
36 *
37 * @addtogroup l2_event_counter_apis PL310 L2 Event Counters Functions
38 *
39 * xl2cc_counter.h contains APIs for configuring and controlling the event
40 * counters in PL310 L2 cache controller.
41 * PL310 has two event counters which can be used to count variety of events
42 * like DRHIT, DRREQ, DWHIT, DWREQ, etc. xl2cc_counter.h contains definitions
43 * for different configurations which can be used for the event counters to
44 * count a set of events.
45 *
46 *
47 * @{
48 *
49 * <pre>
50 * MODIFICATION HISTORY:
51 *
52 * Ver   Who  Date     Changes
53 * ----- ---- -------- -----------------------------------------------
54 * 1.00a sdm  07/11/11 First release
55 * 3.07a asa  08/30/12 Updated for CR 675636 to provide the L2 Base Address
56 *                     inside the APIs
57 * </pre>
58 *
59 ******************************************************************************/
60
61 #ifndef L2CCCOUNTER_H /* prevent circular inclusions */
62 #define L2CCCOUNTER_H /* by using protection macros */
63
64 /***************************** Include Files ********************************/
65
66 #include "xpseudo_asm.h"
67 #include "xil_types.h"
68
69 #ifdef __cplusplus
70 extern "C" {
71 #endif /* __cplusplus */
72
73 /************************** Constant Definitions ****************************/
74
75 /*
76  * The following constants define the event codes for the event counters.
77  */
78 #define XL2CC_CO                0x1
79 #define XL2CC_DRHIT             0x2
80 #define XL2CC_DRREQ             0x3
81 #define XL2CC_DWHIT             0x4
82 #define XL2CC_DWREQ             0x5
83 #define XL2CC_DWTREQ            0x6
84 #define XL2CC_IRHIT             0x7
85 #define XL2CC_IRREQ             0x8
86 #define XL2CC_WA                0x9
87 #define XL2CC_IPFALLOC          0xa
88 #define XL2CC_EPFHIT            0xb
89 #define XL2CC_EPFALLOC          0xc
90 #define XL2CC_SRRCVD            0xd
91 #define XL2CC_SRCONF            0xe
92 #define XL2CC_EPFRCVD           0xf
93
94 /**************************** Type Definitions ******************************/
95
96 /***************** Macros (Inline Functions) Definitions ********************/
97
98 /************************** Variable Definitions ****************************/
99
100 /************************** Function Prototypes *****************************/
101
102 void XL2cc_EventCtrInit(s32 Event0, s32 Event1);
103 void XL2cc_EventCtrStart(void);
104 void XL2cc_EventCtrStop(u32 *EveCtr0, u32 *EveCtr1);
105
106 #ifdef __cplusplus
107 }
108 #endif /* __cplusplus */
109
110 #endif /* L2CCCOUNTER_H */
111 /**
112 * @} End of "addtogroup l2_event_counter_apis".
113 */