[coreboot] How to change clockchip frequency?

Oskar Enoksson enok at lysator.liu.se
Wed Nov 2 13:37:07 CET 2011

I have a chip called CDC960 on my motherboard. It is responsible for 
generating the bus frequency for the cpu, the pci bus etc. I downloaded 
the datasheet and noticed that I can change the base frequency by +/-10% 
by sending an smbus command to the cdc960.

When I sent the smbus commands from a running linux the system froze for 
a few seconds and then rebooted. But after reboot the frequency was 
indeed changed (overclocked) and everything worked just fine.

I tried to add the smbus command to romstage.c in my coreboot, but that 
didn't work. The boot process just hanged immediately after the smbus 
command had been sent.

I guess the running CPU (or something else in the system) cannot handle 
the frequency change and needs to be reset immediately after the command 
is sent. Perhaps some watchdog under Linux resets the system after a few 
seconds of irresponsiveness. But what is the recommended way in coreboot?

More information about the coreboot mailing list