On Fri, 2014-11-14 at 11:12 +0800, xudong chen wrote: > On Thu, 2014-11-13 at 19:31 +0100, Wolfram Sang wrote: > > > MTK I2C HW has some limitation. > > > 1. If the i2c_msg number is more than one, STOP will be issued instead of > > > RS(Repeat Start) between each message. > > > > > > 2. Mediatek I2C controller support WRRD(write then read) mode, in WRRD > > > mode the Repeat Start will be issued between 2 messages. > > > In this driver if 2 messages is first write then read, the driver will > > > combine 2 messages using Write-Read mode so the RS will be issued between > > > the 2 messages. > > > Ex: W/R/R, driver will combine first W/R and then R. > > > > > > 3. Due to HW limitation, in this version the max transfer data length is 255 > > > in one message. > > > > This looks to me more like an SMBUS controller instead of I2C. Maybe you > > should populate smbus_xfer rather than master_xfer? > > This is the HW limitation, we will try to workaround this in the > separate patch. > Except limited RS and limited length support, our HW follow I2C protocol spec. The length is compatible with most I2C devices, only a few I2C devices need transfer more than 255 bytes. The future Mediatek IC will fix the RS and length limitation. Thanks! > > -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html