Re: [PATCH v2 0/3] ARM: mediatek: Add driver for Mediatek I2C controller
From: xudong chen <hidden>
Date: 2014-11-18 10:07:21
Also in:
linux-arm-kernel, linux-i2c, lkml
From: xudong chen <hidden>
Date: 2014-11-18 10:07:21
Also in:
linux-arm-kernel, linux-i2c, lkml
On Fri, 2014-11-14 at 11:12 +0800, xudong chen wrote:
On Thu, 2014-11-13 at 19:31 +0100, Wolfram Sang wrote:quoted
quoted
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 devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html