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.
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().