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().