LS1043A-process about I2C bus Arbitration Lost

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1043A-process about I2C bus Arbitration Lost

1,085 Views
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 Kudos
Reply
1 Reply

916 Views
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!
-----------------------------------------------------------------------------------------------------------------------