I2C errors appeared with multiple usb devices

Jump to: navigation, search
Revision as of 7 March 2019 at 08:03.
This is the thread's initial revision.

With multiple USB devices connected environment, I2C bus error occur when operating I2C device. We observed the following two patterns.

Pattern 1: [ 133.082741] i2c-rcar e66d8000.i2c: error -11 : f

Arbitration lost occurs on the I2C bus, and rcar_i2c_master_xfer() fails with EAGAIN. When an I2C interrupt occurs, bit 5 (Master Arbitration Lost) of the Master Status Register (ICMSR) is set.

Pattern 2: [ 183.453555] i2c-rcar e66d8000.i2c: error -110 : 13

I2C device access timeout occurs and rcar_i2c_master_xfer () fails with ETIMEDOUT. Timeout occurs because the Master Stop Transmitted bit of the Master Status Register (ICMSR) is not set.

Although the causal relationship between the USB devices and the I2C bus is unclear, it seems that the hardware is detecting an abnormality. (From Master Status Register (ICMSR))

[ Reproduce environment ] Renesas bsp 3.15 Rcar M3 StarterKit + KF-M06

M3 USB2.0(CN 5) <-------> USBHUB <----> USB WIFI

                                                           <----> USB MEMORY * 2
                                                           <----> USB mouse dongle

KF-M06(CN 29) <--------> CMOS Camera

When CMOS camera is operated (capture), I2C bus error occurs probability as below. pattern1: 1/10. pattern2: 1/2.

Thanks, WN

    01:03, 7 March 2019