[U-Boot-Users] [PATCH] soft_i2c: Pull SDA high before reading
Haavard Skinnemoen
haavard.skinnemoen at atmel.com
Fri May 16 11:08:11 CEST 2008
Spotted by Dean Capindale.
Systems that support open-drain GPIO properly are allowed provide an
empty I2C_TRISTATE define. However, this means that we need to be
careful not to drive SDA low when the slave is expected to respond.
This patch adds a missing I2C_SDA(1) to read_byte() required to
tristate the SDA line on systems that support open-drain GPIO.
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen at atmel.com>
---
common/soft_i2c.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/common/soft_i2c.c b/common/soft_i2c.c
index c5d7e20..5ef7f30 100644
--- a/common/soft_i2c.c
+++ b/common/soft_i2c.c
@@ -252,6 +252,7 @@ static uchar read_byte(int ack)
* Read 8 bits, MSB first.
*/
I2C_TRISTATE;
+ I2C_SDA(1);
data = 0;
for(j = 0; j < 8; j++) {
I2C_SCL(0);
--
1.5.4.3
More information about the U-Boot
mailing list