[#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 - https://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