[U-Boot-Users] I2C Initialization

Joakim Tjernlund
2003-03-12T10:24:18Z

> On Wed, Mar 12, 2003 at 09:31:46AM +0100, Joakim Tjernlund wrote:
> > I copied parts of mpc8xx/soft_i2c.c in my ppcboot(1.0.5) and hacked
> > a I2C Reset function that is called from misc_init_r().
>
> You should use the i2c_init_board() infrastructure I've recently added.
>
> On PXA you get problems when you just toggle between the states - the
> internal i2c controller thinks there is traffic. So for the innokom
> board we switch betwenn "low" and "high impedance". I have no idea if
> that helps in your case...
>
> Robert

I found the cause. The DS1337 is in Data Read(Slave Transmitter Mode) and
is in the middle of a byte transfer. SDA is activly driven low by the DS1337
and therefore it won't listen to START/STOP conditions. One must generate
clocks until it releases SDA. I am not sure how to do this in
a safe way.

Any ideas?

Jocke