ぁゃιぃ

気晴らしにこのときの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)で値が違ったような気が…ということで調べてみた。

とりあえずPXA250の場合だと、上のテーブルにある値のうち0x161は使えない模様。まぁテーブルの名前が「pxa255_run_freqs」なので間違っちゃいないのだが、使われ方をみるとPXA250の場合でも参照してしまいそうな予感。