[#7307] Fail to wake up through uart in bf561-ezkit smp kernel

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

[#7307] Fail to wake up through uart in bf561-ezkit smp kernel

Submitted By: Vivi Li

Open Date

2012-09-03 05:42:31     Close Date

2012-09-13 04:54:39

Priority:

Medium     Assignee:

steven miao

Status:

Closed     Fixed In Release:

N/A

Found In Release:

N/A     Release:

Category:

N/A     Board:

N/A

Processor:

BF561     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.3-2012_Aug_09

App binary format:

N/A     

Summary: Fail to wake up through uart in bf561-ezkit smp kernel

Details:

 

Fail to wake up through uart in bf561-ezkit smp kernel.

 

Last passed version:

--

kernel:    Linux release 3.3.0-ADI-2012R1-pre-00788-g8c6374f, build #657 SMP Wed Jul 25 20:35:46 GMT 2012

toolchain: bfin-uclinux-gcc release gcc version 4.3.5 (ADI-trunk/svn-5764)

user-dist: release svn-10742, build #6034 Wed Jul 25 20:33:52 GMT 2012

--

 

--

U-Boot 2011.09-svn2739 (ADI-2011R1) (Nov 07 2011 - 18:54:48)

 

CPU:   ADSP bf561-0.3 (Detected Rev: 0.5) (bypass boot)

Board: ADI BF561 EZ-Kit Lite board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 600 MHz, Core: 600 MHz, System: 100 MHz

RAM:   64 MiB

Flash: 8 MiB

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   SMC91111-0

Hit any key to stop autoboot:  0

bfin> set bootargs root=/dev/mtdblock0 rw ip=10.100.4.50 earlyprintk=serial,uart0,57600 console=ttyBF0,57600

bfin> set serverip 10.100.4.174

bfin> set ipaddr 10.100.4.50

bfin> saveenv

Saving Environment to Flash...

Un-Protected 1 sectors

Erasing Flash...

. done

Erased 1 sectors

Writing to Flash... 9....8....7....6....5....4....3....2....1....done

Protected 1 sectors

bfin> printenv ethaddr

ethaddr=00:E0:22:FE:BA:29

bfin> tftpboot 0x2000000 uImage

SMC91111: MAC 00:e0:22:fe:ba:29

Using SMC91111-0 device

TFTP from server 10.100.4.174; our IP address is 10.100.4.50

Filename 'uImage'.

Load address: 0x2000000

Loading: #################################################################

         #################################################################

         #################################################################

         #################################################################

         ###########

done

Bytes transferred = 3976047 (3cab6f hex)

bfin> run addip

bfin> bootm

## Booting kernel from Legacy Image at 02000000 ...

   Image Name:   bf561-0.5-3.5.0-ADI-2012R1-pre-0

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    3975983 Bytes = 3.8 MiB

   Load Address: 00001000

   Entry Point:  001e1214

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 001e1214

Linux version 3.5.0-ADI-2012R1-pre-00831-g3fee378 (test@uclinux65-561-SMP) (gcc version 4.3.5 (ADI-2012R1-RC2) ) #54 SMP Sun Sep2

register early platform devices

bootconsole [early_shadow0] enabled

bootconsole [early_BFuart0] enabled

early printk enabled on early_BFuart0

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x0014de78

  rodata    = 0x0014de80-0x001b24dc

  bss       = 0x001b3000-0x001c4d44

  data      = 0x001c4d60-0x001da000

    stack   = 0x001d8000-0x001da000

  init      = 0x001da000-0x00780000

  available = 0x00780000-0x03f00000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace active and enabled

Boot Mode: 0

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

Compiled for ADSP-BF561 Rev 0.5

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

Processor Speed: 600 MHz core clock and 100 MHz System Clock

NOMPU: setting up cplb tables

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

PERCPU: Embedded 7 pages/cpu @00805000 s5440 r8192 d15040 u32768

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

Kernel command line: root=/dev/mtdblock0 rw ip=10.100.4.50 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50:10f

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: 56192k/65536k RAM, (5784k init code, 1331k kernel code, 561k data, 1024k dma, 644k reserved)

Hierarchical RCU implementation.

NR_IRQS:153

Configuring Blackfin Priority Driven Interrupts

console [ttyBF0] enabled, bootconsole disabled

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 1185.79 BogoMIPS (lpj=2371584)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

Booting Core B.

Instruction Cache Enabled for CPU1

  External memory: cacheable in instruction cache

  L2 SRAM        : uncacheable in instruction cache

Data Cache Enabled for CPU1

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

  L2 SRAM        : uncacheable in data cache

Brought up 2 CPUs

SMP: Total of 2 processors activated (2371.58 BogoMIPS).

Blackfin Scratchpad data SRAM: 4 KB

Blackfin Scratchpad data SRAM: 4 KB

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

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

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

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

Blackfin L1 Instruction SRAM: 16 KB (15 KB free)

Blackfin L1 Instruction SRAM: 16 KB (15 KB free)

Blackfin L2 SRAM: 128 KB (127 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

ezkit_init(): registering device resources

bio: create slab <bio-0> at 0

bfin-spi bfin-spi.0: master is unqueued, this is deprecated

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

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: 2, 16384 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP: reno registered

UDP hash table entries: 256 (order: 1, 8192 bytes)

UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)

NET: Registered protocol family 1

debug-mmrs: setting up Blackfin MMR debugfs

msgmni has been set to 109

io scheduler noop registered (default)

bfin-uart: Blackfin serial driver

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

brd: module loaded

physmap platform flash device: 00800000 at 20000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000020 Chip ID 0x0022ed

Amd/Fujitsu Extended Query Table at 0x0040

  Amd/Fujitsu Extended Query version 1.3.

physmap-flash.0: Swapping erase regions for top-boot CFI table.

number of CFI chips: 1

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

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

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

0x000000200000-0x0000007f0000 : "file system(nor)"

0x0000007f0000-0x0000007fe000 : "config(nor)"

0x0000007fe000-0x000000800000 : "u-boot env(nor)"

smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@fluxnic.net>

eth0: SMC91C11xFD (rev 2) at 2c010300 IRQ 82 [nowait]

eth0: Ethernet addr: 00:e0:22:fe:ba:29

bfin_wdt: initialized: timeout=20 sec (nowayout=0)

TCP: cubic registered

NET: Registered protocol family 17

smc91x smc91x.0: eth0: link down

smc91x smc91x.0: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

IP-Config: Complete:

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

     host=bf561-ezkit, domain=, nis-domain=(none)

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 5784k 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.18.4 (2012-09-01 20:03:51 GMT) hush - the humble shell

 

root:/> echo enabled > /sys/class/tty/ttyBF0/power/wakeup

root:/> cat /sys/class/tty/ttyBF0/power/wakeup

enabled

root:/> echo standby > /sys/power/state

PM: Syncing filesystems ... done.

Freezing user space processes ... (elapsed 0.01 seconds) done.

Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

Suspending console(s) (use no_console_suspend to debug)

 

PM: suspend of devices complete after 4.000 msecs

PM: late suspend of devices complete after 0.001 msecs

PM: noirq suspend of devices complete after 0.001 msecs

Disabling non-boot CPUs ...

Enabling non-boot CPUs ...

Booting Core B.

Instruction Cache Enabled for CPU1

  External memory: cacheable in instruction cache

  L2 SRAM        : uncacheable in instruction cache

Data Cache Enabled for CPU1

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

  L2 SRAM        : uncacheable in data cache

CPU1 is up

PM: noirq resume of devices complete after 4.000 msecs

PM: early resume of devices complete after 0.001 msecs

smc91x smc91x.0: eth0: link down

PM: resume of devices complete after 56.000 msecs

Restarting tasks ... done.

------------[ cut here ]------------

kernel BUG at kernel/fork.c:595!

Kernel panic - not syncing: BUG()

Hardware Trace:

   0 Target : <0x00004524> { _trap_c + 0x0 }

     Source : <0x0000b098> { _exception_to_level5 + 0xb4 } JUMP.L

   1 Target : <0x0000afe4> { _exception_to_level5 + 0x0 }

     Source : <0x0000ae88> { _bfin_return_from_exception + 0x20 } RTX

   2 Target : <0x0000ae68> { _bfin_return_from_exception + 0x0 }

     Source : <0x0000af3c> { _ex_trap_c + 0x84 } JUMP.S

   3 Target : <0x0000aeb8> { _ex_trap_c + 0x0 }

     Source : <0x0000b1b8> { _trap + 0xb4 } JUMP (P4)

   4 Target : <0x0000b15e> { _trap + 0x5a }

     Source : <0x0000b15a> { _trap + 0x56 } IF CC JUMP pcrel

   5 Target : <0x0000b13a> { _trap + 0x36 }

     Source : <0x0000b128> { _trap + 0x24 } IF CC JUMP pcrel

   6 Target : <0x0000b104> { _trap + 0x0 }

      FAULT : <0x0000db42> { ___mmdrop + 0x76 } BUG

     Source : <0x0000dae0> { ___mmdrop + 0x14 } JUMP.S

   7 Target : <0x0000dacc> { ___mmdrop + 0x0 }

     Source : <0x0002f31c> { _finish_task_switch + 0x78 } CALL pcrel

   8 Target : <0x0002f31a> { _finish_task_switch + 0x76 }

     Source : <0x0002f308> { _finish_task_switch + 0x64 } IF CC JUMP pcrel

   9 Target : <0x0002f306> { _finish_task_switch + 0x62 }

     Source : <0x0000ccba> { ___raw_smp_mark_barrier_asm + 0x52 } RTS

  10 Target : <0x0000ccb0> { ___raw_smp_mark_barrier_asm + 0x48 }

     Source : <0x0000cc66> { _put_core_lock + 0x1a } RTS

  11 Target : <0x0000cc4c> { _put_core_lock + 0x0 }

     Source : <0x0000ccac> { ___raw_smp_mark_barrier_asm + 0x44 } CALL pcrel

  12 Target : <0x0000cc9e> { ___raw_smp_mark_barrier_asm + 0x36 }

     Source : <0x0000cc9a> { ___raw_smp_mark_barrier_asm + 0x32 } IF CC JUMP pcrel

  13 Target : <0x0000cc76> { ___raw_smp_mark_barrier_asm + 0xe }

     Source : <0x0000cc4a> { _get_core_lock_noflush + 0x2e } RTS

  14 Target : <0x0000cc3c> { _get_core_lock_noflush + 0x20 }

     Source : <0x0000cc2c> { _get_core_lock_noflush + 0x10 } IF CC JUMP pcrel

  15 Target : <0x0000cc1c> { _get_core_lock_noflush + 0x0 }

     Source : <0x0000cc72> { ___raw_smp_mark_barrier_asm + 0xa } CALL pcrel

Stack info:

SP: [0x02907a84] <0x02907a84> /* kernel dynamic memory (maybe user-space) */

Memory from 0x02907a80 to 02908000

02907a80: 00805f60 [00000000] 0014bf06  02907b80  00182858  001b95c0  001b95c0  001b95c0

02907aa0: 02907acc  02907c84  000049b8  02907b80  00000001  00805f60  0000ffc0  0000c021

02907ac0: 00000021  00000013  001c9d34  00000000  0000003f  028274dc  00000000  00000001

02907ae0: 028274e8  ffe02104  0014dd9c  001c9d48  00000004  02907b2c  0002ca64  00000001

02907b00: 00000024  ffffffc0  028274e4  00000004  0000003f  00000001  00000024  ffffffc0

02907b20: 00046f16  00000000  00000004  ffe02104  0014dd9c  02013bc0  001c9d34  02827400

02907b40: 000c06ba  001c9d34 <000446a2> 0000003f  001c9ce0  00000004  0000b09c  001b5068

02907b60: ffe02014  00008008  0000c021  00000000  001c7fb0  0207ad94  0207ad60  00000480

02907b80: 00000480  00008008  0000c021  00000000  02907c5c  00000480  0000db42  0002f320

02907ba0: 001cee90  02003065  00066d54  000b5704  00066d44  000b5704  00000000  00000000

02907bc0: 00000004  00000000  00000004  00000000  00000000  00000000  00000000  0000003c

02907be0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02907c00: 0000007d  00000000  001ba2ac  001c6b14  02af48f4  02907c84  0080df60  001cee90

02907c20: 00805f60  001cee90  001ceeb4  feb00000  00000000  001cee90  00000000  001c7fb0

02907c40: 00000000  0000001f  00000000  001cee90  001cee90  feb00000  00000006  feb00000

02907c60: 001ceeb4  00000000  00000000  0002f320  0080df60  0203fd60  00000000  0208b040

02907c80: 0207ad60 <02907cbc> 0014d284  ffe05000  0207ad60  0077ef60  0208b040  00000001

02907ca0: 00000000  02907df4  0000000b  02906008  02906000  02906000  0077ef60  02906000

02907cc0: 000387c8  0208b040  02906000  02906000  00000000  001b5000  00000001  001c0425

02907ce0: 029e67bc  0000c76a  0000b67e  00000000  02907e48  0001d686  02906000  02906000

02907d00: 0207f060  0208b040  02098aa0  0000000b  02906000  00000000  00000000  02908000

02907d20: 02a922f8  00067350  02906000  00000007  0207f564  02907edc  00002df8  02906000

02907d40: 0000013c  02907f24  00000000  ffffe000  0000000b  0000fffe  00000000  02907ec8

02907d60: 02907f24  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02907d80: 00000000  00000000  00000004  00000000  02af4ec4  028643e0  00000002  0000cdce

02907da0: 0006fda6  029e67bc  0201f280  00000000  0000cdce  00074d5a  02907df4  02909d60

02907dc0: 02907e6e  0000007c  0013f6e4  029e67bc  02909d60  02907e6e  00000000  00000002

02907de0: 02907df4  0013f6e4  0000cdce  000001a4  02909d60  0000cdce  0013e718  0013e904

02907e00: 02909040  02907e6c  02ad5310  0013fd70  02ad5310  0013fd70  00000090  00061014

02907e20: 020033e0  00000002  000e8bea  02907e30  00000000  000e8bea  02af4900 <000e97a8>

02907e40: 02908620  02907e6c  02aea730  02ad5310  00000010  00000090  000003ff  0006e978

02907e60: 0000000b  0006f292  00000802  642f0001  6c2f7665  0000676f  00000000  feb00000

02907e80: 027c7900  0000ffff  00000001  00000003  00000003  0006a86e  00000003  00000000

02907ea0: 00000003  027c78c0  0209a794  00000802  0000cdce  0006b0f2  0209a780  00060f66

02907ec0: 000ea5a4  00000149  00000003  0006b26c  0006b284  0209a780  00000004  02af4900

02907ee0: 00003a92  02906000  0000013c  02aea730  02907f24  ffffe000  0000000b  0000fffe

02907f00: 00000000  ffffe000  0000000b  0000b34c  00000002  ffffe000  00000003  000003ff

02907f20: 00067350  02a922f8  00008000  00000000  00000000  02908000  02a922f8  02a922f8

02907f40: 02a888e0  0000bad8  02001025  02a8b7ed  02a8c7b3  02a8b7ec  02a8c7b2  00000000

02907f60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02907f80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

02907fa0: 00000004  00000000  02af4ec4  02aea730  02af489c  02af48f4  02af4900  02ae90a0

02907fc0: 02ae9950  02aea730  02ae994c  0000001f  0000013c  00000003  00000002  0000000b

02907fe0: 000003ff  00000003  00000010  02ad5310  00000000  00000003  0000013c  00000006

Return addresses in stack:

    address : <0x000446a2> { _generic_handle_irq + 0x2a }

    address : <0x02907cbc> /* kernel dynamic memory (maybe user-space) */

    address : <0x000e97a8> { _sys_connect + 0x54 }

CPU0: stopping

Hardware Trace:

   0 Target : <0x0014be48> { _dump_stack + 0x0 }

   1 Target : <0x0000c8bc> { _ipi_handler_int1 + 0x98 }

     Source : <0x0014c10e> { _printk + 0x26 } RTS

   2 Target : <0x0014c10a> { _printk + 0x22 }

     Source : <0x0001122a> { _vprintk_emit + 0x16a } RTS

   3 Target : <0x00011220> { _vprintk_emit + 0x160 }

     Source : <0x000111f6> { _vprintk_emit + 0x136 } IF CC JUMP pcrel (BP)

   4 Target : <0x000111ee> { _vprintk_emit + 0x12e }

     Source : <0x0000ce26> { ___raw_spin_unlock_asm + 0x16 } RTS

   5 Target : <0x0000ce24> { ___raw_spin_unlock_asm + 0x14 }

     Source : <0x0000cc66> { _put_core_lock + 0x1a } RTS

   6 Target : <0x0000cc4c> { _put_core_lock + 0x0 }

     Source : <0x0000cd96> { _end_lock_coherent + 0x20 } JUMP.S

   7 Target : <0x0000cd76> { _end_lock_coherent + 0x0 }

     Source : <0x0000ce20> { ___raw_spin_unlock_asm + 0x10 } CALL pcrel

   8 Target : <0x0000ce18> { ___raw_spin_unlock_asm + 0x8 }

     Source : <0x0000cc18> { _get_core_lock + 0x40 } RTS

   9 Target : <0x0000cbfc> { _get_core_lock + 0x24 }

     Source : <0x0000cbec> { _get_core_lock + 0x14 } IF CC JUMP pcrel

  10 Target : <0x0000cbe7> { _get_core_lock + 0xf }

     Source : <0x0000cbfa> { _get_core_lock + 0x22 } JUMP.S

  11 Target : <0x0000cbd8> { _get_core_lock + 0x0 }

     Source : <0x0000ce14> { ___raw_spin_unlock_asm + 0x4 } JUMP.L

  12 Target : <0x0000ce10> { ___raw_spin_unlock_asm + 0x0 }

     Source : <0x000111ea> { _vprintk_emit + 0x12a } JUMP.L

  13 Target : <0x000111da> { _vprintk_emit + 0x11a }

     Source : <0x00010794> { _console_trylock + 0x54 } RTS

  14 Target : <0x0001078e> { _console_trylock + 0x4e }

     Source : <0x00010752> { _console_trylock + 0x12 } IF !CC JUMP pcrel

  15 Target : <0x00010750> { _console_trylock + 0x10 }

     Source : <0x0002a8bc> { _down_trylock + 0x28 } RTS

Stack info:

SP: [0x001d9ddc] <0x001d9ddc> /* kernel dynamic memory (maybe user-space) */

Memory from 0x001d9dd0 to 001da000001d9dd0: 00000000  001d9ddc  00049030 [00000000] 0000c8c0  00000005  00000000  00000024 001d

Return addresses in stack:

    address : <0x00044ad2> { _handle_irq_event_percpu + 0x3a }

    address : <0x000446a2> { _generic_handle_irq + 0x2a }

    address : <0x00001f2c> { _cpu_idle + 0x5c }

--

 

Follow-ups

 

--- steven miao                                              2012-09-12 02:59:54

call genenric cpu_idle_exit() in cpu_die()

 

--- Vivi Li                                                  2012-09-13 05:54:09

OK, close it.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.linux.uart_wakeup    application/octet-stream    31771    Vivi Li

Outcomes