CY7C65215A i2C Stuck Bus Recovery

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Mal
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

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

0 Likes
1 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.

Best regards,
Pranava

View solution in original post

0 Likes
6 Replies
Pranava_YN
Moderator
Moderator
Moderator
100 likes received 500 replies posted 250 solutions authored

Hi,

There is no API to perform specified operation in USB-serial devices.

Best regards,
Pranava
0 Likes
Mal
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

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

0 Likes
Pranava_YN
Moderator
Moderator
Moderator
100 likes received 500 replies posted 250 solutions authored

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)

Best regards,
Pranava
0 Likes
Mal
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

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

0 Likes

+1 also want i2c reset sequence as part of the firmware+api.

 

any chance you can release the source-code of these?

0 Likes

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.

Best regards,
Pranava
0 Likes