[#5795] adxl through SPI is too sensitive on trunk head kernel

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

[#5795] adxl through SPI is too sensitive on trunk head kernel

Submitted By: Mingquan Pan

Open Date

2009-12-28 03:25:36     Close Date

2010-01-18 23:11:19

Priority:

Medium     Assignee:

Michael Hennerich

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

N/A     Board:

N/A

Processor:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Under Debugging

Uboot version or rev.:

    Toolchain version or rev.:

r09r1.1-2 4.1

App binary format:

N/A     

Summary: adxl through SPI is too sensitive on trunk head kernel

Details:

 

adxl through SPI fails to be detected on trunk head kernel.

 

And the settings in ezkit.c looks the same as that in wiki doc.

 

Starting Kernel at = 2a4bac

Linux version 2.6.32.2-ADI-2010R1-pre-svn8081 (test@my-local-machine) (gcc version 4.1.2 (ADI svn)) #13 Mon Dec 28 16:23:30 CST 2009

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart1] enabled

early printk enabled on early_BFuart1

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x001b7ee0

  rodata    = 0x001b7ee0-0x0025ac64

  bss       = 0x0025b000-0x0027314c

  data      = 0x0027314c-0x00290000

    stack   = 0x00290000-0x00292000

  init      = 0x00292000-0x00a3f000

  available = 0x00a3f000-0x03e00000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Reset caused by Software reset

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF548 Rev 0.2

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

  External memory: cacheable in instruction cache

  L2 SRAM        : uncacheable in instruction cache

Data Cache Enabled for CPU0

  External memory: cacheable (write-through) in data cache

  L2 SRAM        : uncacheable in data cache

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 15748

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart1,57600 console=tty0 console=ttyBF1,57600 ip=10.100.4.50:10.100.4.174:192.168.0.1:255.2f

PID hash table entries: 256 (order: -2, 1024 bytes)

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 52428k/65536k RAM, (7860k init code, 1755k kernel code, 873k data, 2048k dma, 572k reserved)

Hierarchical RCU implementation.

NR_IRQS:263

Configuring Blackfin Priority Driven Interrupts

Console: colour dummy device 80x25

Linux version 2.6.32.2-ADI-2010R1-pre-svn8081 (test@my-local-machine) (gcc version 4.1.2 (ADI svn)) #13 Mon Dec 28 16:23:30 CST 2009

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart1] enabled

early printk enabled on early_BFuart1

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x001b7ee0

  rodata    = 0x001b7ee0-0x0025ac64

  bss       = 0x0025b000-0x0027314c

  data      = 0x0027314c-0x00290000

    stack   = 0x00290000-0x00292000

  init      = 0x00292000-0x00a3f000

  available = 0x00a3f000-0x03e00000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Reset caused by Software reset

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF548 Rev 0.2

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

  External memory: cacheable in instruction cache

  L2 SRAM        : uncacheable in instruction cache

Data Cache Enabled for CPU0

  External memory: cacheable (write-through) in data cache

  L2 SRAM        : uncacheable in data cache

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 15748

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart1,57600 console=tty0 console=ttyBF1,57600 ip=10.100.4.50:10.100.4.174:192.168.0.1:255.2f

PID hash table entries: 256 (order: -2, 1024 bytes)

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 52428k/65536k RAM, (7860k init code, 1755k kernel code, 873k data, 2048k dma, 572k reserved)

Hierarchical RCU implementation.

NR_IRQS:263

Configuring Blackfin Priority Driven Interrupts

Console: colour dummy device 80x25

console [tty0] enabled

console [ttyBF1] enabled, bootconsole disabled

console [ttyBF1] enabled, bootconsole disabled

Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (16 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (42 KB free)

Blackfin L2 SRAM: 128 KB (128 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

bio: create slab <bio-0> at 0

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Switching to clocksource jiffies

musb_hdrc: version 6.0, musb-dma, host, debug=0

musb_hdrc: USB Host mode controller at ffc03c00 using DMA, IRQ 82

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

dma_alloc_init: dma_page @ 0x02062000 - 512 pages at 0x03e00000

hub 1-0:1.0: 1 port detected

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

Slow work thread pool: Starting up

Slow work thread pool: Ready

msgmni has been set to 102

io scheduler noop registered

io scheduler anticipatory registered (default)

bf54x-lq043: FrameBuffer initializing...

Console: switching to colour frame buffer device 80x24

bfin-otp: initialized

bfin-uart: Blackfin serial driver

bfin-uart.1: ttyBF1 at MMIO 0xffc02000 (irq = 48) is a BFIN-UART

brd: module loaded

register bfin atapi driver

scsi0 : pata-bf54x

ata1: PATA max UDMA/66 irq 68

physmap platform flash device: 02000000 at 20000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Using buffer write method

Using auto-unlock on power-up/resume

cfi_cmdset_0001: Erase suspend on write enabled

RedBoot partition parsing not available

Using physmap partition information

Creating 3 MTD partitions on "physmap-flash.0":

0x000000000000-0x000000040000 : "bootloader(nor)"

0x000000040000-0x000000440000 : "linux kernel(nor)"

0x000000440000-0x000001000000 : "file system(nor)"

BF5xx on-chip NAND FLash Controller Driver, Version 1.2 (c) 2007 Analog Devices, Inc.

bf5xx-nand bf5xx-nand.0: page_size=256, data_width=8, wr_dly=3, rd_dly=3

NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)

Creating 2 MTD partitions on "NAND 256MiB 3,3V 8-bit":

0x000000000000-0x000000400000 : "linux kernel(nand)"

0x000000400000-0x000010000000 : "file system(nand)"

m25p80 spi0.1: m25p16 (2048 Kbytes)

Creating 2 MTD partitions on "m25p80":

0x000000000000-0x000000040000 : "bootloader(spi)"

ata1.00: ATA-7: FUJITSU MHW2040AT, 0000000B, max UDMA/100

ata1.00: 78140160 sectors, multi 16: LBA

0x000000040000-0x000000200000 : "linux kernel(spi)"

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@4

bfin-spi bfin-spi.1: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc02300, dma channel@5

ata1.00: configured for UDMA/66

blk_queue_max_hw_segments: set to minimum 1

scsi 0:0:0:0: Direct-Access     ATA      FUJITSU MHW2040A 0000 PQ: 0 ANSI: 5

smsc911x: Driver version 2008-10-21.

smsc911x-mdio: probed

sd 0:0:0:0: [sda] 78140160 512-byte logical blocks: (40.0 GB/37.2 GiB)

eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)

net eth0: MAC Address: 00:e0:22:fe:bd:b8

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

sda:

USB Mass Storage support registered.

 

input: bf54x-keys as /devices/platform/bf54x-keys/input/input0

adxl34x spi1.2: Failed to probe ADXL34x accelerometer

 

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

i2c /dev entries driver

i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc00700

i2c-bfin-twi i2c-bfin-twi.1: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc02200

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

bfin-sdh bfin-sdh.0: unable to request DMA channel

bfin-sdh: probe of bfin-sdh.0 failed with error -16

usbcore: registered new interface driver usbhid

usbhid: v2.6:USB HID core driver

Advanced Linux Sound Architecture Driver Version 1.0.21.

dma rx:0 tx:1, err irq:10, regs:ffc00800

AD1980 SoC Audio Codec

asoc: AC97 <-> bf5xx-ac97 mapping ok

ALSA device list:

  #0: bf5xx-board (AD1980)

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-01 13:28:32 UTC (48512)

sda1 sda2

sd 0:0:0:0: [sda] Attached SCSI disk

net eth0: SMSC911x/921x identified at 0x24000000, IRQ: 175

IP-Config: Gateway not on directly connected network.

Freeing unused kernel memory: 7860k freed

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            - http://blackfin.uclinux.org/

\    YP"    `| 8P  `.          - http://docs.blackfin.uclinux.org/

/     \.___.d|    .'           - http://www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    - http://www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.15.3 (2009-12-28 12:48:20 CST) hush - the humble shell

 

root:/> version

kernel:    Linux release 2.6.32.2-ADI-2010R1-pre-svn8081, build #13 Mon Dec 28 16:23:30 CST 2009

toolchain: bfin-uclinux-gcc release gcc version 4.1.2 (ADI svn)

user-dist: release svn-9313, build #6 Mon Dec 28 16:22:28 CST 2009

 

Follow-ups

 

--- Mingquan Pan                                             2009-12-28 04:39:37

After jump on STAMP ENABLE and JP7, adxl spi can be detected now.

 

input: ADXL34x accelerometer as

/devices/platform/bfin-spi.1/spi1.2/input/input1

adxl34x spi1.2: ADXL346 accelerometer, irq 140

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

 

But it is just too sensitive with this bf548-ezkit board. Just put it on desk,

event_test would roll out continuous detected event . And if CTRL-C in middle ,

then kernel would stuck for a while through it could be alive back after that.

 

vent: time 43993.344000, type 0 (Reset), code 0 (Reset), value 0

Event: time 43993.348000, type 3 (Absolute), code 1 (Y), value 6

Event: time 43993.348000, type 0 (Reset), code 0 (Reset), value 0

Event: time 43993.468000, type 3 (Absolute), code 0 (X), value 18

Event: time 43993.468000, type 3 (Absolute), code 1 (Y), value -4

Event: time 43993.468000, type 3 (Absolute), code 2 (Z), value 240

Event: time 43993.468000, type 0 (Reset), code 0 (Reset), value 0

Event: time 43993.592000, type 3 (Absolute), code 1 (Y), value -3

Event: time 43993.592000, type 3 (Absolute), code 2 (Z), value 232

Event: time 43993.592000, type 0 (Reset), code 0 (Reset), value 0

Event: time 43993.592000, type 3 (Absolute), code 1 (Y), value -2

Event: time 43993.592000, type 0 (Reset), code 0 (Reset), value 0

Event: time 43993.712000, type 3 (Absolute), code 0 (X), value 0

Event: time 43993.712000, type 3 (Absolute), code 1 (Y), value 14

Event: time 43993.712000, type 3 (Absolute), code 2 (Z), value 210

Event: time 43993.712000, type 0 (Reset), code 0 (Reset), value 0

Event: time 43993.836000, type 3 (Absolute), code 1 (Y), value 0

Event: time 43993.836000, type 3 (Absolute), code 2 (Z), value 218

 

CTRL-C here, kernel would stuck.

 

And then live and print like:

 

Event: time 43994.200000, type 0 (Reset), code 0 (Reset), value 0

^CINFO: task events/0:5 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

events/0      D ffa00928     0     5      2 0x00000000

Stack info:

SP: [0x02029e60] <0x02029e60> /* kernel dynamic memory */

FP: (0x02029ebc)

Memory from 0x02029e60 to 0202a000

02029e60:[00000000] 02019040  02019600  02a6e060  002758cc  00000002  02028000

02029e98

02029e80:<001b6d94> 00000000  00000000  02029e94  02028000  02028000

02a84bdc <001b7794>

02029ea0: 02a84bdc  02019040  00274630  ffffffff  0000003f  00000002  ffffffc0

(00000000)

02029ec0:<00130414> 02a84bc0  02a84be0  02a84be0  02019040  02028000

<0012f7d2> 02a84bc0

02029ee0: 02029f30  00130244  02a84bdc  00000009  00000000  00000000  00000000

000000f2

02029f00: 00000000  02029f08  0018fffc  000000d6 <0012f9be> 02a84bc0

02a84bc0  00000001

02029f20: 00000002  00000009  00000000  00000000  02001a40  02a83f80  02aa1d1c

<001302ec>

02029f40: 02a84bc0  02a84be8  00000001  00000000  00000006  02a83f80

<0001c8fc><0001c8fc>

02029f60: 02a84bcc  02001a40  00274630  02029fa4  02028000  00000000

<0001cdd6> 02001a40

02029f80: 00000000 <0001cdba> 02001a40  0001cd68  00000000  02001a48

0000ffff  02028000

02029fa0: 02028000  00000000  02019040  0001f564  02029fb0  02029fb0

<0001f3b2> 0201bf40

02029fc0: 02001a40  00000000  00000000  0001f358  00001490  00000000  00000000

02029fdc

02029fe0: 02029fdc <00001496> 00000000  00000000  00000000  00000000

ffffffff  00000006

Return addresses in stack:

    address : <0x001b6d94> { _schedule + 0x168 }

    address : <0x001b7794> { ___mutex_lock_slowpath + 0x64 }

   frame  1 : <0x00130414> { _adxl34x_spi_read_block + 0x20 }

    address : <0x0012f7d2> { _adxl34x_get_triple + 0x26 }

    address : <0x0012f9be> { _adxl34x_service_ev_fifo + 0x12 }

    address : <0x001302ec> { _adxl34x_work + 0xa8 }

    address : <0x0001c8fc> { _run_workqueue + 0x6c }

    address : <0x0001c8fc> { _run_workqueue + 0x6c }

    address : <0x0001cdd6> { _worker_thread + 0x6e }

    address : <0x0001cdba> { _worker_thread + 0x52 }

    address : <0x0001f3b2> { _kthread + 0x5a }

    address : <0x00001496> { _kernel_thread_helper + 0x6 }

INFO: task event_test:407 blocked for more than 120 seconds.

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this

message.

event_test    D ffa00928     0   407    401 0x00000002

Stack info:

SP: [0x02cb5b94] <0x02cb5b94> /* kernel dynamic memory */

FP: (0x02cb5bf8)

Memory from 0x02cb5b90 to 02cb6000

02cb5b90:<0000b198>[00000000] 02049c00  0202a900  02a6e060  002758cc

00000002  02cb4000

02cb5bb0: 02cb5bcc <001b6d94> 02cb4000  fffff3ff  004c4b40  02cb4000

02cb4000  02cb5c50

02cb5bd0:<001b729c> 02cb4000  02cb4000  02cb5c90  7fffffff  00000000

00000002  00274630

02cb5bf0: 02049c00  00000000 (02cb5c24)<0000a972> 00275900  00000041

02cb5c20  02cb5c20

02cb5c10:<0000a94e> 00000fff <001b6f22> 02cb4000  7fffffff

(00000000) 00000002  0000001f

02cb5c30: 00000000  00000000  00000000  00000001  02049c00  0000d190  02cb5c94

02cb5c94

02cb5c50: 02c55870 <0001c616> 02a84bcc  02a84acc  024b5640  00000000

00000000  00000000

02cb5c70: 02c56f14  00000006  0015538e <0000a816> 02001a41  029f9d94

02001a40  0001c818

02cb5c90: 00000000  02cb5c48  02cb5c48 <0001cab6> 00000030  02c55870

<001b7664><0012fa4a>

02cb5cb0: 02a84bc0  02a84bdc  00000000  0200e120  00000000 <0002f248>

ffff5653 <0012fac2>

02cb5cd0: 02a84bc0  02a7c764 <001b7664> ffffefff  004c4b40

<0012c51a> 02a7c000  02a7c764

02cb5cf0: 02c55870 <001b7664><00034cc2><0012e6dc> 02a84acc

02a84ac0  02a84b04 <001b7664>

02cb5d10: 00000000 <0012e720><0012e726> 02091800  02a84b04

02c56f14  02c55870 <00042f52>

02cb5d30:<00042f76> 02c56f14  02c55870  00000010  00274630

<001b76f4><0012e794> 00000003

02cb5d50: 00000000  00000000  00274630 <000408fc> 024b5640  0000003f

ffffffc0  00000000

02cb5d70: 0201de00  0000000c  00000000  00000000 <0006d9d2> 02a6e060

<00011b08> 02083f40

02cb5d90: 00000001  00000000 <0000e7f2> 02a6e060  02a6e094  02c95040

<00011b4a> 0201de00

02cb5db0: 00274630  02cb4000  00000001  00000002  02cb4000  02cb4000  0201de00

02cb4000

02cb5dd0: 00000001 <00012a6c> 02049c00  00000001  02cb5dfc

<0000b132> 0202a92c  00275900

02cb5df0:<00012bac> 02aaf040  02cb5e60  00000002  00274630  02cb4000

02cb5f24  00274630

02cb5e10:<0001a188> 02cb5f24 <001b6da2> 00000000  02049c00

02a6e060  02ccedf8 <0000319c>

02cb5e30: 02cb5f24  02cb5e60  00000000  02049e34  02cb5ee0  00000004  0000fffe

02a84ac0

02cb5e50: 02cb5ee0  02cb5e6c  00000000  02091800  00000009  00000000  00000000

00000000

02cb5e70: 00000000  0001f564  02cb5e78  02cb5e78  02abf210  00000042  02ccebe8

<000426c2>

02cb5e90:<00042750> 024b5640  00000003  00000000  02cb5ef0  02ccf9d0

00000400  00000004

02cb5eb0: 02cb5ed0  02cb5ed0  00000002  02cb5ef0  00000000

<00042a1c><000429bc> 024b5640

02cb5ed0: 00000003  02ccf9d0  00000400  00000004  0027f370  00000006  19999999

02cb5ef0

02cb5ef0: 00000000 <00003b68> 02cb4000  00000003  00000002  ffffe000

ffffe000  00000000

02cb5f10: 0000000a <ffa008ae> 0a0a0a0a  00000004  000d6a60  02cc8512

00008000  00000000

02cb5f30: 00000000  02cb6000  02cc8512  02cc8512

<02cc83da><ffa00f6c> 02003025  02cca491

02cb5f50: 02cc93c1  02cca44a  02cc93be  00000000  00000000  00000000  00000000

00000000

02cb5f70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

02cb5f90: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

02aa46dc

02cb5fb0: 02ccc8f0  02ccedec  02ccedf8  02ccfa10  02ccf9d0  00000000  02ccc8fb

02ccec74

02cb5fd0: 00000003  02ccc900  02ccc840  00000004  00000004  0a0a0a0a  00000400

02ccf9d0

02cb5ff0: fffffe00  00000003  00000003  00000006

Return addresses in stack:

    address : <0x0000b198> { _pick_next_task_fair + 0x20 }

    address : <0x001b6d94> { _schedule + 0x168 }

    address : <0x001b729c> { _schedule_timeout + 0xf4 }

   frame  1 : <0x0000a972> { _entity_tick + 0xe }

    address : <0x0000a94e> { _check_preempt_tick + 0x82 }

    address : <0x001b6f22> { _wait_for_common + 0x8a }

    address : <0x0001c616> { _wait_on_cpu_work + 0x3e }

    address : <0x0000a816> { _update_curr + 0x6e }

    address : <0x0001cab6> { ___cancel_work_timer + 0x22 }

    address : <0x001b7664> { _mutex_lock + 0xc }

    address : <0x0012fa4a> { _adxl34x_disable + 0x3a }

    address : <0x0002f248> { _rcu_check_callbacks + 0x34 }

    address : <0x0012fac2> { _adxl34x_input_close + 0x16 }

    address : <0x001b7664> { _mutex_lock + 0xc }

    address : <0x0012c51a> { _input_close_device + 0x3a }

    address : <0x001b7664> { _mutex_lock + 0xc }

    address : <0x00034cc2> { _free_hot_cold_page + 0xfe }

    address : <0x0012e6dc> { _evdev_close_device + 0x40 }

    address : <0x001b7664> { _mutex_lock + 0xc }

    address : <0x0012e720> { _evdev_release + 0x38 }

    address : <0x0012e726> { _evdev_release + 0x3e }

    address : <0x00042f52> { ___fput + 0x8e }

    address : <0x00042f76> { ___fput + 0xb2 }

    address : <0x001b76f4> { _mutex_lock_interruptible + 0xc }

    address : <0x0012e794> { _evdev_flush + 0x4c }

    address : <0x000408fc> { _filp_close + 0x38 }

    address : <0x0006d9d2> { _set_mm_exe_file + 0x32 }

    address : <0x00011b08> { _close_files + 0x90 }

    address : <0x0000e7f2> { _mmput + 0x4a }

    address : <0x00011b4a> { _put_files_struct + 0x3a }

    address : <0x00012a6c> { _do_exit + 0x104 }

    address : <0x0000b132> { _set_next_entity + 0x16 }

    address : <0x00012bac> { _do_group_exit + 0x3c }

    address : <0x0001a188> { _get_signal_to_deliver + 0x138 }

    address : <0x001b6da2> { _schedule + 0x176 }

    address : <0x0000319c> { _do_signal + 0x44 }

    address : <0x000426c2> { _vfs_write + 0xc6 }

    address : <0x00042750> { _vfs_read + 0x68 }

    address : <0x00042a1c> { _sys_write + 0x30 }

    address : <0x000429bc> { _sys_read + 0x30 }

    address : <0x00003b68> { _do_notify_resume + 0x58 }

    address : <0xffa008ae> { _system_call + 0xb6 }

    address : <0x02cc83da> /* kernel dynamic memory */

    address : <0xffa00f6c> { _evt_system_call + 0x64 }

 

--- Michael Hennerich                                        2010-01-04 04:21:48

I don't think that it's related to sensitivity.

The kernel is simply configured for the wrong interrupt on the SPI card.

 

Try this patch:

 

 

Index: arch/blackfin/mach-bf548/boards/ezkit.c

===================================================================

--- arch/blackfin/mach-bf548/boards/ezkit.c     (revision 8107)

+++ arch/blackfin/mach-bf548/boards/ezkit.c     (working copy)

@@ -1066,7 +1066,7 @@

        {

                .modalias               = "adxl34x",

                .platform_data          = &adxl34x_info,

-               .irq                    = IRQ_PC5,

+               .irq                    = IRQ_PG13,

                .max_speed_hz           = 5000000,     /* max spi clock (SCK)

speed in HZ */

                .bus_num                = 1,

                .chip_select            = 2,

 

--- Michael Hennerich                                        2010-01-14 12:17:29

Grace,

 

IRQ_PG13 is not in the default PIN2_ASSIGN/PIN2_ASSIGN.

We could certainly change that but something else would then cause problems.

I wired the ADXL346 card I sent for an BF537-STAMP board.

I would therefore do all the ADXL345/6 testing on an BF537-STAMP board.

 

 

-Michael

 

--- Mingquan Pan                                             2010-01-18 23:11:05

After shorting the R204 on BF537-STAMP as Michael indicated, and increase the

value to:

 

        .activity_threshold = 20,

        .inactivity_threshold = 15,

 

(for we are high in the building which is different from his location)

 

The adxl through SPI can work ok now.

# Booting kernel from Legacy Image at 01000000 ...

   Image Name:   bf537-2.6.32.3-ADI-2010R1-pre-sv

   Created:      2010-01-18  10:53:07 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    4732288 Bytes =  4.5 MB

   Load Address: 00001000

   Entry Point:  0019f870

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 0019f870

Linux version 2.6.32.3-ADI-2010R1-pre-svn8155 (test@my-local-machine) (gcc

version 4.1.2 (ADI svn)) #18 Mon Jan 18 18:52:52 CST 2010

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart0] enabled

early printk enabled on early_BFuart0

Limiting kernel memory to 56MB due to anomaly 05000263

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x00111eb0

  rodata    = 0x00111eb0-0x00171cf4

  bss       = 0x00172000-0x00182c24

  data      = 0x00182c24-0x00194000

    stack   = 0x00192000-0x00194000

  init      = 0x00194000-0x008d7000

  available = 0x008d7000-0x03800000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 0

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF537 Rev 0.2

Blackfin Linux support by http://blackfin.uclinux.org/

Processor Speed: 500 MHz core clock and 125 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

  External memory: cacheable in instruction cache

Data Cache Enabled for CPU0

  External memory: cacheable (write-back) in data cache

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 14224

Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000

earlyprintk=serial,uart0,57600 console=ttyBF0,57600 panic=1

ip=10.100.4.50:10.100.4.174:10.1f

PID hash table entries: 256 (order: -2, 1024 bytes)

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 47724k/65536k RAM, (7436k init code, 1091k kernel code, 521k

data, 1024k dma, 7740k reserved)

Hierarchical RCU implementation.

NR_IRQS:98

Configuring Blackfin Priority Driven Interrupts

bfin-rtc: invalid date; resetting

console [ttyBF0] enabled, bootconsole disabled

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 997.37 BogoMIPS (lpj=1994752)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (16 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (36 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

stamp_init(): registering device resources

bio: create slab <bio-0> at 0

Switching to clocksource bfin_cs_cycles

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

msgmni has been set to 93

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bfin-uart: Blackfin serial driver

bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART

brd: module loaded

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0,

regs_base@ffc00500, dma channel@7

bfin_mii_bus: probed

bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1,

mdc_clk=2500000Hz(mdc_div=24)@sclk=125MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

input: ADXL34x accelerometer as

/devices/platform/bfin-spi.0/spi0.2/input/input0

adxl34x spi0.2: ADXL346 accelerometer, irq 56

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

TCP cubic registered

NET: Registered protocol family 17

2IP-Config: Complete:tting system clock to 1970-01-01 00:00:01 UTC (1)

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf537-stamp, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 7436k freed

dma_alloc_init: dma_page @ 0x02942000 - 256 pages at 0x03f00000

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            - http://blackfin.uclinux.org/

\    YP"    `| 8P  `.          - http://docs.blackfin.uclinux.org/

/     \.___.d|    .'           - http://www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    - http://www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.15.3 (2010-01-18 18:33:20 CST) hush - the humble shell

 

root:/> PHY: 0:01 - Link is Up - 100/Full

 

root:/> event_test /dev/input/event0

Input driver version is 1.0.0

Input device ID: bus 0x1c vendor 0x0 product 0x15a version 0x0

Input device name: "ADXL34x accelerometer"

Supported events:

  Event type 0 (Reset)

    Event code 0 (Reset)

    Event code 1 (Key)

    Event code 3 (Absolute)

  Event type 1 (Key)

  Event type 3 (Absolute)

    Event code 0 (X)

      Value      0

      Min    -4096

      Max     4096

      Fuzz       3

      Flat       3

    Event code 1 (Y)

      Value      0

      Min    -4096

      Max     4096

      Fuzz       3

      Flat       3

    Event code 2 (Z)

      Value      0

      Min    -4096

      Max     4096

      Fuzz       3

      Flat       3

Testing ... (interrupt to exit)

Event: time 12.005624, type 3 (Absolute), code 0 (X), value 7

Event: time 12.005639, type 3 (Absolute), code 1 (Y), value 30

Event: time 12.005644, type 3 (Absolute), code 2 (Z), value 239

Event: time 12.005650, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.044681, type 3 (Absolute), code 0 (X), value -7

Event: time 12.044695, type 3 (Absolute), code 1 (Y), value 6

Event: time 12.044700, type 3 (Absolute), code 2 (Z), value 248

Event: time 12.044706, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.083763, type 3 (Absolute), code 0 (X), value -17

Event: time 12.083778, type 3 (Absolute), code 1 (Y), value -6

Event: time 12.083783, type 3 (Absolute), code 2 (Z), value 206

Event: time 12.083789, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.122832, type 3 (Absolute), code 0 (X), value -6

Event: time 12.122850, type 3 (Absolute), code 2 (Z), value 212

Event: time 12.122855, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.161799, type 1 (Key), code 309 (BtnZ), value 1

Event: time 12.161814, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.161817, type 1 (Key), code 309 (BtnZ), value 0

Event: time 12.161969, type 3 (Absolute), code 0 (X), value -8

Event: time 12.161976, type 3 (Absolute), code 1 (Y), value 11

Event: time 12.161981, type 3 (Absolute), code 2 (Z), value 250

Event: time 12.161987, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.201006, type 3 (Absolute), code 0 (X), value 12

Event: time 12.201020, type 3 (Absolute), code 1 (Y), value 13

Event: time 12.201029, type 0 (Reset), code 0 (Reset), value 0

Event: time 12.240077, type 3 (Absolute), code 0 (X), value 6

Event: time 12.240092, type 3 (Absolute), code 1 (Y), value 11

Event: time 12.240097, type 3 (Absolute), code 2 (Z), value 213               

                                                                          

So close.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes