Hi,
We are working on creating two applications, one on Linux running on A15 core and another on TI RTOS running on DSP core both communicating using IPC. We have been using remote proc from Linux host to invoke DSP firmware. The App running on DSP core uses TI RTOS and require at least two timers. On DSP TI RTOS App, we were able to create instance for only one timer (timer 14 - index 13). As we need two timers we have tried creating instance with other timer indices but we are unable to create instance of timers other than timer 14. We need one more timer for our App running on DSP (TI RTOS). Both Linux and DSP app need to run in parallel.
We enabled access to timer 14 with following configuration
CSL_l4per_cm_core_componentRegs *l4PerCmReg =
(CSL_l4per_cm_core_componentRegs *)CSL_MPU_L4PER_CM_CORE_REGS;
CSL_FINST(l4PerCmReg->CM_L4PER3_TIMER14_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER3_TIMER14_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER3_TIMER14_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER3_TIMER14_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER3_TIMER14_CLKCTRL_REG_IDLEST));
Configuration in cfg file for timers:
TimerSupport.availMask = 0xF730;
// Connect GP Timer 13 to EventId 76 (XBAR Instance 45)
IntXbar.connectMeta(45, 339);
// Connect GP Timer 14 to EventId 77 (XBAR Instance 46)
IntXbar.connectMeta(46, 340);
// Connect GP Timer 15 to EventId 78 (XBAR Instance 47)
IntXbar.connectMeta(47, 341);
// Connect GP Timer 16 to EventId 81 (XBAR Instance 49)
IntXbar.connectMeta(49, 342);
// The DMTimer's timer mapping table shows that the intNum
// for GP Timer 13, 14, 15 & 16 is -1 implying the intNum
// has not been assigned by default. The below code utilizes
// the DMTimer module's timerSettings array to assign
// a default intNum to each of these timers.
Timer.timerSettings[12].intNum = 14;
Timer.timerSettings[13].intNum = 15;
Timer.timerSettings[14].intNum = 4;
Timer.timerSettings[15].intNum = 5;
Timer.timerSettings[5].intNum = 8;
However using similar way we are unable to create timer instance using Timer_create() function.
Please let us know what need to be done to create at least one more timer on TI RTOS (DSP) along side of Linux (A15).