[U-Boot-Users] I2C Initialization

Joakim Tjernlund joakim.tjernlund at lumentis.se
Wed Mar 12 11:24:18 CET 2003


> 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






More information about the U-Boot mailing list