[meta-xilinx] Strange I2C problem after updating to Sumo

Peter Milne peter.milne at d-tacq.com
Sun Jan 20 09:32:40 PST 2019


Hi Mike


On 01/12/2018 09:55, Mike Looijmans wrote:
> One thing you may want to try is replace the cadence I2C driver with the generic bit-bang GPIO driver (on the same pins).
> 
> Example devicetree that does this in the kernel (you'll need to activate the bitbang gpio i2c driver in the kernel config though):
> https://github.com/topic-embedded-products/linux/blob/topic-miami/arch/arm/boot/dts/topic-miami.dtsi#L52
> 
> We have had lots of troubles with the I2C controller in the Zynq, it appears to be broken, 

In our experience, the Zynq I2C controller works really well, but it's recent driver development in i2c-cadence.c that appears to have broken it. To elaborate - we've been shipping an embedded system based on ZYNQ where the kernel was frozen at 3.14. We've shipped a number of systems since 2014, all using the Zynq I2C controller, some with large I2C trees  (8-way expander, several devices per branch, regular access taking place 24/7). No problems.

Then this month, on finally upgrading the kernel support (to 4.14), I2C started reporting errors. It would work at first, then timeout within a few minutes. On reverting the driver back to last known good, it's been fine ever since:
  
      commit c14c063459b5537731a4f2e6f308d6b37cb3eb27
      Author: Soren Brinkmann <soren.brinkmann at xilinx.com>
      Date:   Thu Apr 10 08:04:05 2014 -0700

Proof it's running from /proc/interrupts
Typical 3.14 result, uptime 48d:
57:  285270711          0       GIC  57  cdns-i2c
Now from 4.14, old driver, uptime 1d:
23:    3397876          0     GIC-0  57 Level     cdns-i2c

When time permits, we'll try bisecting to see exactly when the fault was introduced.

>and replacing the driver with a bitbang GPIO one solved all issues. In our case, the problem was with longer transfers like sending EDID tables to video encoder chips, but we've seen occasional failures on simple transfers (eeprom, hw monitors, etc) as well.

Best regards


Peter.

> 
> 
> 
> On 30-11-18 19:47, Martin Townsend wrote:
>> Hi,
>>
>> We are in the process of upgrading to Sumo which has the 4.14
>> linux-xlnx kernel and everything is working fine except for our
>> LTC-3375 regulator device driver which was working fine with the 4.9
>> kernel but with the newer kernel we are getting the following in the
>> log.
>>



More information about the meta-xilinx mailing list