how to setup PLL1 on 750FX
Chris Studholme
cvs at cs.utoronto.ca
Fri Jun 27 03:02:04 EST 2003
I'm trying to set PLL1 on my 750FX to a multiplier of 4 (for a clock speed
of 400MHz) so I can eventually use cpufreq, but the machine keeps locking
up.
I know HID1 is 0x92000000 after boot and except for my twiddling of a bit
to detect the 750FX, it is not changed. This value is slightly confusing.
It indicates that PLL0 is in use, and its config is external. PLL_CFG is
18 (decimal) which indicates a multiplier of 9x. That's fine as my cpu
speed is 900MHz on a 100MHz bus. But PLL_RNG appears to be 01 (binary),
which is labeled as a reserved value in the IBM docs. What is the purpose
of PLL_RNG (range bits) anyway?
I'm trying to set PLL1 to 4x using the code:
mtspr(HID1,(mfspr(HID1)&~0xFE)|0x44);
This should set PLL_CFG to a value of 8 (for a multiplier of 4x) and
PLL_RNG to 10 (binary) which the IBM docs say should be used when the
frequency is below 600MHz. Note that I've also tried 00 and 01 as values
of PLL_RNG and they all fail. I've tried this both with and without a
delay afterwards. My delay is simply:
for (i=0; i<100000000; ++i) j+=i;
Since I never switch the processor to PLL1, the delay shouldn't matter.
The machine doesn't seem to lockup the moment HID1 is changed (ie. in
finish_device_tree()). It always locks up during the detection of the IDE
devices. From dmesg output:
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
ide0: Found Apple KeyLargo ATA-4 controller, bus ID 2
ide1: Found Apple KeyLargo ATA-3 controller, bus ID 1
ide2: Found Apple KeyLargo ATA-3 controller, bus ID 0 (mediabay)
Probing IDE interface ide0...
hda: FUJITSU MHR2020AT D, ATA DISK drive
hda: Enabling Ultra DMA 4
Probing IDE interface ide1...
ide0 at 0xd1806000-0xd1806007,0xd1806160 on irq 19
hda: attached ide-disk driver.
-> lockup is always here regardless of delay or not and particular setting <-
hda: host protected area => 1
hda: 39070080 sectors (20004 MB) w/2048KiB Cache, CHS=2432/255/63,
UDMA(66)
Partition check:
/dev/ide/host0/bus0/target0/lun0: [mac] p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13
usb.c: registered new driver usbdevfs
Is there something else I need to do to set PLL1?
Chris.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list