This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3352: SDA stuck recover

Part Number: AM3352

Tool/software: Linux

In our board AM3352 is configured as I2C Master on I2C0 (pins C16& C17).
We are debugging an issue in which one of the slave devices on the bus is constantly keeping the SDA low.
When reproducing the issue by maunaly forcing the SDA to GND we noticed the following on the dmseg.

.......

<4>[  427.250988] omap_i2c 44e0b000.i2c: timeout waiting for bus ready

<3>[  428.854518] omap_i2c 44e0b000.i2c: controller timed out

<4>[  472.247079] omap_i2c 44e0b000.i2c: timeout waiting for bus ready

<4>[  473.254892] omap_i2c 44e0b000.i2c: timeout waiting for bus ready

.....

Using a scope we didn't see any attempt by the AM3352 to recover the bus by toggling the SCL.

Our Linux version is 3.8 which is quite old.

we would like to fix the recover feature by a patch to the current Linux.

1. Is there a way to momentary set the I2C SCL pin as GPIO just to toggle it few times? can you provide a reference code that is doing so?
2. otherwise can you confirm the latest Linux will actually fix the issue? Was it tested in a lab to see the signal toggles?

Thanks

3.8.13