Hi
Does the CY7C65215A Linux API provide a method for i2c stuck bus recovery? i.e. if a device connected to the master is holding the SDA line low can the CY7C65215A clock out the slave device so that it releases SDA?
Thanks
Mal
Solved! Go to Solution.
Hi,
CY7C65215A supports NXP I2C Specification Rev 5 not the Rev 6. Since I2C bus recovery wasn't part of Rev 5 of the spec its not implemented in our USB-Serial devices.
Hi,
There is no API to perform specified operation in USB-serial devices.
Hi Pranava
What is the recommended process for resolving a stuck bus condition with these devices? I.e.SDA held low by a slave device.
Can the SCL line be clocked manually?
Regards
Mal
Hi,
Slave should be reset to solve the issue. A CY7C65215A GPIO can be asserted from the master side to reset the slave.
GPIO in Open drain mode can be connected to SCL line to manually toggle SCL line to force slave to release SDA. (Might not work for some slave device)
Hi Pranava
The master clocking the SDA line is listed under the NXP i2c specification in 3.1.16 Bus clear as below. The reset of the slave device is a secondary action if the clock pulses don't release the bus.
"If the data line (SDA) is stuck LOW, the master should send nine clock pulses. The device
that held the bus LOW should release it sometime within those nine clocks. If not, then
use the HW reset or cycle power to clear the bus."
Can this requirement be included in the CY7C65215A firmware?
Thanks
Malcolm
+1 also want i2c reset sequence as part of the firmware+api.
any chance you can release the source-code of these?
Hi,
CY7C65215A supports NXP I2C Specification Rev 5 not the Rev 6. Since I2C bus recovery wasn't part of Rev 5 of the spec its not implemented in our USB-Serial devices.