Darwin, G5 and TimeBase sync
Darwin, G5 and TimeBase sync
- Subject: Darwin, G5 and TimeBase sync
- From: Benjamin Herrenschmidt <email@hidden>
- Date: Tue, 09 Nov 2004 17:15:50 +1100
Hi !
I'm wondering if the CPU TimeBase synchronisation in Darwin works at
all, more specifically, if enableCPUTimeBase() using i2c works at all...
The reason is that if it worked, the timebase would be stopped
(disabled), which means that a call to IODelay() -> delay() would,
according to the implementation which uses the CPU timebase, loop
forever when this timebase is stopped.
However, the PPCI2CInterface.cpp driver (AppleI2C.kext) which seem to be
used to communicate with the clock chip ... uses IODelay() on every
register write !
On my side, I've tried implementing the timebase synchronisation
in linux, on a CY28508 based machine (older dual 2Ghz), and it doesn't
seem to work. From what I see, register 1 of the chip seem to contain
0xff, and the write of 0xf3 to it (clearing 0x0c) doesn't seem to have
any effect... though If I turn the I2C interface from combined mode to
stdsub mode for the write (the read stays in combined mode of course),
then I get a lockup, which could mean some clock went off ...
If the CY28508 is similar to the 28510 for which the datasheet is
available, than stdsub is what you want for writes anyway, not
combined...
I may be totally wrong, of course, but I have some doubts that the TB
sync in darwin actually works, at least on this machine, but feel free
to contradict me !
Regards,
Ben.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden