On Wed, Apr 30, 2014 at 02:24:58PM +0800, Fugang Duan wrote: > Test i2c device Maxim max44009, datasheet is located at: > http://www.maximintegrated.com/datasheet/index.mvp/id/7175 > > The max44009 support repeat operation like: > read -> repeat restart -> read/write > > The current i2c imx host controller driver don't support this > operation that causes i2c bus hang due to "MTX" is cleared in > .i2c_imx_read(). If "read" is the last message there have no problem, > so the current driver supports all SMbus operation like: > write -> repeat restart -> read/write > > IMX i2c controller for master receiver has some limitation: > - If it is the last byte for one operation, it must generate STOP > signal before read I2DR to prevent controller from generating another > clock cycle. > - If it is the last byte in the read, and then do repeat restart, it must > set "MTX" before read I2DR to prevent controller from generating another > extra clock cycle. > > The patch is to fix the issue. > > Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Applied to for-next, thanks!
Attachment:
signature.asc
Description: Digital signature