Details
-
Bug
-
Status: Fixed
-
Medium
-
Resolution: Fixed
-
PDK
-
PDK-11015
-
PROCESSOR_SDK_08.01.00
-
PROCESSOR_SDK_08.02.00
-
j721e-evm
Description
TIMERP_ANY_MASK for BUILD_MCU is defined as 0xF in osal/soc/j721e/osal_soc.h
This restricts usage of up to max 4 DMTimer for R5Fs using TimerP APIs
For J721E (with 10 MCU Domain DMTimers and 20 MAIN Domain DMTimers), there is no reason to restrict this to “4”.
From osal/soc code review, it seems that the “TIMERP_ANY_MASK” definition in osal_soc.h for j721e is something which was copied from that for am65xx (AM65xx only had 4 MCU Domain DMTimers and 12 MAIN Domain DMTimers)
__
But for j721e we should restrict this to “8” (at least when running from MAIN Domain R5F cores) due to the following reason:-
Interrupts for MAIN Domain DMTimer 0-11 are not directly connected MAIN R5Fs VIM
There exists an Interrupt Router in between.
Interrupts for MAIN Domain DMTimer 12-19 are directly connected MAIN R5Fs VIM
Hence, the OSAL TimerP implementation is timerId=0 corresponds to MAIN Domain DMTimer 12 (timerId=1 -> MAIN Domain DMTimer 13 …..etc.. timerId=7 -> MAIN Domain DMTimer 19.)
Note: This is same as SYSBIOS implementation.