
On Sat, May 24, 2008 at 05:24:00PM +0200, Haavard Skinnemoen wrote:
Sergey Lapin slapin@fan.ossfans.org wrote:
But I'm unable to read proper values from lines - they always return 0s. Any ideas on fixing? Linux i2c-gpio driver works perfectly.
Please try this patch:
http://www.nabble.com/-PATCH--soft_i2c%3A-Pull-SDA-high-before-reading-p1727...
You shouldn't need to do anything in the I2C_ACTIVE and I2C_TRISTATE hooks since the PIO is properly configured in open drain mode.
Alas, I was unable to make bit-banged I2C to work even with this patch applied. As I mentioned above, it works in Linux, but I'd like to be able to set time to my RTC from u-boot. I have checked that pins are configured properly from status registers (pull-ups are enabled, multi-drive mode is enabled (open drain), etc.). I could read only zeroes from SDA line in u-boot, and using oscilloscope, I see data on line. I can't find differencies in setup with i2c-gpio from Linux. Any ideas?
Thanks a lot, S.