These errors can happen when the I2C bus hangs or a zero-byte transfer
is tried, but not supported. There are two kinds of timeouts:
{:error, :timeout} - Seen on Allwinner when the I2C bus is hung by a
device pulling SDA low. If the device tree/Linux isn't configured to
recover and the SDA line isn't released, then the error will continue.
{:error, :retry} - Seen on Beagleboards (TI AM335x) when the I2C bus
is hung and there's an attempt to recover the bus.
These errors can happen when the I2C bus hangs or a zero-byte transfer is tried, but not supported. There are two kinds of timeouts:
{:error, :timeout}
- Seen on Allwinner when the I2C bus is hung by a device pulling SDA low. If the device tree/Linux isn't configured to recover and the SDA line isn't released, then the error will continue.{:error, :retry}
- Seen on Beagleboards (TI AM335x) when the I2C bus is hung and there's an attempt to recover the bus.