SPRZ447E July 2017 – July 2024 AM5746 , AM5748 , AM5749
System I2C Hang Due to Miss of Bus Clear Support
Low
There is no H/W mechanism preventing violating below I2C Bus clear standard requirement.
If the data line (SDA) is stuck LOW, the master should send 9 clock pulses. The device that held the bus LOW should release it sometime within those 9 clocks. If not, then use the HW reset or cycle power to clear the bus.
Sys_Warmreset doesn't reset the I2C IP it does at IC level.
So, once the situation is reached, IC is seeing bus busy status bit.
I2C SW handler could be programmed to detect such a locked situation. In this case, it will check the Bus Busy bit and issue the needed clock pulses.
AM574x SR 1.0
AM576x SR 1.0
AM574x: 1.0
DRA75xP, DRA74xP, DRA77xP, DRA76xP: 1.0
TDA2Px: 1.0
AM576x: 1.0