[#5622] BF548 can not wake up from standby by uart interrupt

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

[#5622] BF548 can not wake up from standby by uart interrupt

Submitted By: Vivi Li

Open Date

2009-10-16 05:49:38     Close Date

2010-02-24 03:09:13

Priority:

Medium     Assignee:

Barry Song

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:

Out of Date

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.1-09r1-rc9

App binary format:

N/A     

Summary: BF548 can not wake up from standby by uart interrupt

Details:

 

BF548-ezkit can not wake up from standby mode by uart interrupt.

 

--

Linux version 2.6.31.4-ADI-2010R1-pre-svn7656 (test@uclinux61-bf548-std) (gcc version 4.1.2 (ADI svn)) #8 Fri Oct 16 07:28:39 CS9

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-0x0018bec0

  rodata    = 0x0018bec0-0x0021b094

  bss       = 0x0021c000-0x0022fcf8

  data      = 0x0022fcf8-0x00248000

    stack   = 0x00246000-0x00248000

  init      = 0x00248000-0x009d4000

  available = 0x009d4000-0x03dff000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

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-back) in data cache

  L2 SRAM        : uncacheable in data cache

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

Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000 earlyprintk=serial,uart1,57600 console=ttyBF1,57600 ip=10.100.4.50f

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

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

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

Memory available: 52852k/65536k RAM, (7728k init code, 1579k kernel code, 753k data, 2048k dma, 572k reserved)

NR_IRQS:263

Configuring Blackfin Priority Driven Interrupts

console [ttyBF1] enabled, bootconsole disabled

console [ttyBF1] enabled, bootconsole disabled

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

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 (41 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

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 103

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bf54x-lq043: FrameBuffer initializing...

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

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

smsc911x: Driver version 2008-10-21.

smsc911x-mdio: probed

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

net eth0: MAC Address: 00:e0:22:fe:bf:4e

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)"

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

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

bf54x-keys: Blackfin BF54x Keypad registered IRQ 76

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

Advanced Linux Sound Architecture Driver Version 1.0.20.

ALSA device list:

  No soundcards found.

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 2004-05-31 15:14:59 UTC (1086016499)

ata1.00: ATA-6: TOSHIBA MK4032GAX, AD101A, max UDMA/100

ata1.00: 78140160 sectors, multi 16: LBA48

ata1.00: configured for UDMA/66

blk_queue_max_hw_segments: set to minimum 1

scsi 0:0:0:0: Direct-Access     ATA      TOSHIBA MK4032GA AD10 PQ: 0 ANSI: 5

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

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

sda: sda1 sda2

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

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

IP-Config: Complete:

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

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

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 7728k 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.2 (2009-10-16 02:30:55 CST) hush - the humble shell

 

root:/> version

kernel:    Linux release 2.6.31.4-ADI-2010R1-pre-svn7656, build #8 Fri Oct 16 07:28:39 CST 2009

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

user-dist: release svn-9000, build #104 Fri Oct 16 07:27:58 CST 2009

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

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

enabled

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

PM: Syncing filesystems ... done.

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

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

Suspending console(s) (use no_console_suspend to debug)

 

(type char in console, can not wake up)

--

 

Follow-ups

 

--- Barry Song                                               2009-11-12 02:48:25

Not only serial port. BF548's PM should have crashed overall. For example:

root:/> rtcwake -s 15 -m standby

wakeup from "standby" at Thu Jan  1 02:57:54 1970

PM: Syncing filesystems ... done.

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

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

Suspending console(s) (use no_console_suspend to debug)

 

Doesn't work too.

 

 

--- Michael Hennerich                                        2009-11-12 03:03:37

Try to disable the sound drivers and try again.

 

If this doesn't help - disable the bf54x-keys driver, too.

[#5386] bf54x-keys hangs system in trunk

 

-Michael

 

 

--- Vivi Li                                                  2009-11-12 03:58:08

Power test passed in latest regression for Sleep Deeper mode.

Please try again.

 

--- Barry Song                                               2009-11-12 22:01:03

Michael,

For sound drivers, that means a soc-core bug. soc-core will call the resume of

cpu dai even when the cpu dai is not registered. soc-core uses a static link to

maintain the relationship of cpu and codec dai. Now after we move to platform

device for cpu dai, if the platform device information is not placed in

arch/blackfin/mach.../boards, cpu dai will lost the chance to registered, this

soc-core bug will be triggered. Look like I have to send a patch to soc-core

again.

Vivi,

That means I have different kernel configuration with you. Devices I select

like audio can cause rtcwake fails too.

 

 

--- Barry Song                                               2009-11-15 23:35:55

BF548's DMA doesn't support memory in sleep mode:

"When in the sleep mode, system DMA access to L1 and memory other

than L1 is not supported."

That's a difference with other chips:

"When in the sleep mode, system DMA access to L1 is not supported."

then while uart enables DMA, interrupt request is not transmitted to SIR on

BF548 since

"the transmit and receive requests are routed through the DMA

controller."

So in your uart wake-up test case, you can use PIO for UART on BF548. For other

chips whose DMA support memory, you can enable DMA.

-Barry

 

 

--- Vivi Li                                                  2009-11-16 01:46:17

My config is fine. CONFIG_SERIAL_BFIN_PIO is already set to yes.

 

This bug disappeared between Nov. 12nd and 13rd.

The last failed version is:

--

kernel:    Linux release 2.6.31.6-ADI-2010R1-pre-svn7789, build #4 Thu Nov 12

21:27:46 CST 2009

toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3679)

user-dist: release svn-9135, build #15 Thu Nov 12 21:27:07 CST 2009

--

 

The first passed version is:

--

kernel:    Linux release 2.6.31.6-ADI-2010R1-pre-svn7798, build #8 Sat Nov 14

03:57:44 CST 2009

toolchain: bfin-uclinux-gcc release gcc version 4.3.4 (ADI-trunk/svn-3679)

user-dist: release svn-9149, build #100 Sat Nov 14 03:57:08 CST 2009

--

 

--- Vivi Li                                                  2010-02-24 03:08:23

Out of date now.

Close it.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

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

Outcomes