Jetson TX1 I2C Slave Clock Stretching Max. Response Delay

I cannot find values for I2C Clock stretching maximal delay.
How long can an I2C Slave(attached to Jetson TX1) hold the SCL Line low?


Please check the TRM chapter 35 I2C controller.

I already looked into the TRM chapter 35…
There seems to be no info about this!
How does the TX1 handle this issue?


As I know the I2C Clock stretching should be hold by slave device not host controller.

You are right!
In my case TX1 is the I2C Master and I have an I2C Slave which is going to hold the SCL line low(clock stretching).
No the question is - How long is my I2C slave allowed to hold the SCL Line low?

Thanks for the prompt response.

Suppose there’s no limite for this however I2C SW Linux driver implemented a SW timeout for any I2C bus hangs like this if external slave device is doing the clock stretch, we cannot do anything from our I2C controller for that. We either need to wait for the external slave device to release the SCL line or reset the device if it holds the SCL line forever. I2C spec says the following in SCL stuck low cases.

“In the unlikely event where the clock (SCL) is stuck LOW, the preferential procedure is to reset the bus using the HW reset signal if your I2C devices have HW reset inputs. If the I2C devices do not have HW reset inputs, cycle power to the devices to activate the mandatory internal Power-On Reset (POR) circuit”.

Can you please confirm that there is only a SW Timeout and no additional HW Timeout?

Confirm there’s HW timeout implement for the linux i2c bus driver.