modify clock freq for AMD Geode LX

Guillermo Rodriguez Garcia guille.rodriguez at gmail.com
Fri Oct 30 04:40:07 EDT 2009


Hello all,

For power saving purposes I would like to be able to modify the CPU speed of
an AMD LX (LX800) at runtime. Ultimately I would like to have a cpufreq driver
for this, but for the moment I tried writing to the CPU PLL register directly
(MSR 0x4c000014).

This seems to work, "most of the time". I can set the CPU frequency all the
way from 200MHz to 600MHz. I can see this has immediate effect by benchmarking
and also by monitoring power consumption. However occassionally the system will
reset, segfault, or otherwise act strange when writing to the MSR.

The datasheet says "When using this register to change the PLL frequencies,
the CHIP_RESET bit should be set." I was not sure whether changing the clock
multipliers and dividers qualifies as "changing the PLL frequencies".

Has anyone else tried this? If this is not officially supported, is there any
other way to modify CPU frequency at runtime (without having to reset the chip)?

Thanks,

Guillermo




More information about the Linux-geode mailing list