On Sat, Nov 03, 2012 at 18:34:30, Kevin Hilman wrote: [...] > >> > >> Doesn't this also mean that you won't get timer wakeups > >> in idle? Or are you keeping the domain where the clockevent is > >> on during idle? > >> > > > > The lowest idle state that we are targeting will have MPU powered > > off with external memory in self-refresh mode. Peripheral domain > > with the clockevent will be kept on. > > Is this a limitation of the hardware? or the software? > Well, making the lowest idle state same as the suspend state will require us to involve WKUP_M3 in the idle path and wakeup sources get limited to the IPs in the WKUP domain alone. There's no IO daisy chaining in AM33XX so that's one big difference compared to OMAP. The other potential problem is that the IPC mechanism that we have uses interrupts. Assuming that the lowest idle state, say Cx, is the same as the suspend state, we'll need to communicate with the WKUP_M3 using interrupts once we decide to enter Cx. I am not sure if we can do something in the cpuidle implementation to work around the "interrupt for idle" problem. We could probably not wait for an ACK when we want to enter Cx, but the problem of limited wakeup sources remains. If we let the various drivers block the entry to Cx, since almost all the IPs are in the peripheral domain a system which uses anything other than UART and Timer in WKUP domain will probably never be able enter Cx. Regards, Vaibhav -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html