From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lubomir Popov Date: Wed, 27 Nov 2013 18:01:18 +0200 Subject: [U-Boot] OMAP3 i2c issues on IGEP, u-boot 2013.10 In-Reply-To: <5296153F.9040006@compulab.co.il> References: <20131127131929.34505e23@skate> <20131127151121.51f124e6@skate> <52960748.4020203@compulab.co.il> <20131127162839.0b7f65c3@skate> <5296153F.9040006@compulab.co.il> Message-ID: <5296174E.20805@mm-sol.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Nikita,all, On 27-Nov-13 17:52, Nikita Kiryanov wrote: > On 11/27/2013 05:28 PM, Thomas Petazzoni wrote: >> Dear Nikita Kiryanov, >> >> On Wed, 27 Nov 2013 16:52:56 +0200, Nikita Kiryanov wrote: >> >>>>> Not sure to understand your question: my paragraph above mentions the >>>>> IGEP board as being the platform on which I'm seeing this. So >>>>> indeed, a >>>>> OMAP3-based board is affected. But maybe I misunderstood your >>>>> question. >>>>> >>>> >>>> Oops, sorry, bad question :) >>>> >>>> Anybody knows if other OMAP3-based boards are affected for this >>>> issue ? >>> >>> Our boards were also affected by this, and I managed to track the >>> problem down to the zeroing of cnt register at the end of write, which >>> was not present in the original version of the driver and appears to be >>> triggering an issue that is mentioned in OMAP3 errata. >>> >>> I just posted a patch to address this problem. You can find it here: >>> http://patchwork.ozlabs.org/patch/294593/ >> >> Thanks for this patch. Unfortunately, I've applied it, and it doesn't >> fix the problem for me. I still have those I2C issues (did 3 boots of >> the IGEP boards, two of the boot failed with an endless stream of >> "i2c_read (addr phase): pads on bus 0 probably not configured >> (status=0x10)") message. >> >> Thanks, >> >> Thomas >> > > The zeroing of the cnt register also happens in other places in the > driver, and it is entirely possible that they should be removed for > OMAP3s as well. > > In my patch I removed it only for i2c_write() because the original > driver also zeroed the cnt register in I/O functions- except in > i2c_write(), and I decided to follow the original driver's lead. > > What happens if you remove all the lines that zero the cnt register? > I think you are on the right track. Tom R, I guess I have been right back in spring when proposing this to be a driver for OMAP4+ only. Best regards, Lubo