This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[i2c arbitration error] when using 8bit i2c addr and 16bit data recv

 

Hi,

we are using 8bit non-stand i2c device for LED control .(our env is ti8167)

our LED device is RTL8231 and it's i2c is like belows image. we using 8bit i2c addr and read 16bit data.  

i changed i2c-omap.c

8117.i2c-omap.c
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
*
* TI OMAP I2C master mode driver
*
* Copyright (C) 2003 MontaVista Software, Inc.
* Copyright (C) 2005 Nokia Corporation
* Copyright (C) 2004 - 2007 Texas Instruments.
*
* Originally written by MontaVista Software, Inc.
* Additional contributions by:
* Tony Lindgren <tony@atomide.com>
* Imre Deak <imre.deak@nokia.com>
* Juha Yrjölä <juha.yrjola@solidboot.com>
* Syed Khasim <x0khasim@ti.com>
* Nishant Menon <nm@ti.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  and it sequeuce is write read addr -> ack -> read 8bit data -> ack -> read 8bit data-> ack

but it always occured Aribitration error.

how can i fix this issue?

any advice will be appreciated.

Thanks.