aboutsummaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorManjunatha GK <manjugk@ti.com>2009-12-11 11:09:08 +0530
committerBen Dooks <ben-linux@fluff.org>2009-12-24 01:30:54 +0000
commit57eb81b14e35a14df64ac3597bc90c26ce04a9b4 (patch)
treedcc3893c4a65872428b38f773c3de0ad2d215474 /drivers/platform
parent07ac31f6f4cd558e53f6705dbe3033a7f0237eb8 (diff)
i2c-omap: OMAP3: Fix I2C lockup during timeout/error cases
Current OMAP3 I2C driver code does not follow the correct sequence for soft reset. Due to this, lock up issues are reported during timeout/error cases. This patch fixes above issue by disabling I2C controller as per OMAP3430 TRM for soft reset. As per TRM, I2C controller needs to be disabled as a first step during soft reset. Here is correct soft reset sequence: a. Ensure that the module is disabled (clear the I2Ci.I2C_CON[15] I2C_EN bit to 0). b. Set the I2Ci.I2C_SYSC[1] SRST bit to 1. c. Enable the module by setting I2Ci.I2C_CON[15] I2C_EN bit to 1. d. Check the I2Ci.I2C_SYSS[0] RDONE bit until it is set to 1 to indicate the software reset is complete. Tested on Zoom2, Zoom3, 3430SDP and 3630SDP Signed-off-by: Manjunatha GK <manjugk@ti.com> Signed-off-by: George, Harith<harith@ti.com> Acked-by: Varadarajan, Charu Latha<charu@ti.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers/platform')
0 files changed, 0 insertions, 0 deletions