I2C communication error ( at91_i2c f8010000.i2c: controller timed out )

1 post / 0 new
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0




We encounter some i2C communication problems with our equipment designed around a SOC AT91sam9G35. The AT91SAM9G35 processor uses the PA30 and PA31 pins (i2C0) connected to pull-up resistors of 10k to provide communication with 5 circuits (ADS1015IDGSR, PCA9544APW, AT24MAC402, ADP5585ACPZ, MCP23008). The kernel often returns the messages at91_i2c f8010000.i2c: controller timed out  and the i2C port may not work after a while. It is therefore necessary to perform a restart for the processor to access the communication again. Can you help me fix the problem?


I made a small change in the driver of the kernel used (3.10-at91) to reduce errors.


The modification made is in the file i2c-at91.c

#define TWI_CLK_HZ        400000            /* max 400 Kbits/s */
#define AT91_I2C_TIMEOUT    msecs_to_jiffies(100)    /* transfer timeout */
#define AT91_I2C_DMA_THRESHOLD    8            /* enable DMA if transfer size is bigger than this threshold */



I hope you can help us fix it.

Thank you in advance,