>-----Original Message----- >From: G, Manjunath Kondaiah >Sent: Thursday, December 10, 2009 6:49 PM >To: linux-omap@xxxxxxxxxxxxxxx >Cc: G, Manjunath Kondaiah; Menon, Nishanth; Sonasath, Moiz; >Krishnamoorthy, Balaji T; Varadarajan, Charu Latha; George, Harith >Subject: [PATCH v2] 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. > >v1 : Initital version >v2 : Removed delay since time taken for disabling I2C >controller is zero > jiffies > >Tested on Zoom2 and Zoom3 > >Signed-off-by: Manjunatha GK <manjugk@xxxxxx> >Signed-off-by: George, Harith<harith@xxxxxx> Tested on 3430SDP too. Acked-by: Charulatha V <charu@xxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html