[meta-xilinx] Zynq I2C Problem
MUGRIDGE Robin
Robin.Mugridge at oxinst.com
Mon Aug 10 03:30:01 PDT 2015
Hi,
I am using linux-xlnx 3.14 (fido) with the Zynq and have an issue with the I2C peripheral using the cdns (r1p10) module.
Our design connects to an external I2C device and we try to identify that device by reading a register from it. If the device is not connected when the read is performed, the transaction fails with "cdns-i2c e0004000.ps7-i2c: timeout waiting on completion" being output on the console. After this, all i2c transactions using the i2c0 (e0004000) peripheral fail with "Resource temporarily unavailable".
I've debugged into the cdns module and the call to wait_for_completion_timeout in cdns_i2c_process_msg returns zero (which is fine), but the SR register has the value 0x00000140 before the cdns_i2c_master_reset call and 0x00000100 afterwards. This is the bus active (BA) bit which is causing the subsequent transactions to be failed.
How can I get to reset the BA bit?
Incidentally, the cdns_i2c_master_reset method writes to the read only SR register!
I've had a look at the latest code in mainline but can't see that this would be any different.
Thanks,
Robin
___________________________________________________________________________This e-mail is confidential and is for the addressee only. Please refer to www.oxinst.com/email-statement for regulatory information.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20150810/088ee049/attachment.html>
More information about the meta-xilinx
mailing list