Skip to content
Snippets Groups Projects
Commit 110e006f authored by Haavard Skinnemoen's avatar Haavard Skinnemoen Committed by Wolfgang Denk
Browse files

soft_i2c: Pull SDA high before reading


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: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
parent f979690e
No related branches found
No related tags found
No related merge requests found
...@@ -252,6 +252,7 @@ static uchar read_byte(int ack) ...@@ -252,6 +252,7 @@ static uchar read_byte(int ack)
* Read 8 bits, MSB first. * Read 8 bits, MSB first.
*/ */
I2C_TRISTATE; I2C_TRISTATE;
I2C_SDA(1);
data = 0; data = 0;
for(j = 0; j < 8; j++) { for(j = 0; j < 8; j++) {
I2C_SCL(0); I2C_SCL(0);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment