On Mon, Apr 07, 2025 at 01:18:59PM +0100, Prabhakar wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Implement bus recovery by reinitializing the hardware to reset the bus > state and generating 9 clock cycles (and a stop condition) to release > the SDA line. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > Tested-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx> > Reviewed-by: Andy Shevchenko <andy@xxxxxxxxxx> As I wrote in the other thread: I took your generic_scl approach and replaced bus_free() with get_sda(). Works fine here with my G3S: # echo 0x1a > /sys/kernel/debug/i2c/i2c-2/incomplete_address_phase ; i2cget -f -y 0 0x1a 3 0x0c And I see 9 pulses in the scope. Can you try this with your setup please?
Attachment:
signature.asc
Description: PGP signature