ARM Global timer of iMX6QSD

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

ARM Global timer of iMX6QSD

跳至解决方案
3,221 次查看
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

标签 (2)
0 项奖励
回复
1 解答
2,638 次查看
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 项奖励
回复
3 回复数
2,638 次查看
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 项奖励
回复
2,638 次查看
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 项奖励
回复
2,639 次查看
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 项奖励
回复