[PATCH v3 0/4] P2040/P2041 i2c recovery erratum
Chris Packham
Chris.Packham at alliedtelesis.co.nz
Thu May 20 13:36:58 AEST 2021
On 13/05/21 3:01 am, wsa at kernel.org wrote:
>>> I've been doing my recent work with a P2040 and prior to that I did test
>>> out the recovery on a T2081 (which isn't documented to have this
>>> erratum) when I was re-working the driver. The "new" recovery actually
>>> seems better but I don't have a reliably faulty i2c device so that's
>>> only based on me writing some code to manually trigger the recovery
>>> (using the snippet below) and observing it with an oscilloscope.
>> You don't need a faulty device, just an aborted I2C read/write op.
> If you can wire GPIOs to the bus, you can use the I2C fault injector:
>
> Documentation/i2c/gpio-fault-injection.rst
>
> There are already two "incomplete transfer" injectors.
>
Just giving this thread a poke. I have been looking at my options for
triggering an i2c recovery but haven't really had time to do much. I
think the best option given what I've got access to is a modified SFP
that grounds the SDA line but I need to find a system where I can attach
an oscilloscope (should be a few of these in the office when I can get
on-site).
I can confirm that when manually triggered the existing recovery and the
new erratum workaround produce what I'd expect to observe on an
oscilloscope.
I haven't explored Joakim's alternative recovery but I don't think that
should hold up these changes, any improvement to the existing recovery
can be done later as a follow-up.
More information about the Linuxppc-dev
mailing list