[U-Boot-Users] [AT91] Problems configuring bit-banged I2C

Sergey Lapin slapin at ossfans.org
Thu May 29 23:56:30 CEST 2008


On Sat, May 24, 2008 at 05:24:00PM +0200, Haavard Skinnemoen wrote:
> Sergey Lapin <slapin at 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-p17270563.html
> 
> 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.





More information about the U-Boot mailing list