FAQ: [#6136] Illegal i2c bus lock upon certain transfer scenarios(2010)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#6136] Illegal i2c bus lock upon certain transfer scenarios

Submitted By: Michael Hennerich

Open Date

2010-07-23 04:12:23    

Priority:

Medium High     Assignee:

Sonic Zhang

Status:

Open     Fixed In Release:

N/A

Found In Release:

2009R1.1-RC4     Release:

Category:

Drivers     Board:

STAMP

Processor:

BF527     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

trunk

App binary format:

N/A     

Summary: Illegal i2c bus lock upon certain transfer scenarios

Details:

 

For transfer counts > 255 bytes i2c-bfin-twi sets the data

transfer counter DCNT to 0xFF indicating unlimited transfers.

It then uses a flag iface->manual_stop to manually issue the STOP condition, once the required amount of bytes are received.

 

We found that on I2C receive operation issuing the STOP condition together with a FULL RCV FIFO (2bytes)

Will cause SDA and SCL be constantly driven low.

A simple workaround is to discard the RCV FIFO before writing the STOP condition.

 

Follow-ups

 

--- Michael Hennerich                                        2010-07-23 04:27:16

I checked an temporary workaround into trunk and 2009R1 branch:

 

Discard the RCV FIFO before issuing the STOP condition.

 

--- Sonic Zhang                                              2010-08-26 01:17:15

I just add some improvement to stop receive operation immediately in last byte

rx interrupt. Also wake up waiting process only when transfer completes.

 

--- Rob Maris                                                2010-09-09 15:54:54

I'd enter this in order to point to my workaround and in order to automatically

obtain messages when something new is entered here. The pointer:

 

https://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?_forum_action=ForumMessageBrowse&thread_id=40838&action=ForumBrowse&forum_id=39

 

--- Sonic Zhang                                              2011-09-05 04:19:58

Mark fixed.

Reopen if you find new case to reproduce.

 

--- Sonic Zhang                                              2011-09-05 04:20:13

Mark fixed.

Reopen if you find new case to reproduce.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes