Index: common/soft_i2c.c =================================================================== RCS file: /home/cvsroot/Projects/u-boot/common/soft_i2c.c,v retrieving revision 1.5 diff -p -u -r1.5 soft_i2c.c --- common/soft_i2c.c 25 Feb 2007 01:30:17 -0000 1.5 +++ common/soft_i2c.c 21 May 2007 21:49:01 -0000 @@ -183,6 +183,9 @@ static void send_ack(int ack) I2C_DELAY; I2C_SCL(0); I2C_DELAY; + I2C_SDA(1); + I2C_TRISTATE; + I2C_DELAY; } Index: README =================================================================== RCS file: /home/cvsroot/Projects/u-boot/README,v retrieving revision 1.3 diff -p -u -r1.3 README --- README 23 Apr 2007 23:09:10 -0000 1.3 +++ README 21 May 2007 21:49:35 -0000 @@ -1279,7 +1279,7 @@ The following options need to be configu The code necessary to make the I2C data line tri-stated (inactive). If the data line is open collector, this - define can be null. + define should be the same as I2C_SDA(1). eg: #define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA)