From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Dyer Date: Tue, 26 Jul 2005 13:42:31 -0500 Subject: [U-Boot-Users] PATCH was(ack problem in common/soft_i2c.c) In-Reply-To: <42E0DABB.3030406@marekmicro.de> References: <42E0DABB.3030406@marekmicro.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 7/22/05, Thomas Kastner wrote: > Andrew Dyer wrote: > > I am working with the soft i2c code on my target and I believe > > there is a problem in the send_ack() function. > > > [snip] > > In my case changing the order to: > > > > I2C_SCL(0); > > I2C_DELAY; > > I2C_ACTIVE; > > I ported U-Boot to the AT91M55800A (ARM7DTMI) which has multi-driver > capable GPIOs, but didn't want to spend the time to change the I2C code > and left the ACTIVE/TRISTATE mechanism - and also came across the same > problem. > A 24C08 worked fine, but e.g. a ADV7181 would only give me a few > consecutive reads. > > So yes, I can confirm there is a problem and also that the above > mentioned fix is OK. > Ok, here's a patch for the queue. ChangeLog: change the sequence of events in soft_i2c.c:send_ack() to keep from incorrectly generating start/stop conditions on the bus. -- Hardware, n.: The parts of a computer system that can be kicked. -------------- next part -------------- A non-text attachment was scrubbed... Name: u-boot-soft_i2c.c-patch.diff Type: text/x-patch Size: 582 bytes Desc: not available Url : http://lists.denx.de/pipermail/u-boot/attachments/20050726/4aa76b63/attachment.bin