[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