HalCogen generates /provides automatically its HAL layer and, for odd reason it generated me buggy / missing asm for 1227 only, and not for 0714 or 0914.
(Just retested by deleting this asm file, and generating again)
This is for the set/ get event counters. What it generated for 1227 is :
;-------------------------------------------------------------------------------
; Set Count event
; SourceId : PMU_SourceId_009
; DesignId : PMU_DesignId_009
; Requirements : HL_SR485
.def _pmuSetCountEvent_
.asmfunc
_pmuSetCountEvent_
mcr p15, #0, r0, c9, c12, #5 ; select counter
mcr p15, #0, r1, c9, c13, #1 ; select event
bx lr
.endasmfunc
;-------------------------------------------------------------------------------
; Get Event Counter Count Value
; SourceId : PMU_SourceId_011
; DesignId : PMU_DesignId_011
; Requirements : HL_SR486
.def _pmuGetEventCount_
.asmfunc
_pmuGetEventCount_
mcr p15, #0, r0, c9, c12, #5 ; select counter
mrc p15, #0, r0, c9, c13, #2 ; read event counter
bx lr
This kinda has off-by-one on the event counter selection, it' missing
lsr r0, r0, #1
as the first line for those calls. And, oddly , it does insert it for 0714 & 0914 code... Don't know whats up with my 1227 config
