[#5275] i2c-bfin-twi timeout during multibyte block transfers

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

[#5275] i2c-bfin-twi timeout during multibyte block transfers

Submitted By: Michael Hennerich

Open Date

2009-06-18 05:56:32     Close Date

2010-02-22 10:36:07

Priority:

Medium     Assignee:

Sonic Zhang

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

trunk

Category:

N/A     Board:

EZKIT Lite

Processor:

BF548     Silicon Revision:

0.2

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

trunk     Toolchain version or rev.:

branch 2009R1

App binary format:

FDPIC     

Summary: i2c-bfin-twi timeout during multibyte block transfers

Details:

 

1) Modify i2c-bfin-twi to print a message in case a timeout occurs

2) Set SCL to 400kHz

3) Compile bf548-ezkit kernel with adxl34x i2c driver, and add user df_input from DirectFB Examples

 

root:~> modprobe evdev

root:~> modprobe adxl34x

input: ADXL34x accelerometer as /devices/platform/i2c-bfin-twi.1/i2c-adapter/i2c-1/1-0053/input/input1

adxl34x 1-0053: ADXL345 accelerometer, irq 140

 

Turn off ADXL345 Autosleep:

 

root:/> cd sys/class/input/input1/device/

root:/sys/devices/platform/i2c-bfin-twi.1/i2c-adapter/i2c-1/1-0053> echo 0 > autosleep

 

Start df_input:

 

root:/> df_input &

 

    ~~~~~~~~~~~~~~~~~~~~~~~~ DirectFB 1.2.7 |~~~~~~~~~~~~~~~~~~~~~~~~

        (c) 2001-2008  The world wide DirectFB Open Source Community

        (c) 2000-2004  Convergence (integrated media) GmbH

      ----------------------------------------------------------------

 

(*) DirectFB/Core: Single Application Core. (2009-05-27 15:03)

[1] 401 df_input

root:/> (*) Direct/Thread: Started 'VT Switcher' (405) [CRITICAL OTHER/OTHER 0/0] <12288>...

(*) Direct/Thread: Started 'Keyboard Input' (406) [INPUT OTHER/OTHER 0/0] <12288>...

(*) DirectFB/Input: Keyboard 0.9 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (407) [INPUT OTHER/OTHER 0/0] <12288>...

(*) DirectFB/Input: bf54x-keys (1) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (408) [INPUT OTHER/OTHER 0/0] <12288>...

(*) DirectFB/Input: ADXL34x accelerometer (2) 0.1 (directfb.org)

(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)

(*) DirectFB/Core/WM: Default 0.3 (directfb.org)

(*) FBDev/Surface: Allocated 480x272 24 bit RGB24 buffer (index 0) at offset 0 and pitch 1440.

(*) FBDev/Surface: Allocated 480x272 24 bit RGB24 buffer (index 0) at offset 0 and pitch 1440.

(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.

(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.

 

root:/>TIMEOUT!

TIMEOUT!

TIMEOUT!

TIMEOUT!

 

 

 

From time to time you will notice a timeout.

It is kind of interesting that when using event_test this timeout is less likely to occur.

I guess df_input influences overall software timing, but is not related to the lost interrupt directly.

 

Follow-ups

 

--- Sonic Zhang                                              2009-09-13 22:32:55

Fixed. Enlarge i2c timeout in case schedule delays.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes