I am trying to use power management (sleep mode) in a way that is similar
to how Android does it with timerfd and epoll. I want to enable autosleep
and use RTC wake timers (created using timerfd) that wake the system back
up and prevent sleep mode (using epoll mechanism) until the timer event is
handled and all wakelocks have been released again.
When I try using this approach, the wake timer created using timerfd does
not wake the system (however, the rtcwake command does work). I'm not sure
if this is supported by the BeagleBone kernel or not. I found the following
code references from Linux 3.12 code, but appears to be replaced with dts
and drivers/soc/ti/wkup_m3_ipc.c in Linux 3.14. Could there be something
missing from arch/arm/boot/dts/am33xx.dtsi that would enable what I need?
Reference from 3.12 source:
struct wkup_m3_wakeup_src wakeups[] = {
{.irq_nr = 35, .src = "USB0_PHY"},
{.irq_nr = 36, .src = "USB1_PHY"},
{.irq_nr = 40, .src = "I2C0"},
{.irq_nr = 41, .src = "RTC Timer"},
{.irq_nr = 42, .src = "RTC Alarm"},
{.irq_nr = 43, .src = "Timer0"},
{.irq_nr = 44, .src = "Timer1"},
{.irq_nr = 45, .src = "UART"},
{.irq_nr = 46, .src = "GPIO0"},
{.irq_nr = 48, .src = "MPU_WAKE"},
{.irq_nr = 49, .src = "WDT0"},
{.irq_nr = 50, .src = "WDT1"},
{.irq_nr = 51, .src = "ADC_TSC"},
{.irq_nr = 0, .src = "Unknown"},
};
Environment
-----------------
3.14.55-ti-r78 kernel
Debian 8.3 filesystem
rtcwake command works successfully
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/23d3c790-6165-4920-a85f-47ae17c0cbb8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.