Re: [PATCHv6 1/2] i2c: designware: introduce a custom scl recovery for SoCFPGA platforms

From: Wolfram Sang
Date: Wed Jun 22 2022 - 16:08:05 EST



> From the original code, the first mechanism to a recovery is to acquire a
> GPIO for the SCL line and send the 9 SCL pulses, after that, it does a reset
> of the I2C module. For the SOCFPGA part, there is no GPIO line for the SCL,
> thus the I2C module cannot even get a reset. This code allows the function
> to reset the I2C module for SOCFPGA, which is the 2nd part of the recovery
> process.

The second part is totally useless if the client device is holding SDA
low. Which is exactly the situation that recovery tries to fix. As I
said, if you can't control SCL, you don't have recovery.

> > See, this function is named scl_recovery, but there is no SCL involved.
> > This is why I think there is the misunderstanding here.
> >
>
> I understand your point here. Perhaps just call it i2c_socfpga_recovery()?

No. adap->bus_recovery_info should be NULL.

Attachment: signature.asc
Description: PGP signature