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.

AM6442: Timers used in Linux SDK

Part Number: AM6442

Hi,

What is the timer used in below device tree in Linux SDK 08.00.00.21 ?

         a53_timer0: timer-cl0-cpu0 {
                   compatible = "arm,armv8-timer";
                   interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
                                 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
                                 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
                                 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
         };


It seems the timer is "a physical timer" described in TRM section 6.1.3.4.2.
But there is no detailed information.


My customer wants to know the differences between this timer and the timer1 used in u-boot.
The customer thinks below timer is the "timer0" described in TRM section 12.5.3.6 Table 12-5403.
Correct?
        timer1: timer@2400000 {
                compatible = "ti,omap5430-timer";
                reg = <0x0 0x2400000 0x0 0x80>;
                ti,timer-alwon;
                clock-frequency = <25000000>;
                u-boot,dm-spl;
        };


Thanks and regards,
Koichiro Tashiro

  • Hi,

    that timer is the ARMv8 generic timer - this is defined by the ARMv8 architecture, of which the Cortex-A53 is an implementation that is used in the AM6442. The architecture defines that there's a virtual timer, that there's physical timer and so on, but how that timer is driven is up to the SoC.

    On the AM64x, the ARMv8 generic timer is driven by the GTC - the global timer counter (chapter 12.5.1 in the TRM).

    The "timer" timers described in chapter 12.5.3 of the TRM are something totally different.

    Regards,

    Dominic

  • Replying to confirm Dominic's response: he is correct on all points about the ARMv8 generic timer.

    However, the timer1 described in uboot's arch/arm/dts/k3-am642-evm-u-boot.dtsi is associated with TIMER0, so that is one of the "timers" described in the TRM under Peripherals > Timer Modules > Timers. I am double-checking with the team about whether we support the AM64x timers in the Linux kernel at this point in time, or if this is a uboot specific thing.

    Regards,

    Nick