Port-powerpc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

IBM PowerPC 750FX



Hello!

Don't know if somebody already tried to do this, but the 750FX has the capability to change it's clockspeed (of the core itself using multipliers and the bus-speed) at runtime. The cpu is for example used in the iBook (at least the 2002). The steps for implementing it a very easy at least on the iBook:

The 750FX utilizes two PLLs to drive the clock speed. At one time only one is selected. PLL0 can be driven from external clock, PLL1 is internal only. The trick is, that the PLL0 and PLL1 are initialized with PLL0 to external clock and PLL1 for low power mode (so this is on the only box with this CPU I could check - I also checked some sources for other operating systems, which in seem to rely on this too, but maybe someone else with check this). So by simply changing the PLL the CPU is placed in low power mode. Works nice with 1.6 release I used for testing it.

PLL0 or PLL1 are selected by bit 15 of the HID1 register (SPR 0x3f1).

I also disabled BHT by changing the BTIC bit in the HID0 register, this is assumed to save another bit of power (some SYNCs/ISYNCs have to be placed before and after the HID0 change for this).

The current implementation is a bit ugly, but if there is some interest I could do a cleaned up implementation (currently I use a device and a small utility to change the cpu modes) or give someone the current code for playing.

--
Greetings
Matthias Kretschmer




Home | Main Index | Thread Index | Old Index