2011-07-28 04:13:09     External wake up from sleep in 2010

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

2011-07-28 04:13:09     External wake up from sleep in 2010

Shyam sundar (INDIA)

Message: 102700   

 

Hello world

 

The external wake options are not available in 2010 version of uclinux.

 

Is there any patch available, for waking up the processor from sleep through the PF pin?

 

I want to use it for BF531.

QuoteReplyEditDelete

 

 

2011-08-01 03:09:14     Re: External wake up from sleep in 2010

Aaron Wu (CHINA)

Message: 102739   

 

Looks like the wake up from GPIO option is dependent on the CPU, for example for BF548 it's available, you may check how the dependency comes, I will also check and keep you updated.

QuoteReplyEditDelete

 

 

2011-08-04 09:03:50     Re: External wake up from sleep in 2010

Shyam sundar (INDIA)

Message: 102813   

 

Hi Aaron,

 

Should I look forward for modifying the linux-2.6.x/arch/blackfin/mach-common/ints-priority.c ?

QuoteReplyEditDelete

 

 

2011-08-04 23:42:08     Re: External wake up from sleep in 2010

Aaron Wu (CHINA)

Message: 102822   

 

Comparing the BF54x and BF531 user manual I think maybe it's due to the GPIO wake up capability is not supported by BF531, you may search keyword "wake up" in the HRM for double check.

 

Also from the code we can see the GPIO wake up option depends on the BF54x only:

 

arch/blackfin/Kconfig:

 

config PM_BFIN_WAKE_GP

        bool "Allow Wake-Up from GPIOs"

        depends on PM && BF54x

        default n

        help

          Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)

          (all processors, except ADSP-BF549). This option sets

          the general-purpose wake-up enable (GPWE) control bit to enable

          wake-up upon detection of an active low signal on the /GPW (PH7) pin.

          On ADSP-BF549 this option enables the the same functionality on the

          /MRXON pin also PH7.

QuoteReplyEditDelete

 

 

2011-08-05 03:23:35     Re: External wake up from sleep in 2010

Michael Hennerich (GERMANY)

Message: 102829   

 

Please read the documentation:

 

  docs.blackfin.uclinux.org/doku.php?id=power_management_support&s[]=sleep#cause_wakeup_event_by_interrupt

 

The second method is gone

 

- You need to programm the GPIO as interrupt - and then use

 

enable_irq_wake(unsigned int irq) /* irq = IRQ_PF0 for example */

 

 

QuoteReplyEditDelete

 

 

2011-08-05 04:56:02     Re: External wake up from sleep in 2010

Aaron Wu (CHINA)

Message: 102833   

 

One more thing, when saying "external wake options", what are you trying to achieve? As Michael pointed out, blackfin has several level of power saving mode, like sleep, deeper sleep, and hibernate. All the blackfin support wake up from sleep by gpio interrupt so long as you enable_irq_wake( your irq) as Michael suggested, for wake up from hibernate, only BF548 support this, you can find more description in the wiki document and the help text in /arch/blackfin/Kconfig

QuoteReplyEditDelete

 

 

2011-08-05 05:37:27     Re: External wake up from sleep in 2010

Shyam sundar (INDIA)

Message: 102834   

 

Hi Aaron,

 

BF531 has the option of PF wakeup A and PF wakeup B.

 

I am little confused to follow the flow when I do the comparison between the implementations done in 2010 and 2009 versions.

 

In 2009 version, in the file arch/blackfin/mach-common/pm.c,the function bfin_pm_suspend_standby_enter function calls the function gpio_pm_wakeup_request. Also the same function gpio_pm_wakeup_request is being called by bfin_gpio_set_wake in the ints-priority.c file

 

Can I please get little clarity regarding this implementation in 2010?

QuoteReplyEditDelete

 

 

2011-08-05 08:21:48     Re: External wake up from sleep in 2010

Shyam sundar (INDIA)

Message: 102837   

 

Sorry,

 

I didnt see the post from Michael ! The processor will be in normal sleep mode. I referred External wake up as wake up through interrupt. So if a simple GPIO driver is available where i want to use PF5 as ,then  just  using the following statement should do the trick for waking the processor from normal sleep mode. Is it right?

 

enable_irq_wake(IRQ_PF5);

QuoteReplyEditDelete

 

 

2011-08-05 08:32:33     Re: External wake up from sleep in 2010

Michael Hennerich (GERMANY)

Message: 102838    In case the GPIO is setup as interrupt then it can be selected as wakeup

source using enable_irq_wake().

Attachments

    Outcomes