39 #ifndef SDL_ARM_R5_PMU_H 40 #define SDL_ARM_R5_PMU_H 177 typedef struct SDL_PMU_staticReg_read
196 #define SDL_ARM_R5_PMU_CYCLE_COUNTER_NUM (31U) 199 #define SDL_ARM_R5_PMU_CFG_CNTR_EVENT_TYPE_MASK (0x000000FFU) 200 #define SDL_ARM_R5_PMU_CFG_CNTR_EVENT_TYPE_SHIFT (0x00000000U) 201 #define SDL_ARM_R5_PMU_CFG_CNTR_EVENT_TYPE_RESETVAL (0x00000000U) 202 #define SDL_ARM_R5_PMU_CFG_CNTR_EVENT_TYPE_MAX (0x000000FFU) 237 extern void SDL_R5PMU_cfg( uint32_t cycleCntDiv, uint32_t exportEvents, uint32_t userEnable );
Definition: sdl_arm_r5_pmu.h:101
Definition: sdl_arm_r5_pmu.h:112
Definition: sdl_arm_r5_pmu.h:100
void SDL_R5PMU_enableCntr(uint32_t cntrNum, uint32_t enable)
Enable/disable a PMU counter.
Definition: sdl_arm_r5_pmu.h:114
Definition: sdl_arm_r5_pmu.h:97
Definition: sdl_arm_r5_pmu.h:96
Definition: sdl_arm_r5_pmu.h:133
Definition: sdl_arm_r5_pmu.h:102
Definition: sdl_arm_r5_pmu.h:154
int32_t SDL_R5PMU_verifyCfg(uint32_t cycleCntDiv, uint32_t exportEvents)
Configure the Performance Management Unit (PMU)
Definition: sdl_arm_r5_pmu.h:103
Definition: sdl_arm_r5_pmu.h:94
void SDL_R5PMU_enableCntrOverflowIntr(uint32_t cntrNum, uint32_t enable)
Enable/disable overflow interrupt generation for a PMU counter.
Definition: sdl_arm_r5_pmu.h:125
Definition: sdl_arm_r5_pmu.h:142
Definition: sdl_arm_r5_pmu.h:126
Definition: sdl_arm_r5_pmu.h:149
void SDL_R5PMU_readStaticRegisters(SDL_PMU_staticRegs *pStaticRegs)
PMU API to Read the Static Registers. This function reads the values of the static registers such as ...
Definition: sdl_arm_r5_pmu.h:124
Definition: sdl_arm_r5_pmu.h:121
uint8_t exportEvents
Definition: sdl_arm_r5_pmu.h:181
Definition: sdl_arm_r5_pmu.h:153
void SDL_R5PMU_cfg(uint32_t cycleCntDiv, uint32_t exportEvents, uint32_t userEnable)
Configure the Performance Management Unit (PMU)
PMU Static Registers structure.
Definition: sdl_arm_r5_pmu.h:177
Definition: sdl_arm_r5_pmu.h:98
Definition: sdl_arm_r5_pmu.h:108
Definition: sdl_arm_r5_pmu.h:120
Definition: sdl_arm_r5_pmu.h:138
uint32_t SDL_R5PMU_readCntr(uint32_t cntrNum)
Read a PMU counter.
SDL_R5PmuEventType
This enumerator defines PMU event types.
Definition: sdl_arm_r5_pmu.h:92
Definition: sdl_arm_r5_pmu.h:122
Definition: sdl_arm_r5_pmu.h:146
uint8_t cycleCntDiv
Definition: sdl_arm_r5_pmu.h:179
Definition: sdl_arm_r5_pmu.h:118
uint32_t SDL_R5PMU_getNumCntrs(void)
Get the number of PMU counters supported.
void SDL_R5PMU_cfgCntr(uint32_t cntrNum, SDL_R5PmuEventType eventType)
Configure a PMU counter.
Definition: sdl_arm_r5_pmu.h:140
Definition: sdl_arm_r5_pmu.h:159
void SDL_R5PMU_enableAllCntrs(uint32_t enable)
Enable/disable all PMU counters.
Definition: sdl_arm_r5_pmu.h:105
Definition: sdl_arm_r5_pmu.h:157
Definition: sdl_arm_r5_pmu.h:143
Definition: sdl_arm_r5_pmu.h:155
Definition: sdl_arm_r5_pmu.h:123
Definition: sdl_arm_r5_pmu.h:107
uint8_t userEnable
Definition: sdl_arm_r5_pmu.h:183
Definition: sdl_arm_r5_pmu.h:156
Definition: sdl_arm_r5_pmu.h:95
Definition: sdl_arm_r5_pmu.h:137
void SDL_R5PMU_resetCntrs(void)
Reset all counters to zero.
uint32_t cntEnableSetReg
Definition: sdl_arm_r5_pmu.h:185
Definition: sdl_arm_r5_pmu.h:111
Definition: sdl_arm_r5_pmu.h:110
Definition: sdl_arm_r5_pmu.h:158
uint32_t SDL_R5PMU_readCntrOverflowStatus(void)
Read the overflow status for all of the counters.
Definition: sdl_arm_r5_pmu.h:141
Definition: sdl_arm_r5_pmu.h:128
Definition: sdl_arm_r5_pmu.h:151
void SDL_R5PMU_resetCycleCnt(void)
Reset the cycle counter to zero.
Definition: sdl_arm_r5_pmu.h:99
Definition: sdl_arm_r5_pmu.h:109
Definition: sdl_arm_r5_pmu.h:104
Definition: sdl_arm_r5_pmu.h:131
void SDL_R5PMU_clearCntrOverflowStatus(uint32_t cntrMask)
Clear the overflow flag for the specified counter(s)
Definition: sdl_arm_r5_pmu.h:147
Definition: sdl_arm_r5_pmu.h:134
Definition: sdl_arm_r5_pmu.h:150
Definition: sdl_arm_r5_pmu.h:152
Definition: sdl_arm_r5_pmu.h:115
Definition: sdl_arm_r5_pmu.h:144
Definition: sdl_arm_r5_pmu.h:130
Definition: sdl_arm_r5_pmu.h:117
void SDL_R5PMU_setResetCntr(uint32_t cntrNum, uint32_t cntrVal)
Set a PMU counter.
Definition: sdl_arm_r5_pmu.h:129
Definition: sdl_arm_r5_pmu.h:113
Definition: sdl_arm_r5_pmu.h:119
Definition: sdl_arm_r5_pmu.h:139
Definition: sdl_arm_r5_pmu.h:135
Definition: sdl_arm_r5_pmu.h:132
Definition: sdl_arm_r5_pmu.h:145
Definition: sdl_arm_r5_pmu.h:127
Definition: sdl_arm_r5_pmu.h:160
Definition: sdl_arm_r5_pmu.h:106
Definition: sdl_arm_r5_pmu.h:136
Definition: sdl_arm_r5_pmu.h:148
Definition: sdl_arm_r5_pmu.h:116