ARM Global timer of iMX6QSD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ARM Global timer of iMX6QSD

Jump to solution
1,736 Views
mileswang
Contributor II

Dear Sir,

By Cortex ™ -A9 MPCore Technical Reference Manual, the global timer is clocked by PERIPHCLK. I don't know which clock is it in  iMX6QSD CCM Clock Tree.

By my test  the clock frequency of ARM global timer is changed when I change ARM clock frequency for DVFS. So I guess the clock of the global timer may be ARM_CLK_ROOT. Is it correct?

What is the clock frequency of ARM global timer?

Thanks,

Miles

Labels (2)
0 Kudos
1 Solution
1,153 Views
igorpadykov
NXP Employee
NXP Employee

Hi Miles

you are right,

the mpcore timer runs at half the CPU frequency.

there are many references to that, like

freebsd/mpcore_timer.c at master · freebsd/freebsd · GitHub

though I could not find this in documentation, probably you can post

this to Support - ARM

Best regards

igor

View solution in original post

0 Kudos
3 Replies
1,153 Views
igorpadykov
NXP Employee
NXP Employee

Hi Miles

you are right, timer belongs to arm core and clocked by ARM_CLK_ROOT,

which is clock source of arm core.

Timer.jpg

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,153 Views
mileswang
Contributor II

Hi Igor,

Thanks. How about the clock frequency of the global timer. From Cortex ™ -A9 MPCore Technical Reference Manual,

        The Interrupt Controller, global timer, private timers, and watchdog are clocked with PERIPHCLK.

        PERIPHCLK must be synchronous with CLK, and the PERIPHCLK clock period, N, must be configured as a multiple of the CLK clock

        period. This multiple N must be equal to, or greater than two.

So the clock frequency should 1/N of ARM_CLK_ROOT clock. How much is the N on iMX6QSD? By my testing, it should be 2. Is any register there to set N?

Thanks,

Miles

0 Kudos
1,154 Views
igorpadykov
NXP Employee
NXP Employee

Hi Miles

you are right,

the mpcore timer runs at half the CPU frequency.

there are many references to that, like

freebsd/mpcore_timer.c at master · freebsd/freebsd · GitHub

though I could not find this in documentation, probably you can post

this to Support - ARM

Best regards

igor

0 Kudos