ぁゃιぃ
気晴らしにこのときのCPU_FREQ問題を見ていたらなんとなくそれっぽいのが。
static pxa_freqs_t pxa255_run_freqs[] = { /* CPU MEMBUS CCCR DIV2 CCLKCFG run turbo PXbus SDRAM */ { 99500, 99500, 0x121, 1, CCLKCFG}, /* 99, 99, 50, 50 */ {132700, 132700, 0x123, 1, CCLKCFG}, /* 133, 133, 66, 66 */ {199100, 99500, 0x141, 0, CCLKCFG}, /* 199, 199, 99, 99 */ {265400, 132700, 0x143, 1, CCLKCFG}, /* 265, 265, 133, 66 */ {331800, 165900, 0x145, 1, CCLKCFG}, /* 331, 331, 166, 83 */ {398100, 99500, 0x161, 0, CCLKCFG}, /* 398, 398, 196, 99 */ };
このテーブルにあるCCCRレジスタ(Core Clock Configuration Register)の値なんだが、なんか昔オーバークロックネタがらみでPXA250(SL-C700)とPXA255(SL-C750/760/860)で値が違ったような気が…ということで調べてみた。
- http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%b3%ab%c8%af%a5%e1%a5%e2%2f%a5%cf%a1%bc%a5%c9%a5%a6%a5%a7%a5%a2%2fCPU%b4%b9%c1%f5#i10
- http://tetsu.homelinux.org/zaurus/kernel/
とりあえずPXA250の場合だと、上のテーブルにある値のうち0x161は使えない模様。まぁテーブルの名前が「pxa255_run_freqs」なので間違っちゃいないのだが、使われ方をみるとPXA250の場合でも参照してしまいそうな予感。