Hi
On 6/16/22 17:12, Dinh Nguyen wrote:
The I2C pins on the SoCFPGA platforms do not go through a GPIO module,One thing what is unclear to me how does this release the I2C slave that potentially keeps the SDA stuck low. Does platform specific reset sequence send 9 SCL pulses, toggle HW reset of the clients or cycle power of them?
thus cannot be recovered by the default method of by doing a GPIO access.
Only a reset of the I2C IP block can a recovery be successful.
If recovery is only controller point of view then worth to emphasis it in the commit log and perhaps add a comment too into i2c_socfpga_scl_recovery(). Some might hit an issue that I2C client is stuck and wonder why recovery won't work.
The assignment of the recover_bus needs to get done before the call toThis sentence no longer true after v3?
devm_gpiod_get_optional(), otherwise, the assignment is not taking place
because of an error after returning from devm_gpiod_get_optional().