Darwin, G5 and TimeBase sync
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com 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 (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Benjamin Herrenschmidt