This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Timer utilization



Hi,

We are using DVRRDK3.0 for our application, which involves DSP activity, video encoding on video M3, capture on VPSS M3, and Linux.

And we need two timers for one of our own applications that's not related to DVRRDK. I am wondering which one I can use.

It looks to me like:

Timer 1 is used by Linux on A8?

Timer 2 is used by VPSS M3 and video M3 as system timers.

Timer 3 is used by DSP as system timer.

And timers 4 - 8 is free of use.

Could any one confirm my assumptions?

 

I was confused because in syslink file

ti_tools/syslink/syslink_2_10_02_17_patched/packages/ti/syslink/family/common/ti81xx/ti81xxdsp/Dm8168DspPwr.c

Timer 4 is reserved for DSP, but by reading bios source I am deeply convinced that it is using Timer 3 as system timer.

Am I missing something? Does any of the cores use timers for purposes other than system tick?

 

Thanks very much,

Tim

  • http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_PSP_04.00.00.10_Feature_Performance_Guide has the details.

    Below is the summary:

     There are 7 DMtimers in 816x and 8 DMTimers in 814x.

    Module/Subsystem Enabled on Reset Enabled in U-Boot  Enabled in Linux

    Timer1                         NO                  YES                             YES
    Timer2                         NO                  NO                              YES
    Timer3                         NO                  NO                              NO
    Timer4                         NO                  NO                              CONFIG
    Timer5 ,7                      NO                  NO                              NO
    Timer6 - Graphics (SGX)

    CONFIG means can be enabled while building the kernel.

    So Timer 1 & Timer 2 are owned and configured by linux.
    Timer4 can be enabled based on configuration.

    DmTimer3 was used by DSP.DmTimer3 had some issue which resulted in it not generating timer interrupt periodically so BIOS team migrated to using DMTIMER4 recently.

    So if using the latest release of BIOS (bios_6_32_05_54+)  and Syslink (syslink_2_00_04_83+)  ,
                                                DMTIMER 1,2 – Linux
                                                DMTIMER 3 – Don’t use. Enabled by syslink at DSP load time though.
                                                DMTIMER 4 – DSP.
                                                DMTIMER 5 , 7 are ununsed and not configured. 
                                                DMTIMER 6 - Used by SGX

    M3 uses internal timer (SYSTICKS) for BIOS timer (Clock_getTicks) and both the M3s share the CTM timer for Timestamp_get32/64. It does _not_ use dmtimers.

    Above info is for 816x but same info is applicable for 814x as well.