[Armadillo:02065] Re: [Q]CLOCK_TICK_RATE(arch-mxc/mx31.h)

Shin-ya Koga email@hidden
2007年 9月 20日 (木) 13:54:40 JST


サムシングプレシャスの古賀です。

nakaiさん([Armadillo:02063]):
>>問:include/asm-arm/arch-mxc/mx31.h では、CLOCK_TICK_RATE
>>  の値が、CONFIG_MACH_ARMADILLO500 な場合には 60000000
>>  と定義されており、そうでない場合の約 3.6 倍になって
>>  いるのですが、これは何故でしょうか?
>>
>>(include/asm-arm/arch-mxc/mx31.h; 31行目付近)
>>#if defined(CONFIG_MACH_ARMADILLO500)
>>#define CLOCK_TICK_RATE         (60000000)
>>#else
>>#define CLOCK_TICK_RATE         16625000
>>#endif
>
>GPTで使用するCLKの違いによるものです。
> 
>>ソースツリーを CONFIG_MACH_ARMADILLO500 で grep してみま
>>したが、上記の違いに関係すると思われる箇所を見つけられませ
>>んでした。上記の違いが必要な理由が分からず、少々気になりま
>>したので、質問する次第です。差し支えなければ、教えて頂けま
>>したら幸いです >御存知の方
>
>CLOCK_TICK_RATEでgrepすればよかったですね。
>arch/arm/mach-mx3/time.c
>に該当箇所があります。

コメントを有難うございます。

このファイルは見ていました。「該当箇所」というのは、
mxc_init_time() の中で、CLOCK_TICK_RATE の値を使って
GPTPR、つまり GPT のプリスケーラ値を算出・設定して
いる箇所のことだと思いますが、tick rate の値が変わ
れば、プリスケーラ値も変わりますよね。

ONFIG_MACH_ARMADILLO500 か否かで tick rate の値が変
わる/変えなければいけないのが不思議に思えるのですが、
何故なんでしょうか?

clock.c にある mxc_clocks_init() や
clk_early_get_timer_rate() を見たのですが、上記の
CLOCK_TICK_RATE の違いが起きている理由が分からない
ので質問した、という次第なのです。

--
古賀信哉 (株)サムシングプレシャス



armadillo メーリングリストの案内