[U-Boot] [PATCH 2/3] Reset interrupted i2c slaves (galaxy5200)

Heiko Schocher hs at denx.de
Mon Aug 31 10:13:57 CEST 2009


Hello Detlev,

Detlev Zundel wrote:
>> Reset any i2c devices that may have been interrupted by a system reset.
>> Normally this would be accomplished by clocking the line until SCL and SDA
>> are released and then sending a start condtiion (From an Atmel datasheet).
>> But since there is only write access to these lines on the MPC5200 we can
>> only attempt to reset any slave devices by sending more start commands than
>> bits the slave is attempting to transmit.
> 
> You may want to talk to Heiko (on CC) about this deblocking stuff.
> Heiko implemented an algorithm which seems to work very good for a lot
> of different cpu types.

But this is realized for the bitbang driver, and actual only manufacturer
(keymile) specific. So, if we can use the I2C pins as GPIO, it is maybe
an option, but a fast look in the mpc5200 users manual, didn;t show me
a way for using the I2C pins as GPIO, so, we must implement a CPU
specific (as we did it for the 83xx) way.

> I think it may be worth to reuse what's available there.  And much more,
> the algorithm Heiko has implemented has been thoroughly tested on actual
> hardware whereas from your commit-msg it seems that your implementation
> is more a theoretical one at the moment.

As I understood Eric, there is only write access to the I2C pins, so
we couldn;t use "my" deblocking mechanism. As Erics way is as the
standard deblocking mechanism in the bitbang driver, I think, it is
okay.

bye
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list