LS1043A-process about I2C bus Arbitration Lost

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LS1043A-process about I2C bus Arbitration Lost

1,079 次查看
qingshanli
Contributor I

In linux i2c driver i2c-imx.c:

if(temp & I2SR_IAL) {

    temp &= ~I2SR_IAL;

    imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR);

    return -EAGAIN;

}

Here if I2SR_IAL be 1, driver will write zero to clear it.

But in <QorIQ LS1043A Reference Manual> chapter 24.5.6, there have a line to descript IBAL: This bit must be cleared by software, by writing a one  to it. A write of zero has no effect.

So there is different desc about how to clear arbitration lost status in the driver code and reference manual. Which one is right?

0 项奖励
回复
1 回复

910 次查看
alexander_yakov
NXP Employee
NXP Employee

Sorry for delayed response.

The code is correct for i.MX processors, but not correct for LSxxxx processors.

This question is already asked, please look for example this link:

https://community.nxp.com/thread/446887


Have a great day,
Alexander
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------