AnsweredAssumed Answered

FMCOMMs1-ebz no-os software and XCOMM Init I2C Failed!!!

Question asked by Marchzh on Sep 10, 2014
Latest reply on Sep 19, 2014 by larsc

Hi,

      I am using Xilinx ML605, and hdl code rev1 and no-os drivers. For my project, sometimes it is success that XCOMM Init I2C success!  But when I add other hdl code in my own IP core (do not modify any code in fmcomms1's driver ip core hdl code), it always appear that XCOMM Init I2C Failed! But I am puzzled that I do not modify any code about the fmcomms1's driver code, it becomes to be "XCOMM Init I2C failed!" from "XCOMM Init I2C success!"

    When it is "XCOMM Init I2C failed!", I have tried to trace it. And I find in i2c_axi.c, function I2C_Write_axi:

 

     Line 290: while(((Xil_In32(axi_iic_baseaddr + SR)&0x80) ==0x00) && (--timeout));

 

     when "XCOMM Init I2C success!", Xil_In32(axi_iic_baseaddr + SR) will get 0xC0, where SR= 256; And when it is  "XCOMM Init I2C failed!", Xil_In32(axi_iic_baseaddr + SR) get the value 0x44 once and 0x40 in another, it is error and not the same in several times. Because it is hided about the implementations details of I2C_Write_axi, so, what is it doing in  Line 290 of i2c_axi.c, and why it is unstable and return uncertain values leading to "XCOMM Init I2C failed!" ?

 

    Thanks.

   Zhonghua He

Outcomes